1Ce este, de fapt, un Microcontroler?
Gândește-te la un calculator obișnuit (PC). El are procesor (CPU), memorie RAM separat (plăcuțele pe care le montezi), un hard disk/SSD separat pentru fișiere și placă video separat.
Un microcontroler (scurtat adesea MCU – Microcontroller Unit) le ia pe toate acestea și le împachetează într-un singur cip de siliciu de câțiva milimetri.
CPU (Procesorul)
Execută instrucțiunile din codul tău, una câte una, în fracțiuni de secundă.
Memoria Flash
Echivalentul hard disk-ului. Codul rămâne salvat chiar și după ce oprești alimentarea.
Memoria RAM (SRAM)
Memoria temporară pentru variabile. Se șterge complet când deconectezi curentul.
I/O peripherals
Circuitul de conexiune dintre creierul cipului și pinii exteriori.
💡 Exemplu practic: Cipul ATmega328P (creierul de pe Arduino Uno) are 32 KB Flash și 2 KB RAM. Pare minuscul pe lângă un telefon mobil, dar pentru a citi un senzor de temperatură și a deschide o supapă, 32 KB înseamnă un spațiu uriaș!
2Microcontroler vs. Placă de Dezvoltare
Deseori auzi oamenii spunând „am cumpărat un microcontroler Arduino”. Tehnic, este o mică greșeală de exprimare:
Microcontrolerul
Este doar cipul negru cu piciorușe (ex: ATmega328P sau ESP32-DWD). Fără un circuit de suport, nu îl poți conecta ușor la un PC.
Placa de Dezvoltare
Este PCB-ul complet (albastru, verde sau negru) care include convertorul USB-Serial, regulatorul de tensiune de 5V/3.3V, cristalul de cuart și pinii (headers) ușor de folosit.
3Bătălia Uriașilor: Arduino vs. ESP32 vs. Raspberry Pi
Alegerea plăcii potrivite îți va salva ore întregi de muncă. Iată diferențele majore:
| Caracteristică | Arduino (Uno / Nano) | ESP32 | Raspberry Pi (SBC) |
|---|---|---|---|
| Arhitectură | 8-bit (Microcontroler) | 32-bit Dual-Core | 64-bit Quad-Core (PC complet) |
| Viteză Procesor | 16 MHz | 240 MHz | ~1.8 GHz |
| Conectivitate | Fără (necesită module) | Wi-Fi & Bluetooth Integrate | Wi-Fi, BT, HDMI, Ethernet |
| Consum Curent | Foarte Mic (~20 mA) | Mic (are mod Deep Sleep) | Mare (Sursă 5V/3A) |
4Reguli de Aur: Cum să NU îți prăjești placa
1. Masa Comună (GND) este OBLIGATORIE
Dacă folosești o sursă externă de alimentare (ex: baterii pentru motoare), leagă GND-ul sursei cu GND-ul plăcii. Fără masa comună, semnalele nu funcționează sau poți distruge pinii.
2. Atenție la Tensiunea Pinilor (5V vs 3.3V)
Arduino Uno lucrează pe 5 V, pe când ESP32 și Raspberry Pi pe 3.3 V. Dacă trimiți 5V direct într-un pin de ESP32, cipul se va arde instantaneu.
3. Nu alimenta motoare direct din pinii GPIO
Un pin de microcontroler suportă doar ~20mA. Un motor mic cere peste 200mA. Folosește mereu un tranzistor sau un driver dedicat (ex: L298N).
5Primul Proiect Practic: "Blink"
În lumea hardware, primul proiect este aprinderea și stingerea unui LED la intervale regulate.
// Definim pinul la care am conectat LED-ul
const int ledPin = 13;
void setup() {
// Configurăm pinul ca fiind de tip IEȘIRE (Output)
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // Trimitem 5V la pin -> LED-ul se aprinde
delay(1000); // Așteptăm 1000 milisecunde (1 secundă)
digitalWrite(ledPin, LOW); // Trimitem 0V la pin -> LED-ul se stinge
delay(1000); // Așteptăm încă o secundă
}