Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD

Componentes y materiales

Protoboard (genérica) 1
Cables jumper (genéricos) 1
LCD Estándar Adafruit - 16x2 Blanco sobre Azul 1
Cable USB-A a B 1
Arduino UNO 1
Potenciómetro rotativo (genérico) 1
Interruptor pulsador SparkFun 12mm 1

Sobre este proyecto

Ideación

Este proyecto se basó en la idea de que me había aburrido de mis dados de juego normales estándar. Así que, para arreglar mi aburrimiento, decidí usar mi LCD de Arduino y un pulsador estándar (con placa breakout) y hacer que el Arduino leyera el estado del pin de señal en la placa del botón a alto o bajo (alto si el botón no está presionado) (bajo si no lo está). Dependiendo del estado, se quedaría en la pantalla principal o mostraría que los dados están rodando y luego imprimiría dos números aleatorios del 1-6 (como un dado).

Código

El código (Arduino)

#include 

long randNumber;
int Led = 13; // definir puerto LED
int Shock = 2; // definir puerto shock
int val; // definir variable digital val

// inicializar la librería con los números de los pines de interfaz
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

byte customChar[] = {
  B00000,
  B00000,
  B11111,
  B11001,
  B10101,
  B10011,
  B11111,
  B00000
};

void setup() {
  lcd.begin(16, 2);
  lcd.createChar(0, customChar);
  lcd.home();
  pinMode(Led, OUTPUT); // definir LED como puerto de salida
  randomSeed(analogRead(0));
  pinMode(Shock, INPUT); // definir sensor de shock como puerto de entrada
  lcd.write(byte(0));
  lcd.print("Digital dice");
  lcd.write(byte(0));
  delay(1000);
}

void loop() {
  val = digitalRead(Shock); // leer el valor de la interfaz digital 3 asignada a val
  if (val == LOW) // cuando el sensor de shock tiene señal hacer lo siguiente
  {
    lcd.clear();
    lcd.print("Rolling dice...");
    delay(4000);
    lcd.clear();
    lcd.setCursor(0, 0);
    randNumber = random(1, 7);
    lcd.print("Dice 1 = ");
    lcd.print(randNumber);
    lcd.setCursor(0, 1);
    randNumber = random(1, 7);
    lcd.print("Dice 2 = ");
    lcd.print(randNumber);
  }
  delay(150);
}

Esquemáticos

Esquemático disponible (imagen)

Proceso de manufactura

  1. Detector de idiomas TinyML con Edge Impulse en Arduino Nano 33 BLE Sense
  2. Construye un Juego Giroscópico en Tiempo Real con Arduino Nano y Sensor MPU-6050
  3. Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso
  4. Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
  5. Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
  6. Medición de Distancia en Tiempo Real con Sonar Arduino y Visualización en Processing
  7. Construir una lámpara de escritorio reactiva al audio con Arduino Nano
  8. Pong Neón en Matriz NeoPixel con Arduino Nano
  9. Construye un volante joystick personalizado con Arduino para gaming
  10. Arduino 101: Construye un Podómetro con Sensor DHT11 y Pantalla LCD
  11. Construye un Mezclador de Colores RGB con Arduino – Tutorial Paso a Paso