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
- D0 Kan brukes som digital inn-/ utgang men må kobles fra når programmet overføres til arduinoen.
- D1
- 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/ ledig | Kan brukes til serieport eller digital inn-/ utgang. |
D2 | Ledig/Sensor Array emitter | Skrives til av ZumoReflectanceSensorArray (via QTRSensors) som emitter pin. Emitter er vanligvis ikke koblet til, men kan på en del sensor arrayer kobles til med en jumper. For å forhindre skriving, bruk `sensorArray.init(QTR_NO_EMITTER_PIN);` eller tilsvarende `init()` metode når sensor array brukes samtidig som pinnen trengs 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 | Kan brukes til digital inn-/ utgang dersom trykkbryteren ikke brukes. |
D13 | Gul LED | Kan også brukes til digital inn-/ utgang. |
A0 | Sensor Array | |
A1 | Ledig | |
A2 | Sensor Array | |
A3 | Sensor Array | |
A4 | I²C SDA | Her kan utstyr som bruker I²C kobles til. Den kan også brukes som analog inngang eller digital inn-/ utgang. |
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: