✓ Speciaal voor VO, Technasium & Bèta-onderwijs ✓ Scholen bestellen op rekening (achteraf betalen)
Direct contact: info@funmetelectronica.nl | Tel: 06-53111122
Arduino Basis › Les 9: Servo met Knop

Les 9: Servo met Knop

Arduino Basis

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.