Mål: Att kunna ändra riktning samt styra hastigheten hos en likströmsmotor.
Teori: En likströmsmotor drar mera ström än en Arduino klarar av. Dessutom är motorer s.k. induktiva last som har en tendens att skapa störningar och skadliga spänningstoppar. L293D är lättstyrd och har inbyggd skyddsmekanism mot överhettning och spänningstoppar. Mikrokretsen är därför perfekt för det här arbetet.
Koppling: Var noggrann med kopplingen och försiktig med L293D mikrokretsen. Statisk elektricitet kan förstöra mikrokretsar så urladda dig själv t.ex. genom att röra vid ett batteri (värmeelement)
fritzing kopplingsschema
arduino koden
int input1 = 9; int input2 = 10; int enable1 = 11; void setup() { pinMode(enable1, OUTPUT); pinMode(input1, OUTPUT); pinMode(input2, OUTPUT); digitalWrite(enable1, LOW); } void loop() { // vrider motorn medsols digitalWrite(input1, HIGH); digitalWrite(input2, LOW); // ökar hastigheten genom PWM for(int SPEED = 40 ; SPEED <= 255; SPEED++) { analogWrite(enable1, SPEED); delay(10); } delay(200); // sänker hastigheten genom PWM for(int SPEED = 255 ; SPEED >= 40; SPEED--) { analogWrite(enable1, SPEED); delay(10); } delay(200); // vrider motorn motsols digitalWrite(input1, LOW); digitalWrite(input2, HIGH); // ökar hastigheten genom PWM for(int SPEED = 40 ; SPEED <= 255; SPEED++) { analogWrite(enable1, SPEED); delay(10); } delay(200); // sänker hastigheten genom PWM for(int SPEED = 255 ; SPEED >= 40; SPEED--) { analogWrite(enable1, SPEED); delay(10); } delay(200); }