I cassetti sono 256. Qui solo i primi 16. Il nostro cassetto 0x05 (PORTB) è evidenziato. Tra parentesi l'indirizzo di memoria (0x20-0x2F).
📦 Cassetto 0x05 · PORTB
indirizzo 0x05 (0x25)
Dentro questo cassetto ci sono 8 interruttori. L'interruttore numero 5 è collegato al LED sulla scheda.
7‑
6‑
5D13 · LED
4‑
3‑
2‑
1‑
0‑
LED sulla scheda (D13):Spento
sbi5,5; accendi interruttore 5 del cassetto 5 → LED ACCESOcbi5,5; spegni interruttore 5 del cassetto 5 → LED SPENTO
📌 Questa non è magia. È solo aprire e chiudere un interruttore.
🎯 Perché ATmega328 è perfetto per iniziare:
Architettura semplice
Pochi registri, istruzioni chiare: capisci subito cosa fa ogni riga.
Documentazione e supporto ovunque
Trovi migliaia di esempi, progetti, guide, forum e libri.
Costa pochissimo (soprattutto se usi i clone)
Una scheda originale Arduino Uno o Nano costa intorno ai 20-25€, ma i clone compatibili con lo stesso identico microcontrollore si trovano anche a 3-5€. Perfetto per imparare senza spendere una fortuna.
Usato davvero nel mondo reale
Ancora oggi è nei giocattoli, prodotti industriali, centraline...
Zero complicazioni
Niente Wi-Fi o stack complessi: solo pin, registri, codice vero.
Vecchio ma completo
Ha tutto: interrupt, timer, UART, ADC, PWM... è una vera palestra per imparare tutto ciò che esiste anche nei micro moderni.
⚠️ LA VERITÀ CHE FA PAURA sui microcontrollori moderni
ESP32, STM32, Raspberry Pi Pico sembrano allettanti, ma guarda cosa ti aspetta:
💀IDE giganteschi – Arduino IDE 2.0: 300MB. VS Code + PlatformIO: 500MB. STM32CubeIDE: 1.2GB. Un gigabyte solo per scrivere "blink".
📚SDK enormi – ESP-IDF: 10GB di toolchain, 5000+ file. Il tuo "hello world" include 2MB di stack Bluetooth che non userai mai.
🧠Devi imparare C (o MicroPython) PRIMA – Variabili, puntatori, funzioni, classi, interrupt, RTOS... mesi di studio prima di toccare l'hardware
🔮Tutto è nascosto – `digitalWrite()`? Sono 47 righe di assembly che non vedrai mai. La magia resta magia.
⬇️ CON ATmega328 + costycnc.it:
> Apri il browser → costycnc.it/avr1/compiler.html