Wygeneruj liczby losowe za pomocą ESPTOP 10 i Arduino IDE

Wygeneruj liczby losowe za pomocą ESPTOP 10 i Arduino IDE
Korzystając z ESP32, możemy tworzyć różne projekty i tworzyć unikalne produkty, które mogą rozwiązać wiele problemów. ESP32 to płyta mikrokontrolera, więc używając funkcji programowania Arduino IDE, możemy stworzyć interesujące wyjście. Ta lekcja prowadzi, w jaki sposób można generować liczby losowe za pomocą płyty ESP32.

Jakie są liczby losowe

Losowe liczby odgrywają główną rolę w bezpieczeństwie i szyfrowaniu. Być może użyłeś sugestii hasła Google. Działa na zasadzie, która jest w jakiś sposób podobna do generowania liczb losowych.

Liczby losowe są sekwencją liczb, których nie można przewidzieć, i jest to liczba wybrana z zestawu liczb.

Dlaczego potrzebujemy liczb losowych

Losowe liczby są ważne dla operacji kryptograficznych, współczesnych obliczeń i symulacji. Losowe liczby pomagają również zwiększyć bezpieczeństwo komputerowe. Oto kilka głównych zastosowań liczb losowych:

  • Losowe liczby używane w algorytmach
  • Proceduracyjnie generowana treści, takie jak losowe obrazy, nazwy i wiele innych
  • Dla symulacji, które są nieokerministyczne, takie jak wzór, tasowanie kości i wzorce pogodowe

Jak teraz rozumiemy podstawowe zastosowania generatora liczb losowych ESP32.

Funkcja generowania liczby losowej w ESP32

Płyta ESP32 zawiera generator liczby losowych sprzętowych, który korzysta z funkcji esp_random ().

esp_random () Nie bierze żadnego argumentu i daje nam wartość losowo wygenerowaną od 0 do UINT32_MAX (jest to maksymalna wartość, którą bez znaku może przechowywać w nim).

Notatka: Jedną rzeczą do zapamiętania jest generator losowych numerów ESP32 za pomocą Wi -Fi i Bluetooth. Prawda Liczba losowa jest generowany tylko wtedy, gdy oba są włączone. Jeśli te dwa są wyłączone ESP32, mogą wygenerować tylko Pseudo numer. Aby uzyskać więcej informacji, sprawdź dokumentację losową espressif ESP32.

Interesująca informacja: Interesującą informacją o generatoru losowego liczb sprzętowych ESP32 jest to, że ESP32 przekazał TestSuite liczby losowej zaliczającej, gdy próbka danych 2 GB jest pobierana za pomocą ESP32, gdy włączono jego Wi -Fi. Die Harder to test generatora liczb losowych.

Składnia
Oto składnia funkcji ESP32 dla liczby losowej:

esp_random ()

Powrót
Ta funkcja zwraca wartość losową między 0 a uint32_max.

Kod do wygenerowania liczby losowej

Otwórz Arduino IDE i prześlij dany kod w ESP32, aby wygenerować liczbę losową między 0 a 4294967295 (maksymalna wartość INT niepodpisana).

void setup ()
Seryjny.rozpocząć (115200); /*Definiowana szybkość transmisji*/

void Loop ()
Seryjny.println („**********”);
Seryjny.print („losowy numer =”);
Seryjny.println (esp_random ()); /*Wydrukuj dowolną liczbę losową od 0 do największego niepodpisanego int*/
Opóźnienie (2000); /*Opóźnienie 2 sekund*/

Wyjście
Po przesłaniu kodu możemy zobaczyć dane wyjściowe w monitor szeregowych. Tutaj możemy zobaczyć ESP32 wygenerował dwie różne liczby losowe.

Kod do wygenerowania losowej liczby między określonym zakresem

Załóżmy, że jeśli WIFI ESP32 nie jest włączone, istnieje alternatywa dla funkcjonowania esp_random (). Możemy użyć funkcji generatora liczb losowych Arduino (losowy()).

Korzystając z tej funkcji, możemy wygenerować dowolną liczbę losową w określonym zakresie.

Otwórz Arduino IDE i prześlij dany kod, który da nam losową liczbę między 10-20.

void setup ()
Seryjny.rozpocząć (115200); /*Definiowana szybkość transmisji*/

void Loop ()
Seryjny.println („**********”);
Seryjny.wydrukuj („Losowa liczba między 10 a 20 =”);/*Wydrukuj dowolną liczbę losową między 10 a 20*/
Seryjny.println (losowe (10,20));
Opóźnienie (2000); /*Opóźnienie 2 sekund*/

Wyjście
Następujące wyjście można zobaczyć na monitor szeregowych: liczba losowa jest generowana co 2 sekundy.

Z powodzeniem omówiliśmy funkcje, których ESP32 użył do generowania liczb losowych.

Wniosek

Losowe liczby odgrywają główną rolę w prawdopodobieństwie i statystyce. Jest to również pomocne w szyfrowaniu bezpieczeństwa i operacjach kryptograficznych. Ta lekcja poprowadzi Cię w generowaniu różnych liczb losowych. Możemy również zdefiniować zakres, aby uzyskać liczbę losową.