Práctica SERPIENTES Y ESCALERAS
En este tutorial vamos a hacer nuestro propio dado para jugar Serpientes y escaleras con Arduino.
Para descargar el tablero da click aquí: tablero serpientes y escaleras
Este es un proyecto simple y es ideal para conocer más de los fundamentos de
Arduino . Este proyecto utiliza una variedad de LEDs y resistencias para hacer el circuito. También usaremos un interruptor para decirle a nuestro Arduino cuándo generar una nueva cara de dados.
Componentes
El equipo que necesitarás en este proyecto de dados Arduino se enumeran a continuación:
Arduino Uno
7 LEDs
7 resistencias de 100 ohmios (marrón negro marrón)
1 resistencia de 100k ohmio 100k (amarillo negro marrón)
Interruptor / pulsador físico
Tablero de circuitos o breadboard
Cable para el tablero
Esquema del circuito
Este circuito como he dicho antes es relativamente fácil y puede ser rápidamente realizado. En el siguiente diagrama de circuitos de abajo servirá para ayudarte a ser capaz de colocar todo en el lugar correcto. Debajo del diagrama continua la explicación.
Un interruptor está configurado en un circuito de tipo H, por ejemplo en nuestro diagrama es un lado H. Los cables superior izquierdo y superior derecho están separados de los cables inferiores. Al pulsar el botón se conecta la parte superior y la parte inferior de los cables que forman un circuito activando así nuestros dados. Ejecutamos una conexión 3v3 al interruptor y tenemos una resistencia de 100k a tierra. Entre el resistor de 100k y el interruptor tenemos el cable funcionando hasta el pin 2. Esto detectará cuando el interruptor ha sido presionado.
Cada uno de los LEDs se posicionan para asemejarse a una cara de dado. Estos están un poco más espaciados por lo que es más fácil de ver en el circuito de diagrama de arriba.
Cada uno de los LEDs está conectado al raíl de tierra a través de una resistencia de 100 ohmios. El final positivo de los LEDS se conecta a un pin en el Arduino . Puedes ver qué LED están conectados a qué pin en la tabla de abajo.
El sketch
//Code Arduino Dice //Pin to to turn dice on & off int button = 2; //LED for DICE int bottomLeft = 3; int middleLeft = 4; int upperLeft = 5; int middle = 6; int bottomRight = 7; int middleRight = 8; int upperRight = 9; int state = 0; long randNumber; //Initial setup void setup(){ pinMode(bottomLeft, OUTPUT); pinMode(middleLeft, OUTPUT); pinMode(upperLeft, OUTPUT); pinMode(middle, OUTPUT); pinMode(bottomRight, OUTPUT); pinMode(middleRight, OUTPUT); pinMode(upperRight, OUTPUT); pinMode(button, INPUT); Serial.begin(9600); randomSeed(analogRead(0)); } void loop(){ //Read our button if high then run dice if (digitalRead(button) == HIGH && state == 0){ state = 1; randNumber = random(1, 7); delay(100); Serial.println(randNumber); if (randNumber == 6){ six(); } if (randNumber == 5){ five(); } if (randNumber == 4){ four(); } if (randNumber == 3){ three(); } if (randNumber == 2){ two(); } if (randNumber == 1){ one(); } delay(5000); clearAll(); state = 0; } } //Create a function for each of our "sides" of the die void six() { digitalWrite(bottomLeft, HIGH); digitalWrite(middleLeft, HIGH); digitalWrite(upperLeft, HIGH); digitalWrite(bottomRight, HIGH); digitalWrite(middleRight, HIGH); digitalWrite(upperRight, HIGH); } void five() { digitalWrite(upperLeft, HIGH); digitalWrite(bottomLeft, HIGH); digitalWrite(middle, HIGH); digitalWrite(upperRight, HIGH); digitalWrite(bottomRight, HIGH); } void four() { digitalWrite(upperLeft, HIGH); digitalWrite(bottomLeft, HIGH); digitalWrite(upperRight, HIGH); digitalWrite(bottomRight, HIGH); } void three() { digitalWrite(upperLeft, HIGH); digitalWrite(middle, HIGH); digitalWrite(bottomRight, HIGH); } void two() { digitalWrite(bottomRight, HIGH); digitalWrite(upperLeft, HIGH); } void one(){ digitalWrite(middle, HIGH); } void clearAll(){ digitalWrite(bottomLeft, LOW); digitalWrite(middleLeft, LOW); digitalWrite(upperLeft, LOW); digitalWrite(middle,LOW); digitalWrite(bottomRight, LOW); digitalWrite(middleRight, LOW); digitalWrite(upperRight, LOW); }
Comentarios
Publicar un comentario