Zwycięzca loterii za pomocą Arduino Uno

Zwycięzca loterii za pomocą Arduino Uno
Rodzina Arduino stanowi łatwy sposób na zaprojektowanie różnych obwodów, a także ułatwia nowemu użytkownikowi zrozumienie działalności obwodów. Istnieje wiele projektów, które można wykonać za pomocą platformy Arduino i, w tym dyskursie, wykonano prosty kod Loterii Arduino. Skompilowany kod Arduino w Arduino IDE jest następnie wdrażany na obwodzie zaprojektowanym dla zwycięzców loterii za pomocą tablicy Arduino Uno.

Zwycięzca loterii za pomocą Arduino Uno

Aby zaprojektować obwód zwycięzcy loterii, użyliśmy następujących komponentów, które są:

  • Arduino Uno
  • Przewody zworki
  • Tablica chleba
  • Potencjometr
  • LCD
  • Naciśnij przycisk

Zdjęcie schematu obwodu zaprojektowanego do utworzenia zwycięzcy loterii jest opublikowane poniżej:

Wdrożenie sprzętowe zwycięzcy loterii Arduino

Podłączyliśmy komponenty w taki sposób, że najpierw wszystkie urządzenia są umieszczane na tablicy chleba. Następnie użyliśmy podłączania przewodów do interfejsu komponentów z Arduino.

Użyliśmy pinów 6,5,4,3 i 2 Arduino do wysyłania danych przez LCD. Dostaliśmy również zasilanie najwyższej linii breadboard, ponieważ są one podłączone poziomo i uziemione następną linią do najwyższej linii płyty chlebowej za pomocą 5 woltów i uziemienia Arduino.

Stamtąd możemy podać zaopatrzenie komponentom umieszczonym na tablicy chleba, a wyjście potencjometru jest podłączone do pinu V0 LCD w celu kontrolowania jasności LCD.

Przycisk jest podłączony do pinu resetowania Arduino, a jego drugi szpilka jest podłączona do uziemionej szpilki płyty do chleba.

Aby podać jasny obraz połączeń każdego komponentu w projekcie, podaliśmy obraz zestawu sprzętowego poniżej:

Kod Arduino dla projektu zwycięzcy loterii

Aby zaprojektować zwycięzcę loterii, użyliśmy dwóch głównych funkcji, jeden to losowy() a drugi to losowe () funkcjonować.

losowy() Funkcja wymaga dwóch wejść, aby zdefiniować zakres do generowania liczb losowych: pierwszy to najniższa liczba, od której się uruchomi, a druga to najwyższa liczba, która definiuje maksymalną liczbę, którą może wygenerować. Minimalna wartość jest opcjonalnym argumentem, ponieważ funkcja ma zero jako minimalną wartość. Ta funkcja generuje liczby w określonym zakresie określonym przez użytkownika.

Podobnie losowe () Funkcja jest używana do generowania różnych losowych sekwencji za każdym razem, gdy kod jest kompilowany. Ta funkcja ma jeden argument, który jest wyjściem analogowego pinu Arduino, który nie jest podłączony.Ważne jest, aby zauważyć, że bez randomseed () funkcji otrzymasz te same wartości.

Liczba losowa = losowa (minimum, maksimum);

losowe nasiona (analogread (pin));

Kod Arduino dla projektu zwycięzcy loterii jest:

// deklarowanie zmiennych liczb losowych o długim typu danych
długi RN1;
długi RN2;
długi RN3;
długi RN4;
#include // biblioteka dla LCD
Liquidcrystal LCD (12, 11, 6, 5, 4, 3); // szpilki Arduino dla LCD
void setup ()
Seryjny.rozpocząć (9600); // Komunikacja szeregowa
LCD.Rozpocznij (16,2); // inicjowanie wymiarów LCD
losowe nasiona (analogread (0)); // funkcja tasowania liczb losowych
LCD.setCursor (4,0); // Ustawienie miejsca na wyświetlenie danych
LCD.druk („arduino”); // dane do wydrukowania na LCD
LCD.setCursor (1,1); // ustawienie miejsca na wyświetlenie danych
LCD.druk („zwycięzca loterii”); // dane do wydrukowania na LCD
opóźnienie (3000); // Czas na dane zostanie wyświetlony w LCD
LCD.clear (); // usuwanie LCD
RN1 = losowe (200); // generowanie liczby losowej do 300
RN2 = losowe (500); // generowanie liczby losowej do 500
RN3 = losowe (800); // generowanie liczby losowej do 800
RN4 = losowe (700); // generowanie liczby losowej do 700
LCD.setCursor (0,0); // ustawienie miejsca dla wyświetlania danych
LCD.wydrukuj („generowanie danych”); // Dane do wydrukowania na LCD
LCD.setCursor (0,1); // ustawienie miejsca dla wyświetlania danych
LCD.drukuj („Numer loterii”); // dane do wydrukowania na LCD
opóźnienie (3000); // Czas na dane zostanie wyświetlony w LCD
LCD.clear (); // usuwanie LCD
LCD.setCursor (0,0); // ustawienie miejsca dla wyświetlania danych
LCD.druk („zwycięzca to”); // Dane do wydrukowania na LCD
// Korzystanie z pętli liczba generowania numeru loterii za pomocą wygenerowanych liczb losowych
dla (int i = 0; i<=rn1; i++)
LCD.setCursor (0,1); // ustawienie miejsca dla wyświetlania danych
LCD.wydrukuj (i); // wyświetlanie pierwszego numeru w loterii

