mercoledì 29 aprile 2020

Arduino N° 47 - Estrazione numeri al Lotto

 

< Segue da Arduino N°  46

 Achille De Santis

Arduino N° 48




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

Nessun commento:

Posta un commento