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
/*
Autheur: Fun met Electronica
Link: lessen.php?id=516
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.