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

Les 14: Stappenmotor

Arduino Basis

Functie na opstelling

Deze les moet je maken zonder hulptekening. Kijk goed in de sketch op welke pinnen je het driverboard moet aansluiten. De stappenmotor moet aangesloten worden op het bijgeleverde driverboard. Kom je niet aan uit? Vraag aan je docent de hulptekening. Hij/zij kan in de docentenhandleiding de tekening raadplegen. Werk je zonder de hulp van een docent? Vraag dan via info@funmetelectronica.nl de hulptekening op. Na het aansluiten zal de stappenmotor gaan lopen als je op een van de knoppen drukt. Code
/*
  Autheur:      Fun met Electronica
  Link:         lessen.php?id=522  
  Beschrijving: Stappenmotor aansturen
  
  Aansluiting stappenmotor:
    1n1 = pin 8
    1n2 = pin 9
    1n3 = pin 10
    1n4 = pin 11
    --  = gnd
    +5v = +5v
*/

/*
  Een library en een paar constantes definiëren
 */
#include <Stepper.h>
#define STAPPEN_PER_MOTOR_OMWENTELING 32
#define STAPPEN_PER_TOTAAL_OMWENTELING1 2048 // 64 x 32 = 2048 = 1 omwenteling rechtsom 
#define STAPPEN_PER_TOTAAL_OMWENTELING2 -1024 // -1024 = 0.5 omwenteling linksom

Stepper small_stepper(
  STAPPEN_PER_MOTOR_OMWENTELING, 
  8, 
  10, 
  9, 
  11);                  // stapenmotor variabele
int knop1 = 1;          // knop aan pin 1
int knop2 = 2;          // knop aan pin 2
int toestandknop1 = 0;  // knop1 variabele
int toestandknop2 = 0;  // knop2 variabele
int  TeMakenStappen;    // variabele voor aantal stappen

/*
  Het programmablok void setup wordt eenmaal beschreven
*/
void setup(){
  pinMode(knop1, INPUT);  //knop1 is input
  pinMode(knop2, INPUT);  //knop2 is input
}

/*
  Het programmablok void loop herhaalt zich keer op keer
*/
void loop(){
  toestandknop1 = digitalRead(knop1);                     // lees toestand knop1
  toestandknop2 = digitalRead(knop2);                     // lees toestand knop2
  if (toestandknop1 == HIGH) {
    TeMakenStappen  =  STAPPEN_PER_TOTAAL_OMWENTELING1 ;  // draai 1x rechtsom
    small_stepper.setSpeed(500);                          // zet de snelheid
    small_stepper.step(TeMakenStappen);                   // loop
  }else if (toestandknop2 == HIGH) {
    TeMakenStappen  =  STAPPEN_PER_TOTAAL_OMWENTELING2 ;  // draai 0,5 keer linksom
    small_stepper.setSpeed(500);                          // zet de snelheid
    small_stepper.step(TeMakenStappen);                   // loop
  }
}

/*
  Opdracht 1:
  Kom erachter wat er precies in de code gebeurd.
  Zoek op internet wat de stepper library heeft.
  Probeer een paar dingen te veranderen of toe te voegen.
 */

Opdrachten

Opdracht 14.1: Kom erachter wat er precies in de code gebeurd. Zoek op internet wat de stepper library heeft. Probeer een paar dingen te veranderen of toe te voegen.