Dalam proyek ini kita akan melihat cara membuat dadu elektronik di Arduino yang memberi Anda angka antara 1 dan 6. Ini bisa sangat berguna jika Anda memainkan permainan papan, misalnya. Proyek ini berisi layar LCD yang menampilkan angka dan sebuah tombol tekan untuk mendapatkan angka baru.

dé

Kesulitan :

Bahan yang dibutuhkan

Sekarang kami akan membuat daftar peralatan yang diperlukan untuk proyek ini:

  • Papan Arduino Uno
  • Layar LCD 16×2 dengan kristal cair
  • Sebuah potensiometer
  • Sebuah tombol tekan
  • Dua resistor 220 ohm dan 10 kilo ohm
  • Kabel koneksi (sekitar lima belas!)

Diagram proyek

Apa tujuan resistor pada tombol tekan?

Ketika menggunakan tombol tekan, terdapat tegangan antara 0V dan 5V yang dapat memberikan kesalahan ketika membaca nilai tombol tekan.

Resistor pada tombol tekan menghilangkan kondisi tegangan yang tidak diketahui pada tombol tekan dengan mengembalikan tegangan ke 0V atau 5V ketika tombol tekan tidak lagi digunakan. Ini adalah resistor pull down. Anda dapat menonton kursus kami tentang ini untuk lebih jelasnya.

Apa tujuan dari potensiometer?

Potensiometer digunakan untuk mengatur kecerahan layar. Anda dapat melakukannya tanpa potensiometer dengan menghubungkan 5V secara langsung ke kabel coklat dan GND yang mengalir dari potensiometer ke layar dapat dihubungkan secara langsung ke papan Arduino.

Program proyek

/* Program for Electronic Dice on Arduino */

#include <LiquidCrystal.h> // LCD Screen Library
const int button_pin = 7; // The push button is on pin 7

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Initialize the pins used by the LCD screen

void setup() {
  lcd.begin(16, 2); // Initialize the LCD screen
  int random_number = random(1, 7); // Generate a random number between 1 and 6 for the dice
  lcd.print("Dice Number: "); // Display the text
  lcd.setCursor(13, 0); // Position the cursor for the dice number
  lcd.print(random_number); // Display the random number
}

void loop() {
  lcd.setCursor(0, 1); // Reset cursor to the beginning of the second line
  int button_state = digitalRead(button_pin); // Read the push button value
  if (button_state == 0) { // If the push button is pressed, change the number
    lcd.clear(); // Clear the LCD screen
    int random_number = random(1, 7); // Calculate the new random number
    lcd.print("Dice Number: "); // Display the text
    lcd.setCursor(13, 0);
    lcd.print(random_number); 
  }
}

Bagaimana cara memasukkan program ke papan Arduino?

Untuk mengunggah program ke papan Arduino, Anda memerlukan perangkat lunak Arduino Ide. Setelah perangkat lunak terinstal, yang harus Anda lakukan adalah memilih port yang tepat untuk papan Arduino Anda dan mengunggah program ke papan Anda. Anda dapat menonton kursus kami tentang hal ini untuk lebih jelasnya.

Mengapa kita menggunakan fungsi acak dari 1 hingga 7?

Fungsi acak digunakan untuk menghasilkan angka acak dari 1 hingga 6. Namun, jika kita ingin angka 6 disertakan dalam pembangkitan angka, maka kita harus naik ke angka 7 karena angka terakhir tidak disertakan ([1-7[).

Simulasi

Berikut ini adalah proyek cetakan digital pada tinkercad: