Ljusjagaren

Denna lilla farkost är ute på ett omöjligt och alltid pågående uppdrag att fånga ljuset. Genom att rikta en ficklampa, exempelvis den som finns på din mobiltelefon, mot farkosten kan du få den att följa dig. Den följer nämligen alltid ljuset.

Material

  • 1 Arduino Uno
  • 1 Education-sköld
  • 2  LDR:er
  • 2 servon med kontinuerlig rotation
  • 2 1k ohms resistorer
  • 1 100 µF kondensator
  • 2 svarta labbkablar
  • 6 färgade labbkablar
  • 8 AA batterier
  • 1 AA-batterihållare
  • 1 strömkontakt
  • Ljusjagare-kit
  • 1 pingisboll

Instruktioner

  1. Fäst skölden på Arduinons ovansida.
  2. Koppla en 1k ohms resistor över kopplingsdäckets mittengap. Koppla ett ben till analoga pin A0 och det andra till GND.
  3. Koppla en LDR mellan AO och 5V. Placera den på  Ljusjagarens vänstra sida.
  4. Koppla en 1k ohms resistor över kopplingsdäckets mittengap. Koppla ett ben till A2 och det andra till GND. 
  5. Koppla en LDR mellan A2 och 5V. Placera den på Ljusjagarens högra sida.
  6. Koppla 100 µF kondensatorn mellan GND och 5V. Koppla det korta benet till GND och det långa till 5V.
  7. Koppla konstruktionen till datorn och ladda upp exemplet LightChaser.
  8. Montera Ljusjagaren.
  9. Koppla den vänstra servon till D10.
  10. Koppla den högra servon till D9.
  11. Placera elektroniken i Ljusjagaren. Gör så att båda LDR:erna pekar utåt från fordonet.
  12. Lägg batterierna i batterihållaren och koppla den till Arduinons strömkontakt.

Kod

Du hittar koden i File>Examples>EducationShield>Block4-Robots>Projects>LightChaser

Så fungerar det

  • EducationShield- och Servo-biblioteken inkluderas.
  • Wheels- och LDR-objekten deklareras, wheelssensorLeft och sensorRight.
  • setup() konfigureras och initialiseras sensorerna och servon.
  • I loop() kollar en if-sats om sensorLeft.getState() är sant. Det betyder i så fall att vänstra sensorn registrerar starkt ljus och wheels kontrolleras då att svänga vänster.
  • Om sensorRight.getState() istället är sant kontrolleras wheels att röra sig till höger.
  • Om ingen av sensorerna upptäcker starkt ljus kontrolleras wheels att röra sig framåt.
  • loop() fortsätter att upprepas.

Problemlösning

  • Hänvisa till illustrationen och dubbelkolla dina kopplingar. Var noga med att skölden och labbkablarna kopplats ordentligt.
  • Om Ljusjagaren inte rör sig mot ljuset, se referenssidan för LDR.
  • Om motorerna inte fungerar eller Ljusjagaren inte går rakt, se referenssidan för hjul.

Lär genom att göra

  • Modifiera koden så att Ljusjägaren enbart rör sig när den träffas av ljuset.
  • Förvandla Ljusjagaren till en vampyrfarkost så att den istället flyr ifrån ljuset.