Buna ziua tuturor!
Sunt Andrei si sunt incepator in programare si nou pe forum.
Am inceput de nu demult sa studiez Arduino, si intalnesc foarte multe neclaritati asupra diferitor teme.
As fi bucuros daca cineva ar fi dispus sa ma ajute.
Am urmamtorul exercitiu de rezolvat:
Creați un nou program Arduino. Definiți pinii 10 și 11 ca ieșire și conectați-le la semnalele motorului A1 și A2.(pentru A1=HIGH inainte, pentru A2=HIGH inapoi)
Adăugați o nouă funcție „setMotorSpeed” la programul dvs. Acest lucru este menit ca parametru de a
obține o valoare de adevăr (booleană) „forward”. Apoi implementați funcția următoare : Dacă functia „forward” are valoarea adevărată, motorul ar trebui să se rotească înainte, de altfel
înapoi. Pentru a face acest lucru, generați semnale de control adecvate pentru motor.
Am un Arduino Pro, cu cinci butoane de intrare. De pe fiecare buton se poate citi valoare lui analoga (este diferita pentru fiecare buton) si converti de la 0 la 1023.
void loop() {
boolean Vw=analogValue>800&analogValue<900;
boolean Rw=analogValue>600&analogValue<700;
analogValue = analogRead(A0);
if(Vw){digitalWrite(10, 1, digitalWrite(11, 0);
if(Rw){digitalWrite(11, 1, digitalWrite(10, 0,);
}
Am realizat aceasta si functioneaza, dar cum ast putea sa realizez ceva ceea ce seamana cu
setMotorSpeed(boolean forward, int)
{
digitalWrite(PIN, forward);
digitalWrite(DIN, !forward);
}
adica ca noua functie creata sa fie accesata in loop.
Ideea e ca urmatorul exercitiu va accesa aceasta functie de de setare a directiei, si va trebui la fiecare apasare a butonului sa pot mari viteza de rotatie, iar setarea directiei sa fie independenta de setarea vitezei.
Va multumesc anticipat!