Les 6 - Digitale sensors

Digitale sensors meet dingen in de wereld die wel of niet zo zijn. Wel beweging of geen beweging, knopje ingedrukt of niet. Ze kunnen dus niet meten hoeveel beweging of hoe hard je drukt op een knopje. Sommige sensors kunnen allebei. Bijvoorbeeld de lichtsensor heeft een D(igitale) pin voor wel of geen licht maar ook een A(naloge) pin de hoeveelheid licht tussen 0 en 1000. De D1, D2 ,D3, ... pinnen van de Arduino kunnen digitale signalen meten (aan of uit). Voor analoge signalen zijn er A0, A1, A2 enz.

Benodigdheden

  1. Arduino Uno
  2. Breadboard
  3. Digitale sensor (zoals een bewegingssensor, aanraaksensor of knopje)
  4. Weerstanden (indien nodig voor de sensor)
  5. Draadjes

Stap 1: Sensor aansluiten

$pir-module-pinout.jpg

$knopje.jpg

Stap 2: Programma schrijven

  1. Start de Arduino IDE en open een nieuw programma.
  2. Stel de variabelen in
    int sensorPin = 2;   // gebruik 2 plaats van D2
    int waarde = 0;      // voorlopig even 0
  3. Setup-functie: Met INPUT zet je de pin als ingang voor sensors. Gebruik INPUT_PULLUP voor knopjes en andere sensors die maar twee draadjes hebben.
    void setup()
    {
       Serial.begin(9600);                    // Setup de seriële communicatie
       pinMode(sensorPin, INPUT);             // Stel de sensorpin als input
    }
  4. Loop-functie:
    void loop()
    {
       waarde = digitalRead(sensorPin);       // Lees de staat van de sensor
       Serial.println(waarde);                // Print de staat naar de seriële monitor
       delay(100);                            // Wacht 0,1 seconde voor de volgende lezing
    }

Stap 3: Waarden lezen

Als het programma draait, lijkt er niks te gebeuren. Dit komt omdat we nog geen output hebben. Hoe je wel kunt zien of er iets gebeurd, is via de seriële monitor in de Arduino IDE. Deze vind je onder Tools. Je zult 1 of 0 zien wat overeenkomt met aan of uit van de sensor

Tips