Å lage lotterivinner ved å bruke Arduino Uno

Å lage lotterivinner ved å bruke Arduino Uno
Arduino -familien gir en enkel måte å designe en rekke kretsløp, og gjør det også enkelt for den nye brukeren å forstå arbeidet med kretsløpene også. Det finnes en rekke prosjekter som kan lages ved hjelp av Arduino -plattformen, og i denne diskursen er det laget en enkel Arduino -kode for lotterivinner. Den kompilerte Arduino -koden i Arduino IDE blir deretter implementert på kretsen designet for lotteri -vinnere ved bruk av Arduino UNO -styret.

Å lage lotterivinner ved å bruke Arduino Uno

For å designe kretsen for lotterivinner har vi brukt følgende komponenter som er:

  • Arduino Uno
  • Jumper ledninger
  • Brødbrett
  • Potensiometer
  • LCD
  • Trykk på knappen

Bildet for skjemaet for kretsen designet for å lage en lotterivinner er lagt ut nedenfor:

Arduino Lottery Winner Hardware Implementation

Vi har koblet komponentene på en slik måte at først alle enhetene plasseres på brødbordet. Neste har vi brukt tilkoblingsledninger for å grensesnitt komponentene med Arduino.

Vi har brukt pinnene 6,5,4,3 og 2 av Arduino for å sende data over LCD. Vi har også gitt forsyningen til den øverste linjen på brødplaten, da de er koblet horisontalt og jordet den neste linjen til den øverste flest linjen på brødplaten ved å bruke 5 volt og bakkestiften til Arduino.

Derfra kan vi gi forsyning til komponentene som er plassert på brødplaten, og potensiometerutgangen er koblet til V0 -pinnen til LCD for å kontrollere LCD -lysets lysstyrke.

Trykknappen er koblet til tilbakestillingspinnen til Arduino, og den andre pinnen er koblet til bakkestiften til brødplaten.

For å gi det klare bildet av tilkoblingene til hver komponent i prosjektet har vi gitt et bilde av maskinvarenheten nedenfor:

Arduino Code for Lottery Winner Project

For å designe en lottervinner har vi brukt to hovedfunksjoner en er tilfeldig() og den andre er den RandomSeed () funksjon.

De tilfeldig() Funksjon trenger to innganger for å definere området for å generere tilfeldige tall: det første er det laveste antallet det vil starte, og det andre er det høyeste tallet som definerer det maksimale antallet den kan generere. Minimumsverdien er et valgfritt argument ettersom funksjonen tar null som en minimumsverdi. Denne funksjonen genererer tall i et bestemt område spesifisert av brukeren.

Tilsvarende RandomSeed () Funksjon brukes til å generere forskjellige tilfeldige sekvenser hver gang koden er samlet. Denne funksjonen har ett argument som er utgangen fra den analoge pinnen til Arduino som ikke er tilkoblet.Det er viktig å merke seg at uten randomSeed () -funksjon vil du få de samme verdiene.

Tilfeldig tall = tilfeldig (minimum, maksimum);

randomSeed (analogread (pin));

Arduino -koden for lotterivinnerprosjekt er:

// erklære tilfeldige tallvariabler med lang datatype
lang RN1;
lang RN2;
lang RN3;
lang RN4;
#include // bibliotek for LCD
LiquidCrystal LCD (12, 11, 6, 5, 4, 3); // Arduino Pins for LCD
void setup ()
Serie.Begynn (9600); // seriell kommunikasjon
LCD.Begynn (16,2); // Initialisere dimensjonene til LCD
RandomSeed (Analogread (0)); // Funksjon for å blande de tilfeldige tallene
LCD.setcursor (4,0); // Angi sted for dataene som skal vises
LCD.print ("arduino"); // data som skal skrives ut på LCD
LCD.setcursor (1,1); // Angi sted for dataene som skal vises
LCD.Print ("Lottery Winner"); // Data som skal skrives ut på LCD
forsinkelse (3000); // Tid for dataene vises i LCD
LCD.Clear (); // tømme LCD
rn1 = tilfeldig (200); // generere det tilfeldige tallet opp til 300
RN2 = tilfeldig (500); // generere det tilfeldige tallet opp til 500
RN3 = tilfeldig (800); // generere det tilfeldige tallet opp til 800
RN4 = tilfeldig (700); // generere det tilfeldige tallet opp til 700
LCD.setcursor (0,0); // Angi sted for dataene som skal vises
LCD.print ("generere en"); // data som skal skrives ut på LCD
LCD.setcursor (0,1); // Angi sted for dataene som skal vises
LCD.print ("lotteriet"); // data som skal skrives ut på LCD
forsinkelse (3000); // Tid for dataene vises i LCD
LCD.Clear (); // tømme LCD
LCD.setcursor (0,0); // Angi sted for dataene som skal vises
LCD.Print ("Vinner er"); // Data som skal skrives ut på LCD
// Bruker for løkker Antall generering av lodd ved hjelp av de genererte tilfeldige tallene
for (int i = 0; i<=rn1; i++)
LCD.setcursor (0,1); // Angi sted for dataene som skal vises
LCD.skrive ut (i); // vise det første nummeret i lotteriet

