< Segue da Arduino N° 46 |
Programma di esempio di estrazione numeri su una base di 90.
Nell'esempio, non viene esclusa la possibilità di estrazione dello stesso numero, in sequenza, come invece avviene nei giochi della "Tombola" o del "Lotto". In queste ultime tipologie di gioco, infatti, non è possibile estrarre lo stesso numero durante una stessa sessione; una volta estratto, infatti, il numero (o la tessera) viene tolto dalla popolazione di numeri estraibili.
Il numero estratto sarà visualizzato su schermo LCD, da collegare opportunamente.
prof. De Santis
/* ----------------------------- Inizio Programma ---------------------------------------
* Estrazione numeri.
* Utilizzare un pulsante N.A. sul piedino D7 verso massa.
* Achille De Santis - V2.0
*/
#include <LiquidCrystal.h> // LIBRERIA LCD
// ----------- I/O -------------
#define pinLed 13
#define bottone 7
// -----------------------------
int statoBottone;
int numero_estrazione;
// COLLEGAMENTO DELLO SCHERMO LCD
const int rs=12, en=11, d4=5, d5=4, d6=3, d7=2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void intestazione()
{ Serial.begin(9600); // velocità seriale di comunicazione
Serial.println(" _________ Tecnatron Creation ___________");
Serial.println(" Titolo: Estrazione numeri _______________");
Serial.println(" prof. Achille De Santis - 14-03-2020 V2.0 .--");
}
void stampaintestazione() { Serial.print("\nTutorial Arduino:\tUtilizzo di LCD"); } // a monitor
void stampaEstrazione() { Serial.print("\n NUM. VINCENTE: \t"); Serial.print(numero_estrazione); }
void setup()
{
pinMode(bottone, INPUT_PULLUP); // evita incertezze
pinMode(pinLed, OUTPUT);
lcd.begin(16, 2); // Indica che lo schermo è formato da 2 righe da 16 caratteri
Serial.begin(9600);
stampaintestazione();
}
void loop()
{
numero_estrazione = random(1,90);
statoBottone=digitalRead(bottone);
if (statoBottone == 1) // Se il pulsante NON è premuto
{
lcd.setCursor(0, 0); // posiziona a colonna zero, riga zero
lcd.print("Tutorial Arduino");
lcd.setCursor(0, 1); // posiziona a colonna zero, riga uno
lcd.print("Utilizzo di LCD");
}
else if (statoBottone == 0) // Se il pulsante è premuto
{
lcd.setCursor(0, 0);
lcd.print(" NUM. VINCENTE: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.println(numero_estrazione); // stampa numero estratto
stampaEstrazione(); // visualizza a monitor
delay(4000);
}
}
// ----------------------------- Fine Programma ---------------------------------------
Simulazione:
Argomenti correlati:
Dado Elettronico
Dado Elettronico V2
> Arduino N° 48
prof. De Santis
/* ----------------------------- Inizio Programma ---------------------------------------
* Estrazione numeri.
* Utilizzare un pulsante N.A. sul piedino D7 verso massa.
* Achille De Santis - V2.0
*/
#include <LiquidCrystal.h> // LIBRERIA LCD
// ----------- I/O -------------
#define pinLed 13
#define bottone 7
// -----------------------------
int statoBottone;
int numero_estrazione;
// COLLEGAMENTO DELLO SCHERMO LCD
const int rs=12, en=11, d4=5, d5=4, d6=3, d7=2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void intestazione()
{ Serial.begin(9600); // velocità seriale di comunicazione
Serial.println(" _________ Tecnatron Creation ___________");
Serial.println(" Titolo: Estrazione numeri _______________");
Serial.println(" prof. Achille De Santis - 14-03-2020 V2.0 .--");
}
void stampaintestazione() { Serial.print("\nTutorial Arduino:\tUtilizzo di LCD"); } // a monitor
void stampaEstrazione() { Serial.print("\n NUM. VINCENTE: \t"); Serial.print(numero_estrazione); }
void setup()
{
pinMode(bottone, INPUT_PULLUP); // evita incertezze
pinMode(pinLed, OUTPUT);
lcd.begin(16, 2); // Indica che lo schermo è formato da 2 righe da 16 caratteri
Serial.begin(9600);
stampaintestazione();
}
void loop()
{
numero_estrazione = random(1,90);
statoBottone=digitalRead(bottone);
if (statoBottone == 1) // Se il pulsante NON è premuto
{
lcd.setCursor(0, 0); // posiziona a colonna zero, riga zero
lcd.print("Tutorial Arduino");
lcd.setCursor(0, 1); // posiziona a colonna zero, riga uno
lcd.print("Utilizzo di LCD");
}
else if (statoBottone == 0) // Se il pulsante è premuto
{
lcd.setCursor(0, 0);
lcd.print(" NUM. VINCENTE: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.println(numero_estrazione); // stampa numero estratto
stampaEstrazione(); // visualizza a monitor
delay(4000);
}
}
// ----------------------------- Fine Programma ---------------------------------------
Simulazione:
Argomenti correlati:
Dado Elettronico
Dado Elettronico V2
> Arduino N° 48
Nessun commento:
Posta un commento