Het Arduino Projects Book verschaft een aantal goede startprojecten. Maar didactisch gezien werkte dit boek niet goed voor mij. Maar daarmee acht ik het boek allerminst nutteloos. Wat maak je als je bijvoorbeeld project "Spaceship Interface" uit voert?

Doel

:

Op gang komen met de Arduino

 

Arduino Projects Book Project 02: "Spaceship Interface"

 

In project “Spaceship Interface” stuur je met je Arduino 3 LED’s aan met behulp van één schakelaar.

  • Als je de schakelaar niet bediend, moet het groene LED branden.
  • Als je de schakelaar wel bediend, moeten de twee rode LED’s om beurten gaan knipperen.
  • Als je de schakelaar weer loslaat, moeten beide rode LED’s uit gaan en moet het groene LED weer gaan branden.

 

Hoe programmeer je dit?

Maak eerst gehakt van het project. Dat wil zeggen: hak het project in kleine mootjes en voeg het uiteindelijk samen tot één geheel.


Stap 1: laat één LED branden m.b.v. je Arduino.

Zoek op google een stukje programma waarmee je een LED op je Arduino kunt laten branden. Google “Arduino Control LED”. Neem bijvoorbeeld: https://create.arduino.cc/projecthub/rowan07/make-a-simple-led-circuit-ce8308

Copy/paste de code in je Arduino programma:

int led = 13; // the pin the LED is connected to

void setup() {

  pinMode(led, OUTPUT) // Declare the LED as an output

}

void loop () {

  digitalWrite(led, HIGH) // Turn the LED on

}

Met deze code kun je een LED laten branden, maar dit geeft nog geen controle, want er zit nog geen schakelaar (switch) in het systeem.

Stap 2: schakel één LED aan met behulp van een schakelaar

Daarom google ik nu: “Arduino Switch Controlled LED”. Ik vind: https://www.electroschematics.com/8964/turn-on-led-button-arduino/.

Copy/paste de code in je Arduino:

 

/* sketch 1
turn on a LED when the button is pressed
turn it off when the button is not pressed (or released)
*/
int pinButton = 8; //the pin where we connect the button
int LED = 2; //the pin we connect the LED

void setup() {
  pinMode(pinButton, INPUT); //set the button pin as INPUT
  pinMode(LED, OUTPUT); //set the LED pin as OUTPUT
}

void loop() {
  int stateButton = digitalRead(pinButton); //read the state of the button
  if(stateButton == 1) { //if is pressed
  digitalWrite(LED, HIGH); //write 1 or HIGH to led pin
} else { //if not pressed
  digitalWrite(LED, LOW); //write 0 or low to led pin
  }
}

Voila, je kunt nu 1 LED besturen met dit programma. Met dit stukje programma achter de hand moet je nu zelf verzinnen hoe je:

  • Stap 3: 1 LED kunt laten branden door de schakelaar NIET te bedienen
  • Stap 4: 2 LED’s om beurten kunt laten knipperen m.b.v. een schakelaar
  • Stap 5: combineer stap 3 en 4 in één opstelling

 

Gefeliciteerd: je hebt zelf een “Spaceship Interface” gebouwd! Nu kun je gaan solliciteren bij NASA.