Hasilkan Angka Acak Menggunakan ESP32 dan Arduino IDE

Hasilkan Angka Acak Menggunakan Esp32 Dan Arduino Ide



Menggunakan ESP32 kita dapat membuat proyek yang berbeda dan membuat produk unik yang dapat memecahkan banyak masalah. ESP32 adalah papan mikrokontroler sehingga dengan menggunakan fungsi pemrograman Arduino IDE kita dapat membuat keluaran yang menarik. Pelajaran ini memandu bagaimana seseorang dapat menghasilkan angka acak menggunakan papan ESP32.

Apa itu Angka Acak

Angka acak memainkan peran utama dalam keamanan dan enkripsi. Anda mungkin telah menggunakan saran kata sandi Google. Ini bekerja berdasarkan prinsip yang mirip dengan menghasilkan angka acak.

Angka acak adalah urutan angka yang tidak dapat diprediksi, dan itu adalah angka yang dipilih dari sekumpulan angka.







Mengapa Kita Membutuhkan Angka Acak

Angka acak penting untuk operasi kriptografi, komputasi dan simulasi modern. Nomor acak juga membantu meningkatkan keamanan komputer. Berikut adalah beberapa aplikasi utama angka acak:



  • Angka acak yang digunakan dalam algoritma
  • Konten yang dihasilkan secara prosedural seperti gambar acak, nama, dan banyak lainnya
  • Untuk simulasi yang bersifat nondeterministik seperti apakah pola, pengocokan dadu dan pola cuaca

Seperti sekarang kita memahami aplikasi dasar generator angka acak ESP32, mari kita lihat kode dan menghasilkan beberapa angka acak.



Berfungsi untuk Menghasilkan Angka Acak di ESP32

Papan ESP32 berisi generator nomor acak perangkat keras yang menggunakan fungsi tersebut esp_random() .





esp_random() tidak mengambil argumen dan memberi kita nilai yang dihasilkan secara acak dari 0 hingga UINT32_MAX (ini adalah nilai maksimum yang dapat disimpan oleh int yang tidak ditandatangani di dalamnya).

Catatan : Satu hal yang perlu diingat di sini adalah generator nomor acak perangkat keras ESP32 bekerja menggunakan WiFi dan Bluetooth. Kebenaran angka acak hanya dihasilkan ketika keduanya diaktifkan. Jika keduanya dinonaktifkan, ESP32 hanya dapat menghasilkan a nomor semu . Untuk detail lebih lanjut, silakan periksa Dokumentasi Nomor Acak Espressif ESP32 .



Informasi yang menarik : Informasi menarik tentang pembuat nomor acak perangkat keras ESP32 adalah bahwa ESP32 telah lulus Testsuite Angka Acak Dieharder ketika sampel data 2GB diambil menggunakan ESP32 saat WiFi-nya diaktifkan. Mati lebih keras adalah ujian untuk penghasil angka acak.

Sintaksis
Berikut ini sintaks fungsi ESP32 untuk bilangan acak:

esp_random ( )

Kembali
Fungsi ini mengembalikan nilai acak antara 0 dan UINT32_MAX.

Kode untuk Menghasilkan Nomor Acak

Buka Arduino IDE dan unggah kode yang diberikan di ESP32 untuk menghasilkan angka acak antara 0 dan 4294967295 (nilai int unsigned maksimum).

pengaturan batal ( ) {
Serial.mulai ( 115200 ) ; /* Kecepatan Baud Ditentukan */
}
lingkaran kosong ( ) {
Serial.println ( '*********' ) ;
Serial.cetak ( 'Nomor Acak =' ) ;
Serial.println ( esp_random ( ) ) ; /* Cetak nomor acak dari 0 ke int unsigned terbesar */
menunda ( 2000 ) ; /* penundaan dari 2 detik */
}

Keluaran
Setelah mengupload kode, kita bisa melihat outputnya di serial monitor. Di sini kita dapat melihat ESP32 menghasilkan dua angka acak yang berbeda.

Kode untuk Menghasilkan Angka Acak antara Rentang Tertentu

Misalkan jika WiFi ESP32 tidak diaktifkan maka ada alternatif fungsinya esp_random() . Kita dapat menggunakan fungsi generator nomor acak Arduino (acak()) .

Dengan menggunakan fungsi ini, kita dapat menghasilkan angka acak apa pun dalam rentang tertentu.

Buka Arduino IDE dan unggah kode yang diberikan yang akan memberi kita nomor acak antara 10-20.

pengaturan batal ( ) {
Serial.mulai ( 115200 ) ; /* Kecepatan Baud Ditentukan */
}
lingkaran kosong ( ) {
Serial.println ( '*********' ) ;
Serial.cetak ( 'Bilangan Acak Antara 10 & 20 =' ) ; /* Cetak nomor acak antara 10 dan dua puluh */
Serial.println ( acak ( 10 , dua puluh ) ) ;
menunda ( 2000 ) ; /* penundaan dari 2 detik */
}

Keluaran
Output berikut dapat dilihat pada monitor serial: nomor acak dihasilkan setiap 2 detik.

Kami telah berhasil membahas fungsi yang digunakan ESP32 untuk menghasilkan angka acak.

Kesimpulan

Angka acak memainkan peran utama dalam probabilitas dan statistik. Ini juga membantu dalam enkripsi keamanan dan operasi kriptografi. Pelajaran ini akan memandu Anda menghasilkan angka acak yang berbeda. Kami juga dapat menentukan rentang untuk mendapatkan nomor acak.