PID
Control Proporțional-Integral-Derivativ
Un algoritm de control automat care corectează continuu eroarea dintre poziția dorită și cea reală. Combină trei tipuri de corecție (P, I, D) pentru a menține mașina pe linie cât mai precis. Este cel mai folosit algoritm de control din industrie — de la termostate la drone.
Gândește-te la un șofer: vede curba (P), își amintește drumul (I) și anticipează ce urmează (D).
Kp
Constanta Proporțională
Un număr (coeficient) care decide cât de puternică e reacția mașinii la eroare. Cu cât Kp e mai mare, cu atât virează mai brusc. Dacă e prea mare → oscilații (zig-zag). Dacă e prea mic → mașina reacționează lent și pierde linia.
Kp = 25 înseamnă: „pentru fiecare unitate de eroare, aplică o corecție de 25".
Ki
Constanta Integrală
Controlează acumularea erorilor mici de-a lungul timpului. Dacă mașina deviază constant ușor într-o parte (din cauza motoarelor inegale, de ex.), Ki corectează această derivă. Se folosește cu valori foarte mici (0.01–0.1), altfel devine instabil.
Ca un șofer care observă că mereu trage ușor stânga și compensează automat.
Kd
Constanta Derivativă
Măsoară cât de repede se schimbă eroarea și frânează corecția înainte să depășească ținta. Previne oscilațiile cauzate de Kp. Acționează ca un „amortizor" — dacă eroarea crește rapid, aplică o contra-forță.
Ca un șofer care ridică piciorul de pe accelerație când vede că se apropie prea repede de centrul benzii.
IR
Senzori Infraroșu (TCRT5000)
Senzori care emit lumină infraroșie invizibilă și măsoară cât se reflectă înapoi. Suprafața albă reflectă mult (valoare mare), cea neagră absoarbe (valoare mică). Mașina are 6 senzori aliniați pe un rând care „văd" unde e linia neagră.
Funcționează ca ochii mașinii — fiecare senzor „vede" dacă sub el e alb sau negru.
ESP32
Microcontroler (Creierul Mașinii)
Un mini-computer pe un singur cip care rulează programul mașinii. Citește senzorii, calculează algoritmul PID și trimite comenzi motoarelor — totul de ~100 de ori pe secundă. Are WiFi și Bluetooth integrate, ceea ce permite control și monitorizare wireless.
Echivalentul procesorul unui telefon, dar specializat pe controlul hardware-ului.
PWM
Modulare în Lățime a Pulsului
Tehnica prin care ESP32 controlează viteza motoarelor. În loc să dea tensiune continuă, trimite impulsuri rapide de curent. Cu cât impulsurile sunt mai lungi (0–255), cu atât motorul se rotește mai repede. PWM 0 = oprit, PWM 255 = viteză maximă.
Ca și cum ai aprinde și stinge rapid un bec — cu cât stă mai mult aprins, cu atât pare mai luminos.
L298N
Driver de Motor (Punte H)
Un amplificator de putere între ESP32 și motoare. ESP32 nu poate alimenta motoarele direct (curent prea mic), așa că L298N primește comenzi mici de la ESP32 și le transformă în curent mare pentru motoare. Controlează atât viteza cât și direcția (înainte/înapoi).
Ca un releu inteligent: ESP32 zice „motor stânga 70%", L298N face treaba grea.
Eroare
Abaterea de la Centru
Diferența dintre pozița dorită (centru) și poziția reală a mașinii pe linie. Se calculează din citirile senzorilor: dacă linia e sub senzorii din stânga → eroare negativă (trebuie să vireze stânga), sub cei din dreapta → eroare pozitivă (virează dreapta), la centru → eroare 0.
Eroare = 0 înseamnă perfect centrat. Eroare = -2 înseamnă mult deplasat spre stânga.
Calibrare
Ajustarea Senzorilor la Mediu
Procesul prin care mașina învață ce înseamnă „alb" și „negru" pe suprafața curentă. La pornire, senzorii citesc valorile minime și maxime, iar pragul de decizie se setează la mijloc. Fără calibrare, mașina poate confunda culorile pe suprafețe diferite.
Ca și cum ai regla luminozitatea unui ecran — ce e „luminos" depinde de camera în care ești.
Base Speed
Viteza de Bază
Viteza constantă cu care mașina merge pe linie dreaptă, de obicei 60–70% din maxim. Corecția PID se adaugă și se scade din această viteză: un motor accelerează, celălalt încetinește. Dacă viteza de bază e prea mare, PID nu mai are loc de corecție.
Ca viteza de croazieră la o mașină reală — prea repede și nu mai poți vira.
GPIO
General Purpose Input/Output
Pinii fizici ai ESP32 prin care comunică cu lumea externă. Fiecare pin poate fi configurat ca intrare (citește date de la senzori) sau ieșire (trimite comenzi la motoare/LED-uri). ESP32 are ~30 de GPIO-uri, fiecare cu un număr unic (GPIO 4, GPIO 16, etc.).
Ca porturile USB ale unui laptop — conectezi dispozitive diferite la porturi diferite.