1. Arduino Bil Arduino bilen er en selvgående liten robot. Roboten består av: En Robot base som er 3D printet 3 Litium-ion batterier En Arduino Uno Kodegenets Motorkontrollerkort Fire likestrømsmotorer og fire hjul En Ultrasonisk avstandssensor. Fire infrarøde lamper og mottakere for at roboten skal kunne følge en linje 1.1. Bygge sammen roboten Vi skal starte med å bygge sammen robotens base. Basen er en rektangulær 3D printet del med hull til både skruer og muttere. På siden av basen festes motor-festene, mens det på undersiden sitter en batteripakke som tar 3 Litium-ion batterier av typen 18650. Byggeprosessen består av 5 steg, og vi skal starte med å fullføre de første 3 nå før vi skal programmere Arduinoen litt.
Dokumentet er et foreløpig utkast 1.1.1. Steg 1 Vi starter med å skru motorfestene til basen. Til det trenger vi 4 stk. Motorfester (i metal), sammen med 8 stk M3 skruer (i egne poser, sammen med festene). Motorfestene monterer vi fast på robot-basen. Dersom basen er laget i akrylplast, er det ingen opp eller ned på platen. Om basen er 3D printet, skal motorfestene skrus fast på den helt flate siden av basen. 1 8 stk 8 stk M3 M3x16 Figur 2 Vi starter med å skru motor-festene til basen Muttere Skruer
Dokumentet er et foreløpig utkast 1.1.2. Steg 2 Det neste steget er å montere motorene fast i motorfestene. Til det trenger vi de lange M3 skruene (i posen sammen med motorfestene), samt 8 stk. M3 muttere (også i posen til festene). Her er det viktig at motorene festes slik at de er på utsiden av roboten, og at lederne på motorene peker utover (og ikke inn mot midten av robotbasen). 2 8 stk 8 stk M3 M3x25 Figur 3 Vi skrur motorene til motorfestene Muttere Skruer
Dokumentet er et foreløpig utkast 1.1.3. Steg 3 Batteriholderen monteres på undersiden av roboten. Batteriholderen festes med 4 stk. M3x10 skruer og 4stk M4 mutteren. Det spiller ingen rolle hvilken side mutteren og skruen er på. 3 2 stk 2 stk M3 M3x10 Figur 4 Vi monterer på batteriholderen Muttere Skruer
Dokumentet er et foreløpig utkast 1.1.4. Steg 4 4 Figur 5 Vi monterer motorkontrollerkortet på toppen av Arduinoen, samt alle ledninger
1.1.5. Steg 4,5 4.5 Figur 6 Ledningen fra motorene kobles på hver sin kolonne på kortet
1.1.6. Steg 5 Figur 1.1 Arduino Robot
1.2. Programmere roboten til å unngå hindringer Den første oppgaven, etter at alle ledningene er koblet på, er å få bilen til å kjøre rett fremover. For å gjøre programmeringen enklere, skal vi programmere roboten ved hjelp av Blockuino.no. Blockuino er det relativt enkelt å komme i gang med. Klosslisten - her finnes alle klossene vi kan bruke Scriptområdet - Her finnes alle klossene vi har lagt til i programmet vårt Kodeområdet - Her lages koden som vi skal overføre til Arduinoen Knapperad - Her finnes alle funksjonsknappene Figur 1.2 Vi bruker Blockuino.no for å programmere roboten Bilen styres ved at vi slår av og på signal-strømmen til portene som er koblet til kretskortet. Her må vi fortelle Arduinoen hvilke 6 porter som benyttes for å prate med motorkontrolleren, samt hvilke 2 porter som vi bruker for å kommunisere med avstandsmåleren. I tillegg må vi fortelle hvor raskt vi ønsker at bilen skal kjøre. Aller først må vi legge til 2 klosser, setup og loop. Disse klossen må vi alltid ha med når vi skal programmere Arduino.
Vi trekker ut en Setup-kloss og en Loop-kloss fra Klosslisen til Scriptområdet Legg merke til at vi får generert Arduino-koden automatisk i Kodeområdet. Figur 1.3 Vi trekker ut en Setup og en loop kloss Deretter må vi initialisere både motorkontrolleren og avstandssensoren. Det gjør vi ved å trekke ut initialiser-klossene fra Sensorer -> Ultrasonisk Sensor og Motorer -> Arduino Bil. Figur 1.3 Vi trekker ut initialiser-klosser for motorkontrolleren og avstandssensoren Deretter må vi fortelle hvilke porter kontrolleren og sensoren er koblet til.
Vi trekker ut en verdi-klosser til alle hullene i initialiserklossene Figur 1.5 Vi forteller hvilke porter komponentene våre er koblet til Vi har nå fortalt Arduinoen hvilke porter vi har koblet komponentene våre til. Deretter må vi inne i setup-klossen trekke ut to setup-klossser. En for motorkontrolleren og en for avstandssensoren. Vi trekker ut en setup kloss for hver av komponentene. Disse plasserer vi inne i setup-klossen Figur 1.6 Vi trekker ut en setup-kloss for hver av komponentene våre Nå er vi ferdig med oppsettet av Arduino roboten. Det neste vi skal gjøre da er å få bilen til å kjøre fremover. Til det trenger vi faktisk kun 2 klosser. En kloss som forteller at roboten skal
kjøre fremover, og en kloss som forteller at roboten skal vente litt før den fortsetter til neste kloss. Vi forteller motrokontrolleren at den skal kjøre fremover, før lar Arduinoen venter i 50 millisekunder på neste kommando Figur 1.7 Vi lar bilen kjøre fremover Nå kjører bilen vår fremover, men målet er jo at den skal unngå hindringer. Vi må dermed lese fra avstandssensoren og avgjøre om bilen skal svinge eller ikke. Til det trenger vi en hvis-kloss, og en sammenlikningskloss. Hvis-ellers-klossen finner vi under Styring-overskriften og sammenlikningsklossen under Operatorer-overskriften. Vi starter med å trekke ut en hvis-ellers-kloss fra styringoverskriften Trekk ut en er lik-kloss Velg mindre-enn i stedet for er lik Figur 1.7 Vi trekker ut en hvis-ellers-kloss og en sammenlikningskloss
Inne i sammenlikningsklossen skal vi sjekke om avstanden vi leser fra avstandssensoren er mindre enn 45 cm. Til det trenger vi å trekke ut en les Ultrasonisk avstand-kloss og en verdikloss. Trekk ut en Les Ultrasonisk Avstand-kloss til første hullet i sammenlikningsklossen Trekk ut en verdi-kloss og skriv tallet 45 i andre hullet i sammenlikningsklossen Figur 1.8 Vi sjekker om avstanden er mindre enn 45 cm Nå kan vi bestemme hva som skal skje når avstanden er mindre enn 45 cm. For at bilen ikke skal kollidere må vi gjøre følgende: Forteller motorkontrolleren at den skal kjøre bakover Vente litt så bilen får kjørt bakover Fortelle motorkontrolleren at den skal rotere til høyre Vente litt så bilen får rotert Som du ser er det vent-klossene som bestemmer hvor langt bilen skal rygge og hvor lenge bilen skal rotere. Vi plasserer disse fire klossen inne i hvis-delen av hvis-ellers-klossen.
Når avstanden er mindre enn 45 cm, får vi bilen til å rygge litt før vi roterer til høyre Figur 1.9 Vi rygger og roterer til høyre når avstanden fremover er mindre enn 45 cm Helt til slutt må vi fortelle bilen hva den skal gjøre inne i ellers-delen av hvis-ellers-klossen. Her kan vi rett og slett flytte de to nederste klossen inn i ellers-delen.
Vi flytter kjør fremover og vent-klossen inn i ellersdelen av hvis-ellers-klossen Den endelige koden.