Functie na opstelling
In deze les gaan we de servo bedienen met knoppen. De sketch lijkt op de sketch toneKeyboard. Hier gebruiken we de bibliotheek van de servo en de bewegingscommando’s die bij servo’s horen. Als een van de knoppen wordt ingedrukt gaat de servo naar 0º of 180°.
Opstelling
De servo’s van Fun met Electronica hebben deze kleuren voor de aansluitingen:
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 41 42 43 44 45 46 |
/* Autheur: Fun met Electronica Link: https://training.funmetelectronica.nl/docs/arduino-basis/lessen/les-9-servo-met-knop/ Beschrijving: Bestuur een Servo met knoppen. */ #include <Servo.h> // bibliotheek servo Servo myservo; //we noemen de servo myservo int knop1 = 2; //knop1 op pin 2 int knop2 = 3; // knop2 op pin 3 int toestandknop1 = 0; // de toestand van knop1 is een variabele int toestandknop2 = 0; // de toestand van knop2 is een variabele int pos = 0; // de positie van de servo is een variabele /* Het programmablok void setup wordt eenmaal beschreven */ void setup() { pinMode (knop1, INPUT); // knop1 is een INPUT pinMode (knop2, INPUT); // knop2 is een INPUT myservo.attach(9); // de servo is verbonden met pin 9 } /* Het programmablok void loop herhaalt zich keer op keer */ void loop() { toestandknop1 = digitalRead(knop1); // lees knop1 toestandknop2 = digitalRead(knop2); // lees knop2 if (toestandknop1 == HIGH) { // als knop1 wordt ingedrukt myservo.write(180); // ga naar positie 180 delay(15); // wacht tot de servo er is } else if (toestandknop2 == HIGH) { // als knop2 ingedrukt wordt doe iets anders.. myservo.write(0); // ga naar positie 0 delay(15); // wacht tot de servo er is } } /* Opdracht 1: Maak een derde positie: Als er geen knop wordt ingedrukt, gaat de servo naar 90 graden. */ |
Opdrachten
Opdracht 9.1:
Maak een nieuwe toestand. Als er geen knop in wordt gedrukt moet de servo op 90° staan. De andere knoppen moeten hun eigen functie behouden.