Arduinocursus Deel3 Opdrachten

From Digimaken Wiki

Revision as of 12:12, 29 June 2016 by Simon (talk | contribs)

Opdracht 1, servo

Error creating thumbnail: File missing

In deze opdracht gaan we met servo's aan de slag. Een servomotor draait geen rondjes zoals een standaard DC-motor of stappenmotor, maar het is een motor waarvan je precies de rotatie kan instellen. De toepassingen van servomotoren zijn eindeloos, maar je kan er bijvoorbeeld een tekenrobot mee maken zoals in deze video:

a

1 Sluit de servo aan op pin 9 van de Arduino.

2 Open het voorbeeldprogramma Sweep (Examples>Servo>Sweep), en upload dit programma naar de Arduino.

Als het goed is beweegt de servo nu heen en weer van 0 naar 180 graden.

b

Sluit de drukknop aan op de Arduino. Kan je nu de sketch zo aanpassen dat de servo alleen beweegt als de druknop is ingedrukt.

Opmerking: Het is het handigste om de sketch eerst onder een andere naam op te slaan (met Bestand>Opslaan als...).

c (BONUS)

Gebruik twee knopjes: als je het ene knopje indrukt beweegt de servo linksom, met het andere knopje beweegt de servo rechtsom en als ze geen van beide ingedrukt zijn dan beweegt de sensor niet.

Opdracht 2, DHT11 sensor

Error creating thumbnail: File missing

Met de DHT-sensor kan je luchtvochtigheid en temperatuur meten. Dit kan je bijvoorbeeld gebruiken om automatische klimaatcontrole mee te maken zoals in deze video:

a

1. Installeer de "DHT sensor library" van adafruit. (Zie het lesmateriaal van deze week om te leren hoe je dit doet.)

2. Sluit de DHT sensor aan op pin 2.

3. Open het voorbeeldprogramma DHTtester (Examples>DHT sensor library>DHTtester).

4. Het voorbeeldprogramma is standaard ingesteld voor een ander type sensor, de DHT22. Dit kan eenvoudig worden veranderd:

  • Bovenaan in de code staat een regel '//#define DHTTYPE DHT11'. Haal hier de commentaarstreepjes '//' weg (zodat er '#define DHTTYPE DHT11' komt te staan).
  • Op de regel eronder staat de regel '#define DHTTYPE DHT22'. Zet daar commentaarstreepjes voor (zodat er '//#define DHTTYPE DHT22' staat).

5. Sla het programma onder een andere naam op en upload het vervolgens naar de Arduino.

Als je de seriele monitor opent zie je als het goed is tekst met de temperatuur en de luchtvochtigheid verschijnen. Als je zachtjes uitademt op de sensor zal je de luchtvochtigheid en de temperatuur omhoog zien gaan.

b (BONUS)

Voor een klimaatkast kan het handig zijn om een ventilator te kunnen bedienen als de luchtvochtigheid stijgt (voor ontluchting). We hebben geen ventilator tot onze beschikking, dus we gebruiken nu even een LED.

Sluit zowel een LED als de DHT-sensor op de Arduino aan. Pas de code van het voorbeeld zo aan dat een LED aangaat als je zachtjes op DHT-sensor ademt, en weer uitgaat als de luchtvochtigheid weer gedaald is.

3, HC-SR04 (Afstandssensor)

Error creating thumbnail: File missing De HC-SR04 is een afstandssensor. Hij meet de afstand door geluidspulsen te versturen en te meten hoe lang het duurt voor deze terug komen (net als een sonar). Deze sensor kan voor van alles gebruikt worden: inbraakalarm, obstakels vermijdende robot, en bijvoorbeeld voor de blindegeleidehandschoen in de volgende video:

a

1. Installeer de "DHT sensor library" van adafruit. (Zie het lesmateriaal van deze week om te leren hoe je dit doet.)


4, Eigen modules (BONUS)

De meeste modules voor de Arduino zijn te complex om zelf eenvoudig te kunnen bouwen. Maar er zijn 2 modules die je ook zelf kan maken: De drukknopmodule en de LDR-module.

a

Gebruik een 10k weerstand en de losse drukknop om een drukknopmodule te maken op het breadboard: Zorg ervoor dat pin 4 van de Arduino 0V komt te staan als de drukknop niet is ingedrukt en 5V als de drukknop wel is ingedrukt.

Gebruik de sketch van Opdracht 1.4a om de schakeling mee te testen.

b

Gebruik een 1k weerstand en de losse LDR om een LDR-module te maken op het breadboard: Zorg ervoor dat op pin A0 van de Arduino een voltage komt te staat dat overeenkomt met de hoeveelheid licht die er op de LDR valt.

Gebruik de sketch van Opdracht 1.5a om de schakeling mee te testen.