Random Numbers in Arduino
Pelajari selengkapnya dari kursus lengkap
Arduino Programming and Hardware Fundamentals with Hackster
Learn electrical engineering basics to build circuits and program Arduino to make wearables, robots, and IoT devices
Video atas permintaan 06:47:50 • Diperbarui Februari 2023
Master the fundamentals of Arduino programming with C/C++
Build functioning circuits on a breadboard
Control sensors, robots, and Internet of Things (IoT) devices using Arduino
Write programs that perform basic math, light up LEDs, and control motors
Design circuits and write code for your own project
Indonesia [Auto]
Terkadang Anda tidak ingin harus menunggu input pengguna dan kadang-kadang Anda hanya tidak ingin hal-hal yang sudah ditentukan sebelumnya. Jika Anda ingin kekacauan dalam program Anda, ada kabar baik. Anda dapat menghasilkan angka acak tetapi perlu upaya untuk mengatur, mari kita cetak 5 angka acak ke terminal serial segera setelah program dimulai dalam pengaturan. Kanan. Serial dock dimulai. Sembilan puluh enam ratus di bawah hak itu untuk itu. Sama dengan nol semi-colon. Saya kurang dari lima di usus saya, saya plus plus tutup yang terbuka kurung kurawal di bawah bahwa dat serial mencetak kurung acak terbuka satu koma 101 kurung tutup dan kemudian serial dot cetak mengutip tanda kutip ruang dan pastikan Anda telah menutup itu untuk loop di bawah itu serial print dot kanan. L. N. buka kurung tutup kurung. Kami menggunakan fungsi acak bawaan Arduino untuk mewujudkannya. Kami memberi makan secara acak ke bilangan bulat karena argumen acak akan secara acak memilih bilangan bulat antara dua bilangan bulat ini termasuk yang pertama tetapi tidak termasuk yang kedua dalam contoh kami, acak akan mengembalikan sesuatu antara 1 dan 100 yang berarti minimum adalah 1 dan nilai maksimum adalah satu kurang dari argumen kedua berjalan kita melihat lima angka yang tampaknya acak antara 1 dan 100 dicetak ke terminal. Mengapa saya katakan sepertinya. Baiklah saya tekan tombol reset pada Arduino saya apa yang terjadi. Itu adalah angka yang sama yang saya dapat terus menekan tombol reset dan nomor acak yang seharusnya akan terus muncul. Apa yang terjadi di sini. Untuk mengetahuinya, kita beralih ke panduan referensi tepercaya kami di arguido dot CC. Gulir ke bawah ke angka acak dan klik acak. Ini mengatakan bahwa angka-angka tersebut pseudo random pseudo random berarti bahwa angka-angka memenuhi satu atau lebih tes statistik untuk keacakan tetapi dihasilkan oleh prosedur matematika yang pasti. Ini berarti bahwa angka dan atau urutan jika dibandingkan satu sama lain adalah acak. Namun algoritma khusus yang digunakan untuk menghasilkan angka-angka ini akan menghasilkan urutan yang sama setiap waktu. Cara untuk menghindari ini adalah dengan mengatur seed generator nomor acak. Ini hanyalah nomor lain yang digunakan untuk menginisialisasi generator untuk melakukan panggilan acak ini. Buka tanda kurung 10 tanda kurung tertutup sesaat sebelum serial dimulai. Unggah dan lihat hasilnya. A ha. Nomor yang berbeda. OK, mari kita atur ulang ledakan Arduino. Ini adalah kumpulan angka yang sama berulang-ulang. Benih mengubah urutan nomor acak semu. Tetapi memiliki seed konstan menyebabkan set angka yang sama muncul lagi. Kita perlu menemukan cara untuk mengubah benih setiap kali kita memulai program. Bisakah Anda memikirkan sesuatu yang mungkin berbeda. Setiap kali kita menggunakan kekuatan Arduino. Ini bukan masalah yang mudah. Untuk menghasilkan bilangan yang benar-benar acak, kita membutuhkan benih yang benar-benar acak. Salah satu trik yang bisa kita lakukan di Arduino adalah membaca tegangan dari pin analog yang tidak kita gunakan. Jika pin tidak terpasang pada apa pun, kita dapat menganggapnya melayang yang artinya voltase tidak diketahui karena cara kerja internal Arduino. Kemungkinan berada di suatu tempat antara 0 dan 5 volt tetapi kami tidak tahu apa nilai itu. Kedengarannya sangat acak. Jadi kami mengganti 10 dengan analog membaca nol. Ini membaca tegangan analog dengan menyematkan nol pada Arduino dan mengembalikan angka antara 0 untuk 0 volt dan 1023 untuk 5 volt. Kita akan berbicara lebih detail tentang membaca voltase analog dalam kuliah nanti, tetapi untuk sekarang ketahui bahwa ini bekerja dengan baik untuk menyemai generator angka acak Anda. Klik unggah dan lihat monitor serial Anda. Sekarang ketika saya mengatur ulang Arduino Anda akan melihat set yang jauh lebih acak muncul setiap waktu. Ingat trik ini hanya berfungsi jika Anda tidak terhubung ke 0. Mengemudi tegangan ke nilai tertentu. Jika Anda tidak memiliki port analog yang tersedia, ada beberapa trik lain yang dapat Anda lakukan untuk mendapatkan seed secara acak. Misalnya, Anda dapat menghitung waktu yang diperlukan seseorang untuk menekan tombol. Ternyata manusia tidak setepat itu. Jadi menghitung waktu input pengguna adalah hal yang cukup acak untuk dilakukan. Untuk saat ini ketahuilah bahwa menggunakan pembacaan analog akan membantu Anda memenuhi sebagian besar kebutuhan penyemaian acak.