Functie na opstelling
In deze les gaan we dingen laten bewegen. Bestuur een servo met een potmeter. Een servo is een bijzonder apparaatje. Het beweegt 180 graden in het rond en kan daarbinnen elke stand voor je aannemen. Voor de besturing heb je een bibliotheek nodig. Dit zit voor een servo standaard in de software, hierdoor wordt het schrijven van de sketch een stuk makkelijker. Je roept een servo op met: Sketch → Bibliotheek Importeren → Servo. Kijk ook eens bij de voorbeelden onder Bestand → Voorbeelden → Servo. Deze sketches zijn een paar voorbeelden hoe de servo gebruikt kan worden. Deze les is gemaakt uit het voorbeeld Knop.
Opstelling
Voor apparatuur van Fun met Electronica gebruiken we het schema hieronder als hulpmiddel voor de draadjes:
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
/* Autheur: Fun met Electronica Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-7-tonekeyboard/ Beschrijving: Bestuur een servo met een potmeter. */ /* Weer een library die nodig is om gemakkelijk de servo te besturen. Deze library staat automatisch in de Arduino IDE. Het hoeft dus niet handmatig toegevoegd te worden. */ #include <Servo.h> Servo myservo; // een variabele om de servo aan te sturen int potpin = 0; // analoge pin wordt gebruikt door de potmeter int val; // lees de variabele waarde van de potmeter /* Het programmablok void setup wordt eenmaal beschreven */ void setup() { myservo.attach(9); // de servo is verbonden met pin 9 } /* Het programmablok void loop herhaalt zich keer op keer */ void loop() { val = analogRead(potpin); // lees de waarde van de potmeter (waarde tussen 0 en 1023) val = map(val, 0, 1023, 0, 179); // reken de waarde om voor de servo (waarde tussen 0 en 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // wacht tot de servo er is gekomen } /* Opdracht 1: Geen programmeer of bouwopdracht maar een vraag: Wat voor implementaties kan je met een servo maken? */ |
Opdrachten
Opdracht 8.1:
Deze keer geen opdracht om de code te veranderen of het schema, maar een vraag: Wat voor implementaties kan je bedenken met een servo?