Random Number Generator merupakan sistem yang digunakan untuk menghasilkan angka secara acak. Konsep ini banyak digunakan dalam berbagai aplikasi, seperti permainan, simulasi, sistem keamanan, pengujian program, hingga pembelajaran pemrograman. Pada artikel ini, kita akan mencoba membuat Pico Random Number Generator dengan LED menggunakan Raspberry Pi Pico dan MicroPython. Raspberry Pi Pico akan menghasilkan angka secara acak dalam rentang tertentu, sedangkan LED digunakan sebagai indikator bahwa proses pengacakan angka sedang berlangsung. Selain itu, hasil angka random akan ditampilkan melalui Serial Monitor pada Thonny IDE, sehingga kita dapat melihat angka yang dihasilkan oleh Raspberry Pi Pico secara langsung.
Komponen yang Dibutuhkan
Untuk membuat proyek random number generator Raspberry Pi Pico ini, beberapa komponen yang diperlukan antara lain:
- Raspberry Pi Pico
- LED 5 mm
- Resistor 220Ω atau 330Ω
- Breadboard
- Kabel jumper
- Kabel USB
Pada proyek ini tidak diperlukan sensor atau modul tambahan. Proses pembuatan angka acak dilakukan langsung menggunakan fungsi random pada MicroPython.
Baca juga: Keypad 4x4 Raspberry Pi Pico: Fungsi, Wiring dan Contoh Program MicroPython
Cara Kerja Random Number Generator Raspberry Pi Pico
Secara sederhana, Raspberry Pi Pico akan menjalankan program yang menghasilkan angka secara acak menggunakan modul random. Program dapat menentukan rentang angka yang ingin dihasilkan. Sebagai contoh, kita menggunakan rentang 1 sampai 100. Setiap kali program melakukan proses random, Raspberry Pi Pico akan menghasilkan sebuah angka baru. LED digunakan sebagai indikator proses tersebut. Ketika angka random berhasil dibuat, LED akan menyala sebentar kemudian mati kembali. Alur kerja sistem dapat digambarkan sebagai berikut:
Raspberry Pi Pico → Menghasilkan angka random → LED menyala → Hasil ditampilkan pada Serial Monitor
Dengan cara tersebut, LED tidak digunakan untuk menampilkan nilai angka secara langsung, tetapi sebagai indikator bahwa angka random telah dihasilkan.
Rangkaian Raspberry Pi Pico dengan LED
Rangkaian yang digunakan cukup sederhana karena hanya membutuhkan satu LED sebagai indikator.
Wiring LED
Hubungkan komponen dengan Raspberry Pi Pico seperti berikut:
Resistor harus dipasang secara seri dengan LED untuk membatasi arus yang melewati LED.
Jika menggunakan LED dengan dua kaki, kaki yang lebih panjang biasanya merupakan anoda (+), sedangkan kaki yang lebih pendek merupakan katoda (-).
Gambaran Rangkaian
Rangkaian sederhananya adalah:
GP15 → Resistor 220Ω/330Ω → Anoda LED
Katoda LED → GND
Pin GP15 akan digunakan sebagai output untuk mengontrol LED.
Program Random Number Generator dengan MicroPython
Setelah rangkaian selesai dibuat, Raspberry Pi Pico dapat diprogram menggunakan MicroPython melalui Thonny IDE. Berikut program yang digunakan:
from machine import Pin
from time import sleep
import random
# Konfigurasi LED
led = Pin(15, Pin.OUT)
while True:
# Menghasilkan angka random dari 1 sampai 100
angka_random = random.randint(1, 100)
# Menampilkan hasil pada Serial Monitor
print("Angka Random:", angka_random)
# LED menyala sebagai indikator
led.value(1)
sleep(0.2)
# LED mati
led.value(0)
# Jeda sebelum menghasilkan angka berikutnya
sleep(1)
Penjelasan Program
Program di atas menggunakan beberapa bagian utama yang memiliki fungsi berbeda.
1. Import Library
from machine import Pin
from time import sleep
import random
Bagian ini digunakan untuk memasukkan library yang diperlukan. Pin digunakan untuk mengontrol pin GPIO Raspberry Pi Pico. Sementara itu, sleep digunakan untuk memberikan jeda waktu pada program. Library random digunakan untuk menghasilkan angka secara acak.
2. Mengatur Pin LED
led = Pin(15, Pin.OUT)
Baris tersebut menetapkan GP15 sebagai output. Output GP15 digunakan untuk mengatur kondisi LED. Ketika diberikan nilai 1, LED menyala. Sebaliknya, ketika diberikan nilai 0, LED mati.
3. Menghasilkan Angka Acak
angka_random = random.randint(1, 100)
Fungsi randint() digunakan untuk menghasilkan bilangan bulat secara acak. Pada contoh tersebut:
- Angka minimum = 1
- Angka maksimum = 100
Artinya, setiap kali baris tersebut dijalankan, Raspberry Pi Pico akan menghasilkan angka antara 1 hingga 100.
Misalnya hasilnya:
Angka Random: 27
Angka Random: 84
Angka Random: 13
Angka Random: 65
Setiap hasil dapat berbeda karena angka dihasilkan secara acak oleh program.
4. Menampilkan Hasil Random
print("Angka Random:", angka_random)
Perintah print() digunakan untuk menampilkan angka yang dihasilkan pada Serial Monitor. Jika menggunakan Thonny, hasil tersebut dapat dilihat pada bagian Shell.
5. Mengontrol LED
led.value(1)
sleep(0.2)
led.value(0)
Ketika angka random berhasil dibuat, LED akan menyala selama sekitar 0,2 detik. Setelah itu, LED akan dimatikan. Dengan demikian, LED akan berkedip setiap kali Raspberry Pi Pico menghasilkan angka random baru.
Contoh Hasil Program
Setelah program dijalankan, bagian Shell pada Thonny dapat menampilkan hasil seperti berikut:
Pada saat angka tersebut muncul, LED akan berkedip sebagai indikator bahwa proses random number generator sedang berjalan. Setelah jeda sekitar satu detik, Raspberry Pi Pico akan menghasilkan angka berikutnya.
Mengubah Rentang Angka Random
Rentang angka yang dihasilkan dapat diubah dengan mengganti parameter pada fungsi randint(). Misalnya ingin menghasilkan angka 1 sampai 10:
angka_random = random.randint(1, 10)
Jika ingin menghasilkan angka 1 sampai 1000:
angka_random = random.randint(1, 1000)
Dengan demikian, program random number generator Raspberry Pi Pico dapat disesuaikan dengan kebutuhan.
Membuat LED Bereaksi Berdasarkan Angka Random
Selain hanya berkedip setiap kali angka dibuat, LED juga dapat digunakan untuk memberikan respons berdasarkan hasil random. Sebagai contoh, LED dapat dibuat menyala ketika angka random merupakan bilangan genap dan mati ketika angka tersebut merupakan bilangan ganjil. Programnya dapat diubah menjadi:
from machine import Pin
from time import sleep
import random
# Konfigurasi LED
led = Pin(15, Pin.OUT)
while True:
# Menghasilkan angka random
angka_random = random.randint(1, 100)
print("Angka Random:", angka_random)
# Memeriksa apakah angka genap
if angka_random % 2 == 0:
led.value(1)
print("Hasil: Angka Genap - LED ON")
else:
led.value(0)
print("Hasil: Angka Ganjil - LED OFF")
sleep(1)
Pada program tersebut digunakan operator % atau modulus. Contohnya: 8 % 2 = 0. Karena hasilnya 0, angka 8 merupakan bilangan genap. Sedangkan 7 % 2 = 1. Karena hasilnya bukan 0, angka 7 merupakan bilangan ganjil. Dengan demikian, sistem memiliki perilaku sebagai berikut:
Cara ini membuat penggunaan LED menjadi lebih interaktif karena kondisi LED bergantung pada hasil angka random.
Mengapa Menggunakan Random Number Generator?
Eksperimen random number generator dengan Raspberry Pi Pico dapat digunakan untuk memahami beberapa konsep dasar pemrograman dan mikrokontroler. Beberapa konsep yang dapat dipelajari antara lain:
- Penggunaan library MicroPython
- Penggunaan fungsi random.randint()
- Penggunaan GPIO Raspberry Pi Pico
- Pengontrolan LED
- Penggunaan perulangan while
- Penggunaan percabangan if-else
- Penggunaan operator modulus
- Menampilkan data melalui Serial Monitor
Proyek ini juga dapat menjadi dasar untuk membuat sistem yang lebih kompleks.
Pengembangan Proyek
Setelah berhasil membuat Pico Random Number Generator dengan LED, proyek dapat dikembangkan dengan menambahkan komponen lain.
1. Random Number dengan Push Button
Push button dapat digunakan untuk menentukan kapan angka random dibuat. Jadi, Raspberry Pi Pico tidak menghasilkan angka secara terus-menerus. Angka baru akan dibuat ketika pengguna menekan tombol. Konsepnya menjadi:
Push Button → Raspberry Pi Pico → Generate Random Number → LED → Serial Monitor
Proyek tersebut akan terasa lebih seperti random number generator sederhana yang dapat digunakan sebagai simulasi dadu atau permainan.
2. Random Number sebagai Simulasi Dadu
Rentang angka juga dapat diubah menjadi 1 sampai 6:
angka_random = random.randint(1, 6)
Dengan demikian, Raspberry Pi Pico dapat digunakan sebagai simulasi dadu elektronik.
LED bahkan dapat dikembangkan agar digunakan untuk merepresentasikan angka dadu secara visual.
3. Menggunakan Beberapa LED
Satu LED juga dapat diganti dengan beberapa LED. Misalnya, menggunakan beberapa LED untuk memberikan indikator berdasarkan rentang angka:
- 1–25 → LED 1
- 26–50 → LED 2
- 51–75 → LED 3
- 76–100 → LED 4
Dengan cara tersebut, proyek random number generator Raspberry Pi Pico dapat dibuat lebih interaktif.
Baca juga: Membuat Sistem Keamanan Raspberry Pi Pico dengan Keypad 4x4 dan Alarm Buzzer
Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar