Arduinocursus Deel3 Opdrachten

From Digimaken wiki

Opdracht 3.1, servo

Sg90 servo.jpg

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

De servo heeft geen labels voor de verschillende pinnen. De bruine draad is GND (0V), de rode draad is VCC (5v) en de oranje/gele draad is de signaaldraad.

1 Sluit de servo aan (zoals hierboven aangegeven). Sluit de signaaldraad aan op pin 9 van de Arduino.

2 Als je het nog niet gedaan heb, download hier het lesmateriaal.

3 Open het voorbeeldprogramma Opdracht1a (Materiaal Arduinocursus>Voorbeeldsketches en Uitwerkingen>Week 3>Voorbeeldsketches Week 3>Opdracht1a), en upload dit programma naar de Arduino.

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

b (BONUS)

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 3.2, DHT11 sensor

DSC 0008.JPG

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).

DHT11 selecteer versie.png

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.

Opdracht 3.3, HC-SR04 (Afstandssensor)

Hc-sr04.jpg

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:

Dit principe kunnen we namaken:

a

1. Installeer de "NewPing" library. Deze library kan niet automatisch vanuit de Arduino omgeving worden geinstalleerd, dus deze zal handmatig moeten worden toegevoegd. Zie wederom het lesmateriaal van deze week om te leren hoe je dit doet.

2. Sluit de sensor aan op de Arduino. Zoals elke sensor heeft de HC-SR04 een GND en een VCC pin, maar er zijn twee data-/signaalpinnen. De ene pin heet trig en de andere heet echo. Sluit de trig pin aan op pin 2 van de Arduino en de echo op pin 3.

3. Open het voorbeeld Bestand>Voorbeelden>NewPing>NewPinExample en sla het onder een andere naam op (zodat je de code kan wijzigen).

4. Als je in de code kijkt zie je dat de TRIGGER_PIN standaard staat ingesteld op pin 12 en de ECHO_PIN op pin 11, verander dit in resp. pin 2 en pin 3.

5. Bewaar en upload de sketch.

6. Open de seriele monitor.

Als het goed is zie je nu op het scherm de afstanden verschijnen die door de sensor gemeten worden.

b

We kunnen zelf de basis van de blindegeleidehandschoen namaken: Sluit naast de HC-SR04 ook de servo aan op de Arduino. Laat de stand van de servo afhangen van de gemeten afstand.