Å lage lotterivinner ved å bruke Arduino Uno
For å designe kretsen for lotterivinner har vi brukt følgende komponenter som er:
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 datatypeI 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.