02: Drukknop

Dit is een  les waar je zult zien dat er een verband ligt tussen het indrukken van een knop en de daarop volgende gebeurtenis.
Dat lijkt logisch, maar is het toch minder logisch dan je denkt, want de gebeurtenissen die na het indrukken van de knop plaatsvinden moeten geprogrammeerd worden.
Er is voor het Arduino-programma een zogenaamde SCHETS nodig.
Het voorbeeld hiernaast heeft nu ook een schema. Let op de weerstand is iets hoger dan bij de vorige opdracht. Dat komt doordat er anders mogelijk ene lekstroom door de schakelaar gaat.

NODIG

  • Arduino bord
  • Breadboard
  • 1 drukschakelaar
  • 1 led
  • 1 weerstand 220 Ω ( rood-rood-zwart-zwart)
  • 1 weerstand 460 Ω (geel-blauw-zwart-zwart)
  • 7 draadjes

Controleer de weerstand door hier te klikken.

les2_schema_1_bb
les2_schema_bb

WERKWIJZE
Dit keer korte uitleg van de werkwijze.
Maak eerst de bovenste schakeling.. Als de plaatjes onduidelijk zijn klik er dan op. Zo maak je ze groter.
Er zit een storende fout in de Fritzing tekening, niet poortje 1, maar poortje 2 gebruiken.
Nadat je de schakeling hebt gemaakt en gecontroleerd maak je de tweede schakeling.
Bij deze tweede schakeling moet je, nadat die voltooid is, een schets uploaden naar de Arduino.Controleer daarna of alles werkt.
Let goed op de juiste weerstanden, de juiste uitgangen en

EXTRA

  • Stel je wilt het lampje 1 seconde laten branden, dan kun je ergens de opdracht  delay(1000); plaatsen.
    Waar doe je dat? Probeer het eens uit.

FILMPJE

SCHETS (knip en plak de linker kolom en zet in het Arduino programma)

/*

Les 2 VO Arduino Lessenserie Fontys Hogeschool ICT
THEORIE: PIN HIGH LOW

DEEL 1: Eerste circuit bouwen door tussen 5V en Massa (Ground) een drukknop
en een LED te zetten. Gebruik een 220 Ohm weerstand om het amperage wat te minderen.
Anders gaat de LED (light emitting diode) kapot (en evt ook de Arduino….).

DEEL 2: Vervolgens met onderstaande sketch Drukknop (aan PIN 12) gebruiken
om de LED (aan PIN 2) AAN of UIT te zetten.

Benodigde onderdelen:
1 rode LED
drukknop
220 Ohm weerstand

Het circuit:
* LED van pin 2 naar Massa
* Drukknop aan pin 12 van +5V
* 10KOhm weerstaand aan pin 12 van Massa

*/

// Constanten veranderen niet.
// Hier gebruikt om PIN’s voor drukknop en LED te definieren:
const int buttonPin = 12;     // nummer van de drukknop PIN
const int ledPin =  2;        // nummer van de LED PIN

// variabelen kunnen wel veranderen:
int buttonState = 0;         // variabele waarin de stand van de drukknop wordt opgeslagen

void setup() {
// Serial.begin(9600);
// Initialiseer de LED PIN als een OUTPUT:
pinMode(ledPin, OUTPUT);
// initialiseer de drukknop PIN als een INPUT:
pinMode(buttonPin, INPUT);
}

void loop(){
// vraag de stand van de drukknop op:
buttonState = digitalRead(buttonPin);
//  Serial.print(“drukknop is: “);
//  Serial.print(buttonState);
//  delay(500);
// controleer of de drukknop wordt ingedrukt
// als dat zo is, dan buttonState is HIGH:
if (buttonState == HIGH) {
// zet de LED AAN:
digitalWrite(ledPin, HIGH);
}
else {
// zet de LED UIT:
digitalWrite(ledPin, LOW);
}
}

korte coding uitleg:

tussen /* en */ mag je commentaar zetten.ook achter // mag je commentaar zetten

commentaar wordt niet als code gezien

na iedere commando regel moet een ; (punt komma) komen

HIGH = aan

LOW = uit

void setup() { hier zet je neer wat de uitgangen doen (initialiseer je meestal)

const int  = constante
int = variabele

Advertenties