Lectia #5: Ardumoto
![]() |
| Ardumoto Driver |
Ardumoto este o platforma compatibila cu platforma Arduino bazata pe driverul L298 H-bridge, folosit de obicei pentru controlul motoarele de voltaj mic. Placa a fost creata special pentru a putea fi montata pe o platforma Arduino precum Arduino Duemilanove sau Arduino Uno.
De ce Ardumoto? Pai fiindca daca am conectat un motor, oricat de putin ar consuma el, ar arde aproape instantaneu platforma Arduino. Pentru asta se intrebuinteaza Ardumoto.
De ce altceva mai am nevoie?
Pe langa Ardumoto va mai fi nevoie de o platforma Arduino (eg.Uno, Duemilanove), doua motorase, letcon, fludor, conectori si un patent pentru taierea conectorilor.
Construirea propriu-zisa
Acum, va trebuii sa conectati cu fludor si letconul conectorii de la motor la ceilalti 4 conectori de la Ardumoto.

Ardumoto se alimenteaza de pe platforma Arduino, asa ca recomandat va fi sa alimentati Ardumoto cu o sursa de energie externa la conectorii VIN de pe Ardumoto.Odata ce a-ti terminat de facut conexiunile, va trebui sa conectati Arduino la calculator prin intermediul USB-ului.
Explicatia codului de rulare
int pwm_a = 3; //controleaza viteza motorului A pe pin 3
int pwm_b = 11; //controleaza viteza motorului B pe pin 11
int dir_a = 12; //controlul directiei motor A (LOW-spate; HIGH-fata)
int dir_b = 13; //controlul directiei motor B
void setup()
{
pinMode(pwm_a, OUTPUT); //seteaza pinii ca OUTPUT
pinMode(pwm_b, OUTPUT);
pinMode(dir_a, OUTPUT);
pinMode(dir_b, OUTPUT);
analogWrite(pwm_a, 100);
//seteaza valoarea motoarelor la 100 (maximul se afla la 255 => ruleaza@39%)
analogWrite(pwm_b, 100);
}
void loop()
{
digitalWrite(dir_a, LOW); //directia motorului LOW
digitalWrite(dir_b, LOW); //directia motorului LOW
delay(1000);
analogWrite(pwm_a, 255);
//setarea ambelor motoare la putere max
analogWrite(pwm_b, 255);
delay(1000);
digitalWrite(dir_a, HIGH); //setare motor directie HIGH
digitalWrite(dir_b, HIGH); //setare motor directie HIGH delay(1000); analogWrite(pwm_a, 100); //setarea ambelor motoare sa ruleze la putere max analogWrite(pwm_b, 100); delay(1000); }
dir_a reprezinta directia motorului 1. (spate/inainte)
dir_b reprezinta directia motorului 2. (spate/inainte)
pwm_a reprezinta voltajul care ii e atribuit motorului 1(intre 0-255)
pwm_b reprezinta voltajul care ii e atribuit motorului 2(intre 0-255)

Comentarii
Trimiteți un comentariu