Terug

Arduino 2 – Knop en Servomotor

Switch

  1. /*
      Digital pin 2 is connected to a switch
      Digital pin 13 is connected to a LED
     */
    
    void setup() {
      // initialize the LED pin as an output:
      pinMode(13, OUTPUT);
      // initialize the pushbutton pin as an input:
      pinMode(2, INPUT);
    }
    
    void loop() {
      // check if the pushbutton is pressed.
      // if it is, the buttonState is HIGH:
      if (digitalRead(2) == HIGH) {
        // turn LED on:
        digitalWrite(13, HIGH);
      } else {
        // turn LED off:
        digitalWrite(13, LOW);
      }
    }
    

Servomotor

  1. Tip: Laat de knop uit de vorige oefening aangesloten

    /*
      Digital pin 2 is connected to a switch
      Digital pin 6 is connected to a servo
     */
    
    #include <Servo.h> // include a special file that is needed for servo motors, do this only once
    
    Servo motor1; // create a servo object for each motor
    
    void setup() {
      // initialize the pushbutton pin as an input:
      pinMode(2, INPUT);
      // initialize the servo on pin 6
      motor1.attach(6);
    }
    
    void loop() {
      // check if the pushbutton is pressed.
      // if it is, the buttonState is HIGH:
      if (digitalRead(2) == HIGH) {
        // turn the motor in one direction:
        motor1.write(0);
      } else {
        // turn the motor in another direction:
        motor1.write(180);
      }
    }
    

Verdubbelen

  1. De USB kabel kan niet genoeg stroom leveren voor twee servomotoren. Daarom gebruiken we 4 AA batterijen als we de tweede servo gaan aansluiten. Hieronder zie je hoe je dat doet.

    Let op: Volg onderstaande tekening zeer nauwkeurig. Als je de 4xAA batterijen verkeerd aansluit, kan dat tot gevolg hebben dat je je servomotoren of zelfs je Arduino permanent beschadigt.

    Stap 1: De rode en zwarte draden van beide motoren sluit je aan op de rode (+) en blauwe (-) rij op je breadboard, waar geen andere leds, motoren of sensoren op zijn aangesloten.

    Stap 2: Verbind de beide blauwe (-) rijen met een zwart kabeltje. De rode rijen verbind je NOOIT!

    Stap 3: Verbind nu pas de rode en zwarte draad van je batterijhouder met dezelfde rode (+) en blauwe (-) rij op je breadboard.

    Sluit ook de tweede knop aan, zodat je in totaal twee motoren en twee knoppen op de Arduino hebt aangesloten. Pas je code aan zodat elke knop een motor bestuurt.

Gedrag programmeren

  1. Pas zelf je code aan zodat je robot zich als een Beetlebot gaat gedragen:
    ○ Normaal draaien allebei de wielen vooruit
    ○ Als de linker knop wordt ingedrukt, gaat het rechter wiel 250 milliseconden achteruit
    ○ Als de rechter knop wordt ingedrukt, gaat het linker wiel 250 milliseconden achteruit
    ○ Test het gedrag, en pas je code aan waar nodig

    Tip: je hebt delay( ) nodig, die heb je eerder gezien, bij het ‘Blink’ voorbeeld.