Wat gaan we doen?
Het wordt tijd om wat te gaan laten bewegen. Een servo motor is daarvoor vaak heel geschikt. De servo’s die wij gebruiken zijn kleine elektromotoren met tandwielen die de snelheid verlagen maar de kracht vergroten. Bovendien kunnen ze elektronisch bestuurd worden. De standaard servo draait niet rond, maar kan maximaal 180 graden draaien. De positie wordt bepaald door de lengte van pulsen, tussen 1,25 milliseconden(0 graden) en 1,75 msec (180 graden), die de arduino naar de servo stuurt. 1,5 msec is dus 90 graden. Voor de servo besturing is een aparte ’bibliotheek’ gemaakt: software die het eenvoudiger maakt om de servo te programmeren. Bovenin de sketch wordt er verwezen naar deze bibliotheek: "#include<servo.h>". Door dit stukje programma kunnen we een getal tussen 0 en 180 invoeren om de servo tussen 0 en 180 graden te positioneren. Monteer nu de servo op het breadboard zoals op de afbeelding hiernaast. De rode draad is de 5v aansluiting. De zwarte of bruine kabel (afhankelijk van de fabrikant) gaat naar Gnd (ground) en de kabel naar de pin is geel oranje of wit. Op het breadboard is ook nog een potmeter gemonteerd, die is voor de volgende sketch, maar je kan hem alvast monteren (het middelste pootje moet aan de analoge pin 2). Upload nu de sketch Bestanden/voorbeelden/servo/sweep uit de Arduino-software. De servo moet nu zo’n 180 graden heen en weer gaan. Opdracht: Verander de scetch zo zodat de servo nog maar 45 graden op en neer gaat, maar wel sneller. |
We kunnen de servo ook direct besturen met de potmeter (draaibare weerstand) die je al gemonteerd hebt. De potmeter is analoog en moet aan een analoge pin aangesloten worden. Als je aan de potmeter draait geeft dat een waarde tussen 0 en 1023 op de pin. De servo heeft een getal nodig tussen 0 en 180. Dit kunnen we met de map instructie heel eenvoudig omschalen: map(val, 0, 1023, 0, 179).
Upload nu de sketch Bestanden/voorbeelden/servo/knob uit de Arduino-software. |