Dit is de vierde les uit de Arduino IoT Cloud handleiding. Heb je de eerste lessen nog niet gevolgd? Bekijk deze HIER. In deze les leer je hoe je in de Arduino IoT de waarde van een HC-SR04 ultrasone afstandssensor uitlezen. Deze waardes slaan we op zodat we deze in een grafiek kunnen terugzien.
- Niveau – Beginner 20%
- Tijdsduur – 15/25Min 25%
- Kosten – €34,05 compleet 25%
Stap 1: Benodigheden
1X Arduino Nano 33 IoT
1X breadboard
4X jumper wires
1X HC-SR04
1X Breadboard voeding. (5V)
Arduino Create
Stap 2: Setup Arduino Create
Voor het project maken we een nieuwe “Thing” aan. Je kunt ook een van de “Thing”s gebruiken uit de vorige lessen. Maar om alles duidelijk te houden maken we voor dit project een nieuwe “Thing” aan. In dit project hebben we het ”Thing” Arduino-IoT-les-4-Afstand-Sensor genoemd. Als het thing is aangemaakt zetten we er een property bij. De property is in dit geval een Afstand sensor. Voor type gaan we weer voor ”Length (centimeters)”. We willen alleen gegevens uitlezen dus de permission moet op read only staan. Onder aan de pagina zie je History staan. Deze selecteren we om de binnenkomende data op te slaan. Hierdoor kunnen we later een grafiek terugzien met de gemeten waardes.
Nu we de property hebben gemaakt gaan we het opbouwen en bedraden.
In de afbeelding hieronder zie je alvast wat data staan. Dit krijg je zelf pas te zien zodra de code is geüpload. In de linker afbeelding komt de actuele afstand te staan. Rechts bovenin zie je een klein grafiekje weergegeven. Als je hierop klikt krijg je de rechter afbeelding te zien. Hierin wordt de verzamelde data omgezet in een grafiek. Je kunt de laatste minuut, 30 minuten, uur, etc terug zien.
Stap 2: Bouwen en Bedraden
Nu gaan we het project in elkaar zetten.
Je begint met het plaatsen van de Arduino Nano 33 IoT op het breadboard. In het midden van het breadboard zit een gleuf. Zorg dat de pins van het board aan beide kanten van de gleuf zitten zoals hieronder afgebeeld. De HC-SR04 heeft een 5V voeding nodig. Om de sensor constant van spanning te voorzien gebruiken we een Breadboard voeding. De HC-SR04 heeft 4 pins. De VCC wordt aangesloten op de + baan van het breadboard omdat hier nu 5V op staat. Vervolgen sluiten we de Trig (trigger) pin aan op D11. De Echo pin sluiten we aan op D12 en de GND pin op de – baan van het breadboard.
Let op! Als je de Breadboard voeding gebruikt zorg er voor dat de jumper cap op 5V staat i.p.v 3,3V.
Nu je klaar bent met het bouwen en bedraden van de schakeling kun je beginnen met het programmeren.
Stap 3: Programmeren
We programmeren de Arduino op dezelfde manier als in de vorige lessen. De code die je hiervoor gaat gebruiken staat hieronder. Als je het beter wil leren type je de code over in plaats van dat je deze kopieert en plakt. Je leert dan beter programmeren.
Als je de code hebt geschreven kun je deze uploaden naar de Arduino. Als dit gelukt is ga je terug naar de IoT Cloud, je klikt op dashboard. Als het goed is wordt er nu data weergegeven zoals in de afbeeldingen bij stap 1.
#define ULTRASONIC_TRIG_PIN 11 // pin TRIG is D11
#define ULTRASONIC_ECHO_PIN 12 // pin ECHO is D12
#include “thingProperties.h”
void setup() {
Serial.begin(9600);
delay(1500);
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
pinMode(ULTRASONIC_TRIG_PIN, OUTPUT); //De Trigger wordt gedefinieerd als output
pinMode(ULTRASONIC_ECHO_PIN, INPUT); //De Echo wordt gedefinieerd als input
}
void loop() {
ArduinoCloud.update();
long duration, Afstand_Sensor;
digitalWrite(ULTRASONIC_TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(ULTRASONIC_TRIG_PIN, HIGH); //Hiermee zenden we een ultrasoon geluid
delayMicroseconds(10); //Het zenden doen we 10 miliseconden
digitalWrite(ULTRASONIC_TRIG_PIN, LOW); //Nu stoppen we het zenden
duration = pulseIn(ULTRASONIC_ECHO_PIN, HIGH); //Hier meten we hoelang het duurt voordat we het ultrasone geluid terug krijgen.
afstand_Sensor = (duration/2) / 29.1; //Hiermee zorgen we dat de waardes in cm worden weergegeven in de IoT cloud
Serial.print(” Afstand: “); //Om zonder IoT Cloud verbinding te kunnen controleren of alles werkt weergeven we het ook in de Monitor
Serial.print(afstand_Sensor);
Serial.println(” cm”);
}
Nu weet je hoe je data van een sensor uit kunt lezen er weergeven in een grafiek.