User guide (også som pdf)

Bibliotek og eksempelkode

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:

PortBeskrivelseMerknader
D0RxBrukes til kommunikasjon med Arduino. Kan brukes til andre ting, men det må kobles ut når Arduino programmeres.
D1Tx/ ledigKan brukes til serieport eller digital inn-/ utgang.
D2Ledig/Sensor Array emitterDenne er i utgangspunktet ledig, men kan brukes til å slå av og på sensor arrayet for å spare strøm ved hjelp av en jumper.
D3BuzzerDenne er i utgangspunktet ledig, men innebygd buzzer kan kobles inn med jumper.
D4Sensor Array 
D5Sensor Array 
D6Ledig 
D7Høyre motor retning 
D8Venstre motor retning 
D9Høyre motor hastighet 
D10Venstre motor hastighet 

D11

Sensor Array 
D12TrykkbryterKan brukes til digital inn-/ utgang dersom trykkbryteren ikke brukes.
D13Gul LEDKan også brukes til digital inn-/ utgang.
A0Sensor Array 
A1Ledig 
A2Sensor Array 
A3Sensor Array 
A4I²C SDAHer kan utstyr som bruker I²C kobles til. Den kan også brukes som analog inngang eller digital inn-/ utgang.
A5I²C SCLSamme 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/.

EksempelForklaring
BorderDetectKjører framover til den treffer en kant. Da settes den i revers.
BorderDetectTurnKjører framover til den treffer en kant. Da svinger den mot venstre eller høyre.
DriveForwardKjører rett fram i ett sekund.
DriveRandom

Kjører og svinger "helt" tilfeldig.

IR_Remote_ZumoEnkel fjernkontroll av Arduino med IR fjernkontroll.
LightFollowerFølger etter et lys. Beskrevet over.
LightFollower_SelfCalibratingFølger etter et lys. Inkluderer automatisk kallibrering for lysforhold.
LightForwardSpeedHastighet settes av lysstyrke. Beskrevet over.
LineFollowerKjører langs en svart linje på lys bakgrunn.
MotorsTestKjører i en trekantform.
RawReadSerialLeser av de ytterste refleksjonssensorene og printer dem til seriell konsoll.
SensorCalibrationViser hvordan refleksjonssensorene kalibreres, og printer kalibrert data til seriell konsoll.
SensorToPortExpanderLEDsBruk av port expander med Zumo robot. Beskrevet under port expander siden.
SensorToPortExpanderLEDsAdvancedBruk av port expander med Zumo robot. Beskrevet under port expander siden.
SonarLEDForwardBackwardsBruker en ultralydsensor (sonar) for å bestemme avstand. Rygger hvis noe er alt for nære.
SonarLEDServoAvoidBruker en ultralydsensor (sonar) for å bestemme avstand. Sonaren beveges med en servo. Svinger hvis noe er for nære.
SonarLEDServoTurnBorderBruker 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:

  • No labels