La Sveglia Girasole
Un condizionale semplice sa cosa fare SE qualcosa accade; se non accade, non fa nulla. Ma se volessimo che facesse qualcosa di diverso in ciascun caso? I programmi più potenti hanno bisogno di un Piano B. In questa missione imparerai a programmare due strade diverse con il condizionale 'SE... ALTRIMENTI...' (If… Else…). Costruiremo una sveglia intelligente che si comporta come un girasole: sa quando 'svegliarsi' con la luce e quando 'dormire' nel buio.
Livello Intermedio
Cosa faremo?
Sei un insegnante?
Corsi
- Classi 6-12
Materiali
- Microbit/telefono e computer
- Connessione a Internet
- Una fonte di luce (una lampada, la torcia del telefono) e un posto buio (sotto un tavolo).
- Cartone, forbici e un paio di elastici per fissare il telefono al cartone
Descrizione
Questa attività introduce la struttura condizionale completa "SE-ALLORA-ALTRIMENTI". Gli studenti costruiranno una sveglia che reagisce alla luce dell'ambiente, eseguendo un blocco di codice se la condizione (luce > soglia) è vera, e un blocco di codice diverso se è falsa. Questo insegna a gestire due risultati che si escludono a vicenda.
Obiettivi Educativi
- Comprendere e applicare la struttura logica "SE... ALTRIMENTI...".
- Usare il concetto di "soglia" per prendere una decisione binaria a partire dai dati di un sensore.
- Creare un programma che gestisce due stati distinti (per esempio, giorno/notte oppure acceso/spento).
- Rafforzare il pensiero logico e la risoluzione dei problemi.
Inizio (10 minuti) - Il Bisogno di un Piano B
- Dai il benvenuto alla classe: "Oggi miglioreremo la capacità di 'pensare' dei nostri programmi. Daremo loro un Piano A e un Piano B."
- Poni il problema: "Un programma che ha solo un Piano A non sa cosa fare quando la condizione è falsa".
- Introduci il concetto di oggi: "Pensate a un interruttore della luce. SE è acceso, la luce si accende (Piano A). ALTRIMENTI, la luce si spegne (Piano B). Ci sono due azioni chiare e opposte. Oggi costruiremo una sveglia che funziona proprio così: SE c'è luce, suona una melodia. ALTRIMENTI, spegne la melodia e lo schermo."
Oltre il 'Se': il Potere di 'Altrimenti'
Il blocco "Se..." è fantastico, ma a volte ci serve un Piano B. Il blocco "Altrimenti" (o "else" in inglese) ci dà esattamente questo. La struttura completa "Se... Altrimenti..." dà al programma un insieme di istruzioni a prova di tutto: SE questa condizione è vera, esegui il primo blocco di codice. ALTRIMENTI (in tutti gli altri casi, cioè se la condizione è falsa), esegui questo secondo blocco di codice. Il programma sceglierà sempre una delle due strade. Mai entrambe, e mai nessuna.
Sensori di Luce e Soglie
Il tuo telefono ha un sensore di luce ambientale che misura quanto è luminoso l'ambiente attorno a te e lo trasforma in un numero. Ma come fa un programma a decidere se è "giorno" o "notte"?
Per questo fissiamo una soglia, che è semplicemente un "punto di taglio". Nel nostro progetto la soglia sarà il numero 50. Se il sensore legge un valore sopra 50, il nostro programma considererà che è "giorno". Se legge un valore sotto, considererà che è "notte".
La Logica del Girasole
Ora possiamo mettere insieme le nostre idee per creare la sveglia:
- Condizione: il valore del sensore di luce è maggiore di 50?
- SE è VERO (c'è luce): è ora di svegliarsi! Esegui il codice della strada "Se": suona la melodia e disegna un sole.
- ALTRIMENTI (è FALSO, è buio): si continua a dormire! Esegui il codice della strada "Altrimenti": ferma la musica e spegni lo schermo.
Sviluppo (20-30 minuti) - Programmiamo l'Alba
- Ora che gli studenti hanno capito la logica delle due strade, è tempo di costruire la sveglia.
- Guidali attraverso le istruzioni per creare il prototipo e programmare la logica 'SE... ALTRIMENTI...', come dettagliato qui sotto. Incoraggiali a provare la loro sveglia coprendo e scoprendo il sensore di luce, per vedere come il programma sceglie all'istante tra le due strade.
Chiusura (5-10 minuti) - Due Strade, Una Decisione
- Una volta che tutte le sveglie funzionano, riflettete insieme sulla nuova struttura logica che hanno appena imparato.
- Chiedi alla classe: "Che cosa succede esattamente nel codice quando la condizione 'luce > 50' è vera? E che cosa succede un istante dopo, quando diventa falsa? Perché questa struttura è più potente di un semplice 'SE'?" Usa la sezione di riflessione per esplorare come, invertendo questa logica, si possano creare progetti completamente diversi.
Rifletti
Qual è la differenza fondamentale tra un condizionale "Se" e un "Se... Altrimenti..."? Quando useresti l'uno e quando l'altro?
Che cos'è una "soglia" e perché è così importante per i programmi che prendono decisioni basate sui sensori?
La nostra sveglia si attiva con la luce. Come cambieresti la condizione perché il sole si accenda nel buio? E che cos'altro dovresti cambiare perché sia una vera luce notturna, e non un allarme notturno?
Oltre il 'Se': il Potere di 'Altrimenti'
Il blocco "Se..." è fantastico, ma a volte ci serve un Piano B. Il blocco "Altrimenti" (o "else" in inglese) ci dà esattamente questo. La struttura completa "Se... Altrimenti..." dà al programma un insieme di istruzioni a prova di tutto: SE questa condizione è vera, esegui il primo blocco di codice. ALTRIMENTI (in tutti gli altri casi, cioè se la condizione è falsa), esegui questo secondo blocco di codice. Il programma sceglierà sempre una delle due strade. Mai entrambe, e mai nessuna.
Sensori di Luce e Soglie
Il tuo telefono ha un sensore di luce ambientale che misura quanto è luminoso l'ambiente attorno a te e lo trasforma in un numero. Ma come fa un programma a decidere se è "giorno" o "notte"?
Per questo fissiamo una soglia, che è semplicemente un "punto di taglio". Nel nostro progetto la soglia sarà il numero 50. Se il sensore legge un valore sopra 50, il nostro programma considererà che è "giorno". Se legge un valore sotto, considererà che è "notte".
La Logica del Girasole
Ora possiamo mettere insieme le nostre idee per creare la sveglia:
- Condizione: il valore del sensore di luce è maggiore di 50?
- SE è VERO (c'è luce): è ora di svegliarsi! Esegui il codice della strada "Se": suona la melodia e disegna un sole.
- ALTRIMENTI (è FALSO, è buio): si continua a dormire! Esegui il codice della strada "Altrimenti": ferma la musica e spegni lo schermo.
Crea
Costruiamo la sveglia girasole!
Costruisci il modellino di cartone— servono anche un paio di elastici per fissare il telefono al cartone
- Ci serviranno 3 componenti sul nostro telefono: IntensitàLuminosa per 'vedere' l'alba, RiproduttoreSuoni per la melodia della sveglia e DisegnoLED per mostrare un sole.
- Ricorda di scansionare tutti i codici ▣ QR sullo stesso dispositivo.
Siamo pronti a programmare l'alba!
Composizione del Codice
Dentro il loop principale, il blocco se... altrimenti... prende il controllo totale. A ogni ciclo valuta la condizione intensità luminosa > 50. Se è vera, viene eseguito il primo gruppo di blocchi (la sveglia si attiva). Se è falsa, salta il primo gruppo ed esegue il secondo (la sveglia si spegne). Il programma sceglie sempre una di queste due strade, senza esitare.
Rifletti
Qual è la differenza fondamentale tra un condizionale "Se" e un "Se... Altrimenti..."? Quando useresti l'uno e quando l'altro?
Che cos'è una "soglia" e perché è così importante per i programmi che prendono decisioni basate sui sensori?
La nostra sveglia si attiva con la luce. Come cambieresti la condizione perché il sole si accenda nel buio? E che cos'altro dovresti cambiare perché sia una vera luce notturna, e non un allarme notturno?