Skip to content

Dado Elettronico

Vogliamo realizzare un dado elettronico che funzioni muovendo microbit. Per fare questo introduciamo un concetto importante: la generazione di numeri casuali (random).

La Casualità nel Codice

I numeri casuali (o "random") sono fondamentali per creare giochi, simulazioni, e qualsiasi programma che necessiti di risultati imprevedibili, come il programma del dado.

Cos'è la Casualità?

La casualità in programmazione non è mai veramente casuale; è una sequenza generata da un algoritmo (da qui il termine pseudo-casuale). Però, per i nostri scopi con Micro:bit, possiamo considerarli dei numeri imprevedibili.

Il blocco chiave per generarli è:

  • pick random: istruisce il Micro:bit a scegliere un numero.

  • [A] a [B]: definisce l'intervallo. Il Micro:bit può scegliere qualsiasi numero intero compreso tra A e B, inclusi A e B stessi.

Esercizio: la Moneta Digitale

Simuliamo il lancio di una moneta. Abbiamo bisogno di due risultati: Testa o Croce.

Attività: Creazione della Moneta

  • Dichiarazione: Crea una variabile chiamata risultato.

  • Generazione: Usa il blocco on button A pressed (o on shake) e imposta:

    • set risultato to pick random 0 to 1

(Il risultato sarà 0 per "Testa" o 1 per "Croce").

  • Visualizzazione con Logica: utilizza la logica condizionale per mostrare il risultato.

    • if risultato = 0 then show icon (cuore)
    • else show icon (X)

Risultato Atteso: Ogni volta che premi il pulsante A, il Micro:bit mostrerà casualmente un cuore (Testa) o una X (Croce).

Personalizzare gli Intervalli

Nel programma del dado, l'intervallo è 1 a 6. Ma possiamo usare numeri casuali per molti scopi.

Attività: Il Termometro Casuale

Supponiamo di voler simulare la temperatura in una stanza, che può variare tra 18^°C e 25^°C.

  • Dichiarazione: crea una variabile chiamata temperatura.

  • Generazione: usa il blocco forever per aggiornare la temperatura ogni 5 secondi (usando pause 5000 ms):

  • Visualizzazione: usa il blocco show number temperatura per mostrare il valore sulla matrice LED.

Risultato Atteso: La temperatura cambierà casualmente tra 18 e 25 ogni 5 secondi, simulando le variazioni ambientali.

Applicazione Avanzata: Coordinate Casuali

I numeri casuali non servono solo a generare numeri in sequenza, ma possono essere usati per generare coordinate per il display LED.

Attività: il Pixel Impazzito

Vogliamo accendere e spegnere un LED a caso sulla matrice 5x5. Questo richiede due numeri casuali:

  • Coordinate: crea due variabili: x e y.

Il display LED del Micro:bit ha 5 colonne (da 0 a 4) e 5 righe (da 0 a 4).

  • Generazione: in un blocco forever
  • Visualizzazione: usa il blocco plot x, y per accendere il LED nella posizione casuale.

  • Controllo: aggiungi un piccolo pause 500 ms per non farlo accendere troppo velocemente.

  • Spegnimento: usa un blocco unplot x, y per spegnere il LED nella posizione precedente.

  • Controllo: aggiungi un piccolo pause 500 ms per non farlo spegnere troppo velocemente.

Risultato Atteso: un singolo LED si accenderà e spegnerà in posizioni completamente casuali sulla griglia 5x5.

In sintesi, i numeri casuali sono il tuo strumento per introdurre l'imprevedibilità e il movimento realistico nei tuoi progetti Microbit.

Questo è un progetto base per introdurre l'uso del sensore di movimento e della generazione casuale.

Progetto finale: Dado elettronico

  • Trigger: utilizza il blocco quando scosso. Quando il Microbit viene agitato, si attiva il lancio del dado.

  • Logica Casuale: utilizza il blocco scegli numero a caso tra 1 e 6. Il risultato è il valore del dado.

  • Visualizzazione: usa una struttura se/altrimenti se per associare ogni numero casuale (1 a 6) a un motivo a punti corrispondente sulla matrice LED (es. per il 3, accendi i tre LED in diagonale).

  • Aggiunta: puoi aggiungere un suono (se usi Micro:bit v2) o un'animazione di conteggio rapido per rendere il lancio più eccitante prima di mostrare il risultato finale.