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.
Periferice I/O
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 5V, pe când ESP32 și Raspberry Pi pe 3.3V. Dacă trimiți 5V direct într-un pin de ESP32, cipul se va arde instantaneu.
3. Nu alimenta motoare directe 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 apronse & stins un 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ă
}