I dette projekt skal vi se, hvordan man laver en elektronisk terning på arduino, som giver dig et tal mellem 1 og 6. Det kan være meget nyttigt, hvis man f.eks. spiller et brætspil. Projektet indeholder en LCD-skærm, der viser tallet, og en trykknap til at få et nyt tal.

dé

Sværhedsgrad :

Nødvendige materialer

Nu skal vi se på det udstyr, der skal bruges til projektet:

  • Et Arduino Uno-board
  • En 16×2 LCD-skærm med flydende krystaller
  • Et potentiometer
  • En trykknap
  • To modstande på 220ohm og 10 kilo-ohm
  • Tilslutningsledninger (ca. femten!)

Projektdiagram

Hvad er formålet med modstanden på trykknappen?

Når man bruger en trykknap, er der spændinger mellem 0V og 5V, som kan give fejl, når man aflæser trykknappens værdi.

Modstanden på trykknappen fjerner den ukendte spændingstilstand på trykknappen ved at returnere spændingen til 0V eller 5V, når trykknappen ikke længere bruges. Dette er en pull down-modstand. Du kan se vores kursus om dette for at få flere detaljer.

Hvad er formålet med potentiometeret?

Potentiometeret bruges til at justere skærmens lysstyrke. Du kan undvære det ved at tilslutte 5V direkte til den brune ledning, og GND, der går fra potentiometeret til skærmen, kan tilsluttes direkte til Arduino-kortet.

Projektets program

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

Hvordan får jeg programmet ind på Arduino-kortet?

For at uploade programmet til dit Arduino-board skal du bruge Arduino Ide-softwaren. Når softwaren er installeret, skal du bare vælge den rigtige port til dit Arduino-board og uploade programmet til dit board. Du kan se vores kursus om dette for at få flere detaljer.

Hvorfor bruger vi den tilfældige funktion fra 1 til 7?

Random-funktionen bruges til at generere et tilfældigt tal fra 1 til 6. Men hvis vi vil have tallet 6 med i genereringen af tallet, er vi nødt til at gå op til 7, fordi det sidste tal ikke er med ([1-7[).

Simulering

Her er det digitale die-projekt på tinkercad: