W tym projekcie zobaczymy, jak zrobić elektroniczną kostkę do gry na arduino, która daje liczbę od 1 do 6. Może to być bardzo przydatne, jeśli na przykład grasz w grę planszową. Projekt zawiera ekran LCD, który wyświetla liczbę i przycisk, aby uzyskać nową liczbę.

dé

Trudność :

Wymagane materiały

Przyjrzymy się teraz sprzętowi wymaganemu do realizacji projektu:

  • Płytka Arduino Uno
  • Ciekłokrystaliczny ekran LCD 16×2
  • Potencjometr
  • Jeden przycisk
  • Dwa rezystory 220 omów i 10 kiloomów
  • Przewody połączeniowe (około piętnastu!)

Schemat projektu

Jaki jest cel rezystora na przycisku?

Podczas korzystania z przycisku występują napięcia od 0 V do 5 V, które mogą powodować błędy podczas odczytywania wartości przycisku.

Rezystor na przycisku usuwa nieznany stan napięcia na przycisku, przywracając napięcie do 0 V lub 5 V, gdy przycisk nie jest już używany. Jest to rezystor podciągający. Więcej szczegółów można znaleźć w naszym kursie na ten temat.

Jaki jest cel potencjometru?

Potencjometr służy do regulacji jasności ekranu. Można się bez niego obejść, podłączając napięcie 5 V bezpośrednio do brązowego przewodu, a masę GND, która biegnie od potencjometru do ekranu, można podłączyć bezpośrednio do płytki Arduino.

Program projektu

/* 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); 
  }
}

Jak przenieść program na płytkę Arduino?

Aby wgrać program na płytkę Arduino, potrzebne będzie oprogramowanie Arduino Ide. Po zainstalowaniu oprogramowania wystarczy wybrać odpowiedni port dla płytki Arduino i wgrać program na płytkę.

Dlaczego używamy funkcji losowej od 1 do 7?

Funkcja random służy do generowania liczb losowych od 1 do 6. Jeśli jednak chcemy, aby liczba 6 została uwzględniona w generowaniu liczby, musimy przejść do 7, ponieważ ostatnia liczba nie jest uwzględniana ([1-7[)).

Symulacja

Oto projekt cyfrowej matrycy na tinkercad: