In questo progetto vedremo come realizzare un dado elettronico su arduino che fornisce un numero compreso tra 1 e 6. Questo può essere molto utile se si sta giocando a un gioco da tavolo, ad esempio. Il progetto contiene uno schermo LCD che visualizza il numero e un pulsante per ottenere un nuovo numero.

dé

Difficoltà :

Materiali necessari

Elenchiamo ora l’attrezzatura necessaria per il progetto:

  • Una scheda Arduino Uno
  • Uno schermo LCD 16×2 a cristalli liquidi
  • Un potenziometro
  • Un pulsante
  • Due resistenze da 220 ohm e 10 kiloohm
  • Fili di collegamento (una quindicina!)

Schema di progetto

Qual è lo scopo della resistenza sul pulsante?

Quando si utilizza un pulsante, ci sono tensioni comprese tra 0V e 5V che possono causare errori nella lettura del valore del pulsante.

Il resistore sul pulsante elimina la condizione di tensione sconosciuta sul pulsante riportando la tensione a 0V o 5V quando il pulsante non viene più utilizzato. Si tratta di un resistore pull-down.

Qual è lo scopo del potenziometro?

Il potenziometro serve a regolare la luminosità dello schermo. È possibile farne a meno collegando 5 V direttamente al filo marrone e il GND che va dal potenziometro allo schermo può essere collegato direttamente alla scheda Arduino.

Programma del progetto

/* Program for Electronic Dice on Arduino */

#include <LiquidCrystal.h> // LCD Screen Library
const int button_pin = 7; // The push button is on pin 7

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize the pins used by the LCD screen

void setup() {
  lcd.begin(16, 2); // Initialize the LCD screen
  int random_number = random(1, 7); // Generate a random number between 1 and 6 for the dice
  lcd.print("Dice Number: "); // Display the text
  lcd.setCursor(13, 0); // Position the cursor for the dice number
  lcd.print(random_number); // Display the random number
}

void loop() {
  lcd.setCursor(0, 1); // Reset cursor to the beginning of the second line
  int button_state = digitalRead(button_pin); // Read the push button value
  if (button_state == 0) { // If the push button is pressed, change the number
    lcd.clear(); // Clear the LCD screen
    int random_number = random(1, 7); // Calculate the new random number
    lcd.print("Dice Number: "); // Display the text
    lcd.setCursor(13, 0);
    lcd.print(random_number); 
  }
}

Come faccio a inserire il programma nella scheda Arduino?

Per caricare il programma sulla scheda Arduino, è necessario il software Arduino Ide. Una volta installato il software, è sufficiente scegliere la porta giusta per la scheda Arduino e caricare il programma sulla scheda.

Perché usiamo la funzione casuale da 1 a 7?

La funzione random viene utilizzata per generare un numero casuale da 1 a 6. Tuttavia, se vogliamo che il numero 6 sia incluso nella generazione del numero, dobbiamo andare fino a 7 perché l’ultimo numero non è incluso ([1-7[).

Simulazione