This is an old revision of the document!
Scopul este de a oferi o modalitate distractivă si practica pentru îndeplinirea unei sarcini ,precum tăierea ierbii în grădină.
* Pentru a folosi USART in comunicarea dintre microcontrolerul ATmega328P și modulul Bluetooth HC-05,conectez piniul RX de la modul la pinul TX de la microcontroler, si TX la RX.De asemenea, VCC ul de la modul il conectez la pinul de 5V de la microcontroler pentru alimentare si GND ul la GND.
* Motoarele sunt conectate la modulul L298N prin prinii out1,out2,out3 si out4 pentru a controla directia lor.
* Pentru a functiona tot ansamblul, cele 2 acumulatoare sunt conectate la pinul de 12V de la modulul L298N,care oferta si alimnetare microcontrolerului prin pinul de 5V.
* Comenzile primite de la modulul HC-05 sunt trimise la modulul care controleaza motoarele prin pinii de semnale digitale Am ales pinii 4,5,6,7 de la microcontroler
* Pinii 10 si 11 de la microcontroler conectati la pinii ENA si ENB de la modulul L298N controleaza viteza motoarelor prin PWM
* LED urile sunt conectate la pin ul digital 9 de la microcontroler si alimentarea la pinul de 3.3V
* Pinii VCC SI GND de la LCD cu interfata I2C sunt conectati la pinii de 5v si, respecitv GND ai microcontrolerului.
* Pinii SDA SI SCL ai LCD ului sunt concectati la microcontroler prin pinii A4 si A5(SDA SI SCL)
void setup() { Serial.begin(9600); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(ena, OUTPUT); pinMode(enb, OUTPUT); pinMode(led,OUTPUT); analogWrite(ena, 0); analogWrite(enb, 0); lcd.init(); lcd.backlight(); lcd.setCursor(1, 0); lcd.print("SPEED IS 0"); }
if (Serial.available() > 0) { char value = Serial.read(); analogWrite(ena, Speed); analogWrite(enb, Speed); lcd.clear(); lcd.print("SPEED IS "); lcd.print(Speed); lcd.print(" "); if (value == 'B') { Forward(); } else if (value == 'F') { Back(); } else if (value == 'L') { Left(); } else if (value == 'R') { Right(); } else if (value == 'X') { Speed = 255; } else if (value == 'Y') { Speed = 120; } else if (value == 'S') { Stop(); } else if (value == 'M' || value == 'N') { digitalWrite(led, LOW); } else if (value == 'm' || value == 'n') { digitalWrite(led,HIGH ); } }
digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
}
void Back() {
digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
}
void Left() {
digitalWrite(in1, HIGH); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
}
void Right() {
digitalWrite(in1, LOW); digitalWrite(in2, HIGH); digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
} void Stop() {
digitalWrite(in1, LOW); digitalWrite(in2, LOW); digitalWrite(in3, LOW); digitalWrite(in4, LOW);
}
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.