NLT

FME les 10: motor

Dit is het aansluitschema voor de tiende les. Je gaat een motortje laten draaien als je een knopje indrukt.

_10_Motor_TIP120780

Bouw het bovenstaande schema.

De 10K ohm weerstand zorgt ervoor dat het stroom dat door de zwarte draadjes gaan niet naar de drukknop of blauwe draadje gaat. Hierdoor blijft de route van het stroom goed.

De 2,4K ohm weerstand zorgt ervoor dat er niet spanning op de transistor gaat staan, zodat hij niet kapot gaat.

De transistor zorgt ervoor dat de spanning wordt versterkt, zodat het motortje genoeg energie krijgt.

De diode zorgt ervoor dat het stroom de goede richting opgaat.

De motor zorgt ervoor dat de elektrische energie wordt omgezet in bewegingsenergie.

De code om het motortje goed te laten werken staat hieronder:
int knop = 2;       // knop aan pin 2
int motor =  13;       // motor aan pin 13
int toestandknop = 0;   // variabele voor het lezen van de knop

void setup() {
pinMode(motor, OUTPUT);     //motorpin is output
pinMode(knop, INPUT);     //knop is input
}
void loop(){
toestandknop = digitalRead(knop); //toestandknop is de waarde van knop
if (toestandknop == HIGH) {          //controleer of de knop ingedrukt is
digitalWrite(motor, HIGH);        //indien ingedrukt: motor aan
}
else {
digitalWrite(motor, LOW);         //anders: motor uit
}
}

Hierbij de uitleg over de code:

int knop = 2;

Dit betekend dat de knop aangesloten is op waarde 2.

int motor = 13;

Dit betekend dat de motor aangesloten is op waarde 13.

int toestandknop = 0;

Dit betekend dat de Arduino kan lezen aan  de spanning of de knop ingedrukt is of niet

void setup(){

}

In de functie void (leeg, er komt geen waarde terug) setup () wordt aan de Arduino verteld wat het precies moet doen. Zie het maar als het boodschappen en benodigdheden lijstje om straks alles mee te gaan doen. De accolades { en }  betekenen dat alle code die er tussen staat bij de void setup() horen.

pinMode(motor, OUTPUT);

Betekend dat de motor een eindstation/doel is.

pinMode(knop, INPUT);

Betekend dat als je de knop indrukt dat de motor gaat draaien.

void loop() {

}

Dit is de programma code (tussen { en}) die steeds weer opnieuw (vandaar de naam loop, lus) wordt uitgevoerd op de Arduino.

toestandknop = digitalRead(knop);

Dit betekend dat de Arduino leest of de knop is ingedrukt
if (toestandknop == HIGH) {
digitalWrite(motor, HIGH);

Dit betekend dat als de knop is ingedrukt dat de motor gaat draaien.

else {
digitalWrite(motor, LOW);

Dit betekend dat als de knop niet ingedrukt is dat de motor niet gaat draaien.

Als je ; niet gebruikt werkt de code niet.

Gemaakt door Jelmer Brouwer en Nand Frankena.

Leave a Reply