LCD.setCursor (2,1); // ustawienie miejsca dla wyświetlania danych
LCD.print („-”); // dane do wydrukowania na LCD
for (int b = 0; b<=rn2; b ++)
LCD.setCursor (3,1); // ustawienie miejsca dla wyświetlania danych
LCD.wydrukuj (b); // wyświetlanie drugiej liczby w loterii

LCD.setCursor (5,1); // ustawienie miejsca dla wyświetlania danych
LCD.print („-”); // dane do wydrukowania na LCD
for (int a = 0; a<=rn3; a++)
LCD.setCursor (6,1); // ustawienie miejsca dla wyświetlania danych
LCD.wydrukuj (a); // wyświetlanie trzeciego numeru w loterii

LCD.setCursor (8,1); // ustawienie miejsca na wyświetlenie danych
LCD.print („-”); // dane do wydrukowania na LCD
dla (int c = 0; c<=rn4; c++)
LCD.setCursor (9,1); // ustawienie miejsca dla wyświetlania danych
LCD.druk (c); // wyświetlanie czwartej liczby w loterii


void Loop ()

W kodzie Arduino najpierw zadeklarowaliśmy zmienne, w których liczby losowe będą przechowywane. Następnie zdefiniowana jest biblioteka LCD, a następnie szpilki Arduino podłączone do LCD są inicjowane.

Następnie wymiary LCD są inicjowane, a niektóre dane są drukowane w LCD za pomocą LCD.wydrukować() I LCD.setCursor () funkcjonować.

Wygenerowaliśmy 4 losowe liczby za pomocą losowy() funkcjonować i tasować sekwencje za każdym razem, gdy używaliśmy losowe () funkcja, nadając mu wyjście niezwiązanego pinu Arduino za pomocą analogread () funkcjonować.

Po wygenerowaniu liczb losowych wykorzystaliśmy Pętle do dalszego wygenerowania liczby w zakresie od 0 do tej określonej liczby losowej.

Aby ponownie uruchomić kod i ponownie wygenerować inny numer loterii, użyliśmy zewnętrznego przycisku resetowania, podłączając jego jeden szpilkę do ziemi, a drugi szpilka do pinu resetowania Arduino Uno. Użyliśmy również potencjometru do kontrolowania jasności LCD. Liczby są następnie wyświetlane za pomocą LCD.wydrukować() I LCD.setCursor Funkcja na LCD.

Symulacja zwycięzcy loterii Arduino

Najpierw przeprowadziliśmy symulację w oprogramowaniu Proteus i pokazano poniżej:

Wyjście zwycięzców loterii Arduino na sprzęcie

Po symulacji dokonamy implementacji sprzętowej i obrazów wyjścia kodu Arduino skompilowanego do implementacji zwycięzcy loterii są opublikowane w sekwencji wykonania programu.

Generowanie numeru loterii poprzez naciśnięcie przycisku:

Wygenerowany numer loterii pokazano poniżej:

Wniosek

Aby uczynić obwody na poziomie dla początkujących lub zaawansowanych, platforma Arduino jest realną opcją, ponieważ ułatwia interfejsy peryferyjnych z mikrokontrolerem. W tym zapisie stworzyliśmy generator numerów loterii, otrzymując losowe liczby za pomocą losowy() funkcjonować. Ponadto, aby zmienić sekwencję generowania liczb losowych, których użyliśmy losowe () funkcjonować.