Een eenvoudig voorbeeldje hoe je het KA03 motorshield kan gebruiken om een motor aan te sturen in combinatie met het KAEDU STEM shield.
STAP1 : Het aansluiten van het motor shield.
– plaats het Motor shield eerst op de arduino en plaats de jumpers, in dit voorbeeld staan de jumpers op volgende pinnen :
1) Richting motor B : 12, hierdoor kan je SW5 van het STEM shield niet gebruiken verwijder die jumper om problemen te vermijden.
2) Snelheid motor B : 11, hierdoor kan je SW4 van het STEM shield niet gebruiken, verwijder die jumper om problemen te vermijden.
3) Richting motor A : 4, je kan oranje 2 actief laten op het STEM shield.
4) Snelheid motor A : 3, je kan rood 2 actief laten op het STEM shield.
Verbind 2 motoren met het motor shield op de daarvoor voorziene aansluitingen.
STAP2 : Sluit het STEM shield aan op het motor shield en controleer of je de jumpers bij SW4 en SW5 verwijdert hebt.
STAP3 : Setup van het arduino programma. Nu je weet wat aangesloten is kan de basis van het programma geschreven worden. Eerst schrijf je welke naam je aan de pinnen linkt, dan zeg je wat die namen betekenen (input of output). Daarna stuur je de motor aan. Wil je de motor op maximale snelheid laten draaien hoef je de snelheid enkel op HIGH te zetten en dan kan je met richting de draairichting bepalen.
int richtingB = 12;
int snelheidB = 11;
int richtingA = 4;
int snelheidA = 3;
void setup() {
pinMode(richtingB,OUTPUT);
pinMode(snelheidB,OUTPUT);
pinMode(richtingA,OUTPUT);
pinMode(snelheidA,OUTPUT);
}
void loop() {
digitalWrite(richtingA,HIGH);
digitalWrite(snelheidA,HIGH);
}
Opdrachten :
Hoe kan je de motor uitschakelen ?
Hoe kan je de motor in de andere richting doen draaien ?
Hoe kan je een lagere spanning op de motor plaatsen ?
Het vervelende is dat de motor nu continu zal draaien. Om de motor te kunnen uitschakelen zonder de spanning te moeten uitschakelen gaan we gebruik maken van de schakelaar op het STEM shield. Deze schakelaar is aangesloten op pin8, je moet er uiteraard voor zorgen dat de jumper ook aangesloten is.
Om gebruik te kunnen maken van deze knop dien je VOOR SETUP volgende code toe te voegen
int schakelaar = 8;
int toestand = 0;
IN SETUP dien je volgende code toe te voegen
pinMode(schakelaar,INPUT);
IN LOOP dien je volgende code toe te voegen
toestand = digitalRead(schakelaar);
Opdracht :
– Maak gebruik van een controlestructuur en de ingelezen toestand om de motor bij een hoge toestand te laten draaien en bij een lage toestand uit te schakelen.
De draairichting kan je op een gelijkaardige manier aanpassen we gaan hiervoor gebruik maken van de drukknop die aangesloten is op pin 9.
– Wat moet je VOOR setup schrijven om gebruik te kunnen maken van de drukknop aangesloten op pin9 ?
– Wat moet je IN setup schrijven om gebruik te kunnen maken van die drukknop ?
– Wat moet je IN loop schrijven om ervoor te zorgen dat bij het indrukken van de knop de motor in de ene richting draait en bij het niet indrukken van de knop de motor in de andere richting draait ?
Nu de motor kan uitgeschakeld worden en je al nagedacht hebt over hoe je de snelheid kan aanpassen is het een ideaal moment om de snelheid te kunnen instellen door middel van de potentiometer. Hoe je de potentiometer gebruikt om een LED te dimmen staat in een eerdere tutorial. De manier van werken is voor de motor identiek omdat het signaal dat de LED dimt en het signaal dat de chip nodig heeft voor de snelheid aan te passen identiek is.
De potentiometer is aangesloten op A0.
– Wat moet je VOOR setup schrijven om gebruik te kunnen maken van de potentiometer ?
– Wat moet je IN setup schrijven om gebruik te kunnen maken van die potentiometer ?
– Wat moet je IN loop schrijven / aanpassen om de snelheid ook te regelen en niet enkel aan of uit te schakelen ?
Een reactie op “Tutorial : KA03 Motor shield”-
Overzicht tutorials en demonstraties – Projects4edu
(26 juli 2017 - 15:41)[…] voor Arduino UNO Demonstratie : 1) Motor shield in combinatie met robot chassis. Tutorial : 1) Een motor aanschakelen door middel van het shield (+ demonstratie mogelijkheden : snelheid regelen, richting aanpassen, […]