ZZBlocks 0.2

Coding e robotica a scuola · Arduino UNO · guida offline

Avvio e aggiornamento

  1. Estrai completamente lo ZIP in una nuova cartella. Chiudi la finestra del vecchio launcher.
  2. Avvia AVVIA_WINDOWS.bat (Python 3.10 o successivo).
  3. Premi «Prepara / aggiorna strumenti» con Internet attivo anche se hai già usato la 0.1: vengono installate le nuove librerie. Attendi il messaggio di completamento.
  4. Scegli un esempio, premi Verifica e poi Carica su UNO dopo aver scelto la porta.

L’editor e gli strumenti già installati funzionano offline. Il browser consigliato per il monitor seriale è Chrome o Edge. Il launcher resta aperto durante il lavoro. Gli strumenti precedenti vengono copiati nella nuova cartella dati ZZBlocks al primo avvio, se presenti.

Progetti

Salva progetto scarica un file .ZZBlocks. Apri progetto legge anche i precedenti .ziziblocks e i JSON nel formato previsto. Esporta .ino salva solo il codice, non i blocchi. Non basta rinominare un file .ino per trasformarlo in un progetto. Non è prevista l’associazione automatica di Windows al doppio clic.

KS0183 Multi-purpose Shield V1

Innestare sulla UNO a scheda spenta. I blocchi KS0183 impostano automaticamente i pin necessari. Il pulsante RESET e il LED di alimentazione non sono dispositivi programmabili. Gli esempi usano letture periodiche, non interrupt dei pulsanti.

ComponentePin UNO
SW1 / SW2D2 / D3, premuto = LOW
DHT11D4
Buzzer passivoD5
Ricevitore IRD6
RGB (R / G / B)D9 / D10 / D11
Due LEDD12 / D13, accesi = HIGH
Potenziometro / fotoresistenza / LM35A0 / A1 / A2
Espansione digitale / analogicaD7 e D8 / A3: blocchi Ingressi-Uscite
I²C SDA / SCLA4 / A5
Seriale TTL RX / TXD0 / D1, condivisa con USB

Il DHT11 va letto ogni 2 secondi; «lettura valida?» distingue l’errore NaN da un valore reale. LM35: il riferimento predefinito è 5 V, da adattare alla tensione effettiva. La luminosità è un valore grezzo 0–1023, non lux.

IR e PWM: IRremote usa Timer2 su UNO. La generazione segnala l’uso simultaneo di IR e PWM D3/D11 o RGB 0–255; si può usare il blocco RGB colore digitale. Il buzzer di questa versione genera impulsi senza occupare Timer2, ma attende la fine della nota. Durante ritardi, letture DHT o software seriale possono andare persi segnali IR: tenere il ciclo rapido e usare telecomando e misure lente con attenzione. Il comando IR è quello decodificato da IRremote 4, non necessariamente il vecchio codice a 32 bit usato da altri programmi.

Display LCD

Supportati LCD HD44780 16×2 e 20×4 con backpack I²C compatibile hd44780_I2Cexp (tipicamente PCF8574). Non sono inclusi LCD paralleli, TFT o display a sette segmenti. Collegare SDA ad A4 e SCL ad A5; verificare VCC/GND del proprio modulo. L’indirizzo può essere automatico, 0x27 o 0x3F. Regolare il trimmer di contrasto se il display è acceso ma non si legge.

Inserire un solo blocco «LCD I²C» direttamente in All’avvio, prima dei comandi LCD. Riga e colonna partono da 0. Per sostituire una scritta con una più corta, aggiungere spazi finali o cancellare; cancellare ad ogni giro può produrre sfarfallio. I caratteri personalizzati occupano gli slot 0–7, con otto righe da 0 a 31. Gli accenti dipendono dalla ROM del display: usare testo ASCII negli esempi.

Display OLED

Supportati SSD1306 128×64, SSD1306 128×32 e SH1106 128×64 I²C, indirizzi 0x3C/0x3D. Non basta la dimensione fisica: scegliere il controller del modulo. Il collegamento su UNO è SDA=A4, SCL=A5; rispettare tensioni e compatibilità logica del modulo specifico.

Mettere una sola configurazione OLED in All’avvio. In Ripeti sempre: leggere i sensori e salvarli in variabili numeriche; poi inserire testi e forme dentro «OLED disegna schermata». Il disegno usa un buffer di una pagina e viene ripetuto internamente: non inserire letture seriali, sensori, attese o modifiche alle variabili dentro la schermata. La coordinata y del testo indica la linea di base delle lettere, non il bordo superiore. Per la prima riga usare y=12 o 14.

L’esempio «OLED · Temperatura» mostra questa sequenza. Per svuotare completamente usare «cancella schermo» fuori dalla schermata. I font inclusi non coprono ogni carattere Unicode. Il buffer ridotto lascia più RAM libera su UNO, ma la memoria rimane limitata.

Testo e variabili

Unione, lunghezza, carattere, sottostringa, ricerca, contiene/inizia/finisce, confronto, maiuscole/minuscole, trim, sostituzione, conversioni e ASCII. Gli indici partono da 0; ricerca restituisce -1 se assente; il termine della sottostringa è escluso. Le variabili testuali sono create dai blocchi «imposta testo», «testo» e «aggiungi». Le variabili numeriche restano nella categoria dedicata. Il testo Arduino String è basato su byte: indici e lunghezze non equivalgono sempre ai caratteri visibili per accenti e Unicode. Evitare concatenazioni molto lunghe su UNO.

Seriale

Avviare la seriale in All’avvio con baud corrispondente al monitor. Sono disponibili print/println, basi DEC/HEX/BIN/OCT, decimali, write byte, available, availableForWrite, read, peek, parseInt, parseFloat, readString, readStringUntil, readBytes e readBytesUntil (come testo, massimo 64 byte), find, findUntil, timeout, flush, end, stato e svuotamento della ricezione.

read e peek restituiscono -1 se non ci sono dati. Le letture testuali e numeriche possono attendere fino al timeout. flush attende la fine della trasmissione: non cancella la ricezione. Per dati binari usare read/write byte; i blocchi «come testo» non sono buffer binari generici. Il formato avanzato permette 8N1, 8E1, 8O1, 8N2.

Apri monitor, scegli la porta richiesta dal browser e imposta baud/formato. Digita nel campo e premi Invia o Invio; scegli Nessuno, LF, CR o CR+LF. Il caricamento chiude automaticamente il monitor per liberare la porta. Se la porta è occupata, chiudi anche altri monitor Arduino. D0/D1 della shield condividono la seriale USB: periferiche collegate lì possono interferire con upload e monitor.

La categoria Estensioni offre una seconda seriale software su D7/D8 (configurabili), con avvio, lettura, osservazione, disponibilità e stampa con nuova riga. È un sottoinsieme della seriale principale. Lo scanner I²C stampa gli indirizzi sul monitor: avvia prima la seriale.

Limiti delle verifiche

Generazione, serializzazione e compilazione sono verificabili sul computer di sviluppo; letture reali dei sensori, colori della shield, display, IR e USB della nuova versione richiedono la prova sul tuo hardware. Il monitor seriale può essere verificato automaticamente con una porta simulata, senza sostituire la prova fisica.

Fonti e librerie

Le librerie sono installate dai loro pacchetti Arduino con le rispettive licenze. Blockly e relativa licenza sono nella cartella vendor. Il codice dell’applicazione è autonomo: non include codice di STEAMakersBlocks o Mixly.

Catalogo dei nuovi blocchi

KS0183

Testo

Seriale

LCD

OLED

Estensioni