Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Introduksjon
Zumo er en robust og kompakt Arduino-robot. Den er utformet som et shield, og et Arduino Uno-kort plasseres oppå Zumoen. Den har to motorer, og et sensorarray på undersiden som gjør at den kan følge en linje på underlaget, detektere kanter, osv. Den har også innebygd akselerometer, megnetometer og gyro. Disse kommuniserer med Arduino via I²C. I tillegg er det en trykkbryter, en LED og en buzzer.
Vi leverer ut Zumoen med Arduino Uno montert. I tillegg har vi loddet på ekstra plugger for de ledige portene, og festet to små breadboards på toppen. De portene som er lagt ut er:
- A1, analog inngang som kan brukes dersom batterinivåmåling ikke brukes.
- A4 I²C
- A5 I²C
- D2
- D3, digital inn-/ utgang som kan brukes dersom buzzeren ikke brukes.
- D6
Det er noen flere enn disse som er tilgjengelig. Pass på at du IKKE bruker noen av dem siden de allerede er i bruk.
I tillegg er +5V, +3.3V og jord lagt tilgjengelig.
Oversikt over inn-/ utganger:
Port | Beskrivelse | Merknader |
---|---|---|
D0 | Rx | Brukes til kommunikasjon med Arduino. Kan brukes til andre ting, men det må kobles ut når Arduino programmeres. |
D1 | Tx | Samme som over. |
D2 | Ledig | |
D3 | Buzzer | Buzzeren kan kobles ut og inn med jumper. Porten kan brukes til andre ting hvis buzzeren ikke skal brukes. |
D4 | Sensor Array | |
D5 | Sensor Array | |
D6 | Ledig | |
D7 | Høyre motor retning | |
D8 | Venstre motor retning | |
D9 | Høyre motor hastighet | |
D10 | Venstre motor hastighet | |
D11 | Sensor Array | |
D12 | Trykkbryter | |
D13 | Gul LED | |
A0 | Sensor Array | |
A1 | Batterinivå spenningsdeler | Denne brukes til å lese av batterinivået. Denne er valgfri, og kan brukes til andre ting. |
A2 | Sensor Array | |
A3 | Sensor Array | |
A4 | I²C SDA | Her kan utstyr som bruker I²C kobles til. |
A5 | I²C SCL | Samme som for A4. |
Lysoppmerksom Zumo
Zumo roboten har som nevnt over ganske mange innebygde sensorer. Ved å koble til noen enkle sensorer ekstra kan vi enkelt endre oppførsel. Vi har lagd to eksempler hvor Zumo roboten reagerer på lys.
PLabExamples/examples/14.Zumo/LightForwardSpeed - Et enkelt eksempel som får Zumo roboten til å endre hastighet etter hvor mye lys som når sensoren (eller "øyet").
PLabExamples/examples/14.Zumo/LightFollower - Et enkelt eksempel på hvordan Zumo roboten kan programmeres til å følge etter et lys. Her har roboten to "øyne", som direkte styrer motorene. Ved å la venstre øye styre høre motor, og høyre øye styre venstre motor får Zumo roboten en veldig insektlignende oppførsel.
Oppkobling for LightFollower
Zumo med servostyrt sonar
Vi har lagd en pdf som beskriver en måte å bygge servostyrt ultralydsensor sammen med Zumo. Det finnes naturlig nok et utall måter å gjøre dette på, vi presenterer bare en av mulighetene. I eksemplene har vi kode som kan brukes med varianter av denne konstruksjonen.
Andre eksempler i biblioteket
Vi har lagt ut ganske mange eksempler i biblioteket vårt som bruker Zumo roboten. Her følger en liste over de forskjellige eksemplene, og en kort beskrivelse på hva de gjør. Alle eksemplene finnes i PLabExamples/examples/14.Zumo/.
Eksempel | Forklaring |
---|---|
BorderDetect | Kjører framover til den treffer en kant. Da settes den i revers. |
BorderDetectTurn | Kjører framover til den treffer en kant. Da svinger den mot venstre eller høyre. |
DriveForward | Kjører rett fram i ett sekund. |
DriveRandom | Kjører og svinger "helt" tilfeldig. |
IR_Remote_Zumo | Enkel fjernkontroll av Arduino med IR fjernkontroll. |
LightFollower | Følger etter et lys. Beskrevet over. |
LightFollower_SelfCalibrating | Følger etter et lys. Inkluderer automatisk kallibrering for lysforhold. |
LightForwardSpeed | Hastighet settes av lysstyrke. Beskrevet over. |
LineFollower | Kjører langs en svart linje på lys bakgrunn. |
MotorsTest | Kjører i en trekantform. |
RawReadSerial | Leser av de ytterste refleksjonssensorene og printer dem til seriell konsoll. |
SensorCalibration | Viser hvordan refleksjonssensorene kalibreres, og printer kalibrert data til seriell konsoll. |
SensorToPortExpanderLEDs | Bruk av port expander med Zumo robot. Beskrevet under port expander siden. |
SensorToPortExpanderLEDsAdvanced | Bruk av port expander med Zumo robot. Beskrevet under port expander siden. |
SonarLEDForwardBackwards | Bruker en ultralydsensor (sonar) for å bestemme avstand. Rygger hvis noe er alt for nære. |
SonarLEDServoAvoid | Bruker en ultralydsensor (sonar) for å bestemme avstand. Sonaren beveges med en servo. Svinger hvis noe er for nære. |
SonarLEDServoTurnBorder | Bruker en ultralydsensor (sonar) for å bestemme avstand. Sonaren beveges med en servo. Svinger hvis noe er for nære eller en kant (svart teip) oppdages. |
Zumo med "øyne" som "ser" lys: