Robotik och programmering

Innehållsförteckningen för sidan är följande:

  1. Python
  2. Mindstorms
  3. Mindstorms och block
  4. Mindstorms och Python
  5. Arduino
  6. Python och CanSat

Python

Python är ett programmeringsspråk som följer en engelskspråkig syntax. Eftersom man kan programmera Mindstorms ev3:orna med Python behandlar vi Python på denna kurs. Python kan man lära sig via webbsidor och programmera i deras webbapplikationer, eller så kan man skriva programmen på sin dator och köra den lokalt.

Python via Codecademy

Surfa till Codecademy och registrera dig. Leta reda på Learn Python 1, Learn Python 2 och Learn Python 3 och klara av dessa helheter.

Här på vår kurs utnyttjar vi gratismaterialet på Codecademy. Vill du lära dig mera så är det bara att betala för mera innehåll.

Python på datorn

För att komma igång med Python så följ instuktionerna på Getting Started på python.org och för att få reda på hur du installerar Python på din dator.

Mindstorms

Lego Mindstorms är en robotikbyggsats som är utvecklad av Lego. Legon är bekanta för många och det sänker tröskeln för att testa med robotik. Dessutom är sensorerna av hög kvalitet, vilket är bra då man vill bygga robotar. Lego Mindstorms kan man programmera antingen med hjäp av block eller genom att skriva Python.

Motorer kopplas till portarna A - D och sensorer till portarna 1 - 4.

Mindstorms och block

Om du inte har jobbat med robotik tidigare är Legos Mindstorms en bra inkörsport.

Börja med att göra följande.

  1. Börja med att ladda ner Mindstorms programmet till din dator och installera det.
  2. Bygg sedan ihop grundroboten, den som kan köra.
  3. Bekanta dig med programmet.
  4. Använd dig av grundroboten och få den att köra i en kvadrat.
    1. Motorer kan du styra med tre olika block.

    2. Hur skiljer sig blocken från varandra? Vad har de för fördel mot de andra och vad kan de ha för nackdel?
    3. I bilden finns markerat 1. och 2. Hur ändras motorns beteende då man ändrar på variablerna som finns under menyerna?
    4. Hur får du roboten att köra framåt och sedan svänga? Hur får du den att köra i en kvadrat utan loop och med loop-blocket? Hur får du roboten att köra oändligt många gånger i en kvadrat?
  5. Sedan tar vi och lägger till anvsåndssensorn och gyron. Ändra på programkoden så att roboten kör omkring av sig själv och undviker hinder som är närmare än 30 cm.
    1. Hur utnyttjar du gyro-sensorn för att få roboten att undvika hinder?
  6. Till nästa tar vi och bekantar oss med tryck-sensorn. Ändra roboten så att den kör omkring i 30 sekunder, undviker hinder, då man har tryckt en gång på trycksensorn.
  7. Som det sista tar vi och bekantar oss med ljus-sensorn. Ändra roboten så att den kör omkring på en bana eller så att den kör omkring på ett bord, utan att falla ner.
    1. När du använder dig av ljus-sensorn, kan du mäta värdena som den mäter. Du gör det genom att på roboten klicka dig fram i menyn där du får fram sensorernas rådata. Motsvarande data får du fram i datorns programmeringsmiljö.
    2. Hur utnyttjar du informationen som står ovan och if-satsen för att få roboten att göra det vad du vill?

Mindstorms och Python

Legos egna programmeringsmiljö blir snabbt krånglig av sig om man vill göra mera avancerade program av sig. Vill vi jobba med variabler så får vi lov att börja programmera med Pyhton.

  1. Surfra till https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3. På MicroSD korten finns färdigt EV 3 MicroPyhton Image.
  2. Bygg sedan ihop grundroboten, den som kan köra.
  3. Du behöver ladda ner och installera Visual Studio Code editorn och Lego Education EV 3 tilläggsbiblioteket.
  4. Tag och se igenom Legos egna instruktionsvideo.
  5. I videon slutet på Visual Studio Code (Steps 4-5) finns Expanding the example program. Kom igåg att göra detta!
  6. På sidan finns Download the EV3 MicroPython Getting Started Guide. Öppna den och använd den som hjälp. För att komma igång.
  7. Vid Go to the Online Documentation and Sample Programs hittar du samma dokumentation och modellprogram. Använd dig av detta som hjälp, inte så att du direkt kopierar. (:
  8. Gör en robot som klarar av följande:
    1. En robot som kör runt i en kvadrat.
    2. En robot som kör omkring och undviker hinder. Hur kan du utnyttja dig av gyro-sensorn?
    3. En robot som med hjälp av ljussensorn klarar av att följa en bana.

Arduino

Arduino är en mikrokontroller. Det betyder att Arduinon är en liten dator som man kan koppla olika komponenter till. Sedan kör Arduinon det program som finns installerat på den.

I skolan har vi Mehackits Maker Kit. Den fungerar som en bra grund då man vill gå mera in på djupet. Materialet hittar du här.

Här gäller det att bekanta sig med teorin, programmera, lösa problem och sedan få det att fungera. (:

Arduino och CanSat

Här utnyttjar vi Arduiono för att bygga en satellit, inte större än en konservburk.

Mera material kommer. (;