Voorbeeldprogramma: verschil tussen versies

Uit TrompBot
Naar navigatie springen Naar zoeken springen
Regel 87: Regel 87:
=Een servo besturen=
=Een servo besturen=
  // beweeg.ino: Beweeg een servo tussen twee posities
  // beweeg.ino: Beweeg een servo tussen twee posities
Servo motor;
   
   
  #include <Servo.h>
  #include <Servo.h> // zeg dat we de servo functies willen gebruiken
   
   
  Servo motor;
  Servo motor; // definieer een servo motor
   
   
  // Voer deze instructie 1x uit bij het aanzetten
  // Voer deze instructie 1x uit bij het aanzetten
Regel 102: Regel 101:
  void loop()  
  void loop()  
  {
  {
   motor.write(30);          // beweeg naar ongeveer 30 graden stand
   motor.write(30);          // beweeg naar 30 graden stand
   delay(1000);              // Wacht 1 seconden (1000 milliseconden)
   delay(1000);              // Wacht 1 seconden (1000 milliseconden)
   motor.write(120);        // beweeg naar ongeveer 120 graden stand
   motor.write(120);        // beweeg naar 120 graden stand
   delay(1000);              // Wacht 1 seconden (1000 milliseconden)
   delay(1000);              // Wacht 1 seconden (1000 milliseconden)
  }
  }

Versie van 2 jul 2012 19:13

Beginnen | Hardware | Software | Voorbeeldprogramma | Inkscape & lasersnijden | Errors & Tips | Kekbot | [TrompBot Website] | Trompbots | Percussie & ritme | Fioretti programma


De basis

Dit is een leeg programma. Het doet niets, maar is wel een correct programma (zonder spelfouten).

//leeg.ino: Een leeg programma, dit doet niets
void setup()
{
  // Hier komen de opdrachten die 1 keer gedaan moeten worden bij het aanzetten
}

void loop()
{
  // Hier komen de opdrachten die elke keer gedaan moeten worden
}

tip: Als er op een regel twee forward slashes staan (dat ziet er zo uit: //) dan wordt alles daarna tot het einde van de regel niet gelezen door de computer. Dat is makkelijk want zo kan je commentaar in je programma zetten zodat je zelf nog weet wat je had bedoeld.

Led aan en uit

Een aantal voorbeeldprogramma's staan hier:

// knipper.ino: knipper de groene led, aan en uit, met 1 seconde ertussen.

// Voer deze instructie 1x uit bij het aanzetten
void setup() 
{                
  pinMode(14, OUTPUT);     // Schakel aansluiting (pin) nummer 14 als uitgang. Deze aansluiting is verbonden met de LED
}

// Blijf deze functie herhalen, zoalang de microcontroller aan staat
void loop() 
{
  digitalWrite(14, HIGH);   // zet pin 14 uitgang HOOG (aan)
  delay(1000);              // Wacht 1 seconden (1000 milliseconden)
  digitalWrite(14, LOW);    // zet pin 14 uitgang LAAG (aan)
  delay(1000);              // Wacht 1 seconden (1000 milliseconden)
}


Dan nog een: Dit is een variatie op het eerste programma, maar maakt een wat langer patroon

// knipper2.ini: Maak een knipper patroon
// Voer deze instructie 1x uit bij het aanzetten
void setup() 
{                
  pinMode(14, OUTPUT);     // Schakel aansluiting (pin) nummer 14 als uitgang. Deze aansluiting is verbonden met de LED
}

// Blijf deze functie herhalen, zoalang er spanning op de microcontroller staat
void loop() 
{
  digitalWrite(14, HIGH); 
  delay(100);   
 
  digitalWrite(14, LOW); 
  delay(100);  
 
  digitalWrite(14, HIGH);
  delay(200);
 
  digitalWrite(14, LOW);
  delay(200);          

  digitalWrite(14, HIGH);
  delay(200);
  
  digitalWrite(14, LOW);
  delay(1000);          
}

Schakelaar inlezen

// schakelaar.ino - lees een schakelaar in, en schake led aan en uit

void setup()
{
  pinMode(5, INPUT_PULLUP); // drukknop, als input
  pinMode(2, OUTPUT);   // LED als output
}

void loop()
{
  if ( digitalRead(5) == HIGH )
    digitalWrite(2, HIGH);
  else
    digitalWrite(2, LOW);
}

Een servo besturen

// beweeg.ino: Beweeg een servo tussen twee posities

#include <Servo.h>  // zeg dat we de servo functies willen gebruiken

Servo motor;  // definieer een servo motor 

// Voer deze instructie 1x uit bij het aanzetten
void setup() 
{                
  motor.attach(11); // vebind servo met aansluitpen 11
}

// Blijf deze functie herhalen, zoalang de microcontroller aan staat
void loop() 
{
  motor.write(30);          // beweeg naar 30 graden stand
  delay(1000);              // Wacht 1 seconden (1000 milliseconden)
  motor.write(120);         // beweeg naar 120 graden stand
  delay(1000);              // Wacht 1 seconden (1000 milliseconden)
}

De servo besturen met een schakelaar

Een functie

Een afloop