LCD.setcursor (2,1); // Angi sted for dataene som skal vises
LCD.print ("-"); // data som skal skrives ut på LCD
for (int b = 0; b<=rn2; b ++)
LCD.setcursor (3,1); // Angi sted for dataene som skal vises
LCD.skriv ut (b); // Vis det andre nummeret i lotteriet

LCD.setcursor (5,1); // Angi sted for dataene som skal vises
LCD.print ("-"); // data som skal skrives ut på LCD
for (int a = 0; a<=rn3; a++)
LCD.setcursor (6,1); // Angi sted for dataene som skal vises
LCD.skriv ut (a); // Vis det tredje nummeret i lotteriet

LCD.setcursor (8,1); // Angi sted for dataene som skal vises
LCD.print ("-"); // data som skal skrives ut på LCD
for (int c = 0; c<=rn4; c++)
LCD.setcursor (9,1); // Angi sted for dataene som skal vises
LCD.Skriv ut (c); // Viser det fjerde nummeret i lotteriet


void loop ()

I Arduino -koden først har vi erklært variablene som de tilfeldige tallene vil bli lagret. Etter det er biblioteket for LCD definert, og deretter initialiseres pinnene til Arduino koblet til LCD.

Etter det blir dimensjonene til LCD -er initialisert og noen data skrives ut i LCD -en ved hjelp av LCD.skrive ut() og LCD.setcursor () funksjon.

Vi har generert 4 tilfeldige tall ved hjelp av tilfeldig() funksjon og for å blande sekvensene hver gang vi har brukt RandomSeed () funksjon ved å gi den utgangen fra en ikke -koblet pin av Arduino ved hjelp av Analogread () funksjon.

Etter at de tilfeldige tallene er generert, har vi brukt for -løkker for å generere et tall som spenner fra 0 til det spesifikke genererte tilfeldige tallet.

For å kjøre koden på nytt og for å generere et annet lotternummer igjen, har vi brukt en ekstern tilbakestillingsknapp ved å koble den ene pinnen til bakken og den andre pinnen til tilbakestillingspinnen til Arduino uno. Vi har også brukt potensiometeret for å kontrollere LCD -lysets lysstyrke. Tallene vises deretter ved å bruke LCD.skrive ut() og LCD.setcursor funksjon på LCD.

Arduino Lottery Winner Simulation

Først har vi gjort simuleringen på en Proteus -programvare og vises nedenfor:

Arduino Lottery Winner Output på maskinvare

Etter simuleringen har vi gjort maskinvareimplementeringen, og bildene for utdataene fra Arduino -koden samlet for lotterivinnerimplementering er lagt ut i programutførelsessekvensen.

Generere et lotterinummer ved å trykke på knappen:

Det genererte loddtallet vises nedenfor:

Konklusjon

For å lage kretsløp på nybegynner eller avansert nivå er Arduino -plattformen et levedyktig alternativ, da det gjør grensesnittet til periferiutstyr enkelt med mikrokontrollere. I denne oppskrivningen har vi laget en lotternummergenerator ved å få tilfeldige tall ved å bruke tilfeldig() funksjon. For å endre sekvensen til generering av tilfeldige tall har vi dessuten brukt RandomSeed () funksjon.