Terug

Arduino 4 – Analoge Sensoren

Een knop of schakelaar zou je een digitale sensor kunnen noemen: het geeft altijd een AAN of UIT (HIGH of LOW) door aan de Arduino.
Een analoge sensor kan waarden van 0 tot 1023 geven. Denk bijvoorbeeld aan een draaiknop.

Alle analoge sensoren sluit je aan op de ANALOG IN poorten. Daar heb je er 6 van op de Arduino Uno.

  1. Sluit één voor één de sensoren aan zoals hieronder beschreven. De schakelingen die je eerder al gemaakt hebt kun je laten zitten. Ga na het aansluiten van een sensor steeds naar het hoofdstukje ‘Je sensor testen’ en test de sensor, voordat je de volgende aansluit. Kijk in de onderdelenlijst als je niet weet hoe de sensor er uit ziet.
Sensoren met 3 pootjes Sensoren met 2 pootjes
Potmeter (draaiknop) Lichtweerstand
Infrarood afstandsensor Temperatuursensor
Knock-sensor (buzzer)LET OP: In het geval van de knock-sensor heb je een 1MΩ (één MEGA-ohm) weerstand nodig.

Je sensor testen

Met File > Examples > Basic > AnalogReadSerial kun je je analoge sensor even testen. Je kunt dan zien welke waarde uit je sensor komt.
Upload deze sketch naar je Arduino en klik op om de Serial Monitor te openen.

Programmeren met een analoge sensor

  1. Ook hier kun je een if-statement gebruiken. Hier maken we gebruik van > (groter dan) en < (kleiner dan). Gebruik bij een analoge waarde nooit ==, omdat de kans dat de waarde precies klopt (gelijk is aan) heel klein is.
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  // If the analog value is higher than 512
  if ( analogRead(A0) > 512 ) {
    // turn the LED on
    digitalWrite(13, HIGH);
  } else {
    // turn the LED off
    digitalWrite(13, LOW);
  }
}

Opdracht

  1. Als dit allemaal gelukt is, kun je jezelf uitdagen door analoge sensoren toe te voegen aan de robot, of de knoppen te vervangen door sensoren. Je zou bijvoorbeeld kunnen denken aan:
    • Een robot die omdraait vóórdat hij botst (afstandssensor)
    • Een robot die naar het licht toe rijdt (twee lichtsensoren, leen er één van je medestudent)
    • Een robot die alleen wil rijden als hij aangemoedigd wordt (geluidssensor)
    • Enz. enz.