Acabo de empezar un proyecto con arduino, un contador de vida tanto para yugioh como para magic:
Iremos añadiendo cosas poco a poco, no quiero que me deis la solución sin Explicacion, quiero aprender.
Cosas que añadir:
-
Alpha-Imprescindible
-
Yugioh
-
1VS1
-
Otras:
-
Sumas
-
Restas
-
1/2 y x2
-
Beta-Obtativos
-
Yugioh
-
2VS2
-
1VS2
-
XVSX
-
TodosVSTodos(Hasta 10 Personas)
-
Dados:
-
6 Caras
-
Monedas:
-
Cara y Cruz
-
Contador de:
-
Tiempo Total y de Turnos
-
Victorias
-
Contadores
-
Turnos
-
Release-Prescindibles
-
Magic:
-
1VS1
-
2VS2
-
1VS2
-
XVSX
-
TodosVSTodos(Hasta 10 Personas)
-
GH2
-
...
-
Vida:
-
Veneno
-
Dados:
-
1 Caras
-
2 Caras
-
3 Caras
-
4 Caras
-
6 Caras
-
8 Caras
-
10 Caras
-
12 Caras
-
20 Caras
-
30 Caras
-
100 Caras
-
Planar
-
...
-
dX
-
YdX
-
A Mayores:
-
Registro En SD
-
Registro por RJ45/Wifi
-
Introduccion de letras
-
Animaciones
-
Conexion BlueTooth Android
Teclados/Botones,por cada Usuario:
- Direcciones: ↑,↓,→,←
- Numeros: 1,2,3,4,5,6,7,8,9,0,00,000
- Menu: MEnu/Atras,OK
- Operaciones: +,-,:,x
- Teclas Rapidas:
- Yugioh: +50,+100,+500,+1000,-50,-100,-500,-1000
- Magic: +1,+5,+10,-1,-5,-10
- Otros: x2,:2,A1
Materiales:
- Arduino UNOr3
- Pulsadores
- Protoboard
- Cables
- Resistencias
- LCD 16x2 (Tengo pensado cambiarlo, por una de 20x4 )
Problemas que me he encontrado:
- Lcd Con demasidos pines, teniendo en cuenta que neceseito usar 2 minimo, cada una con 6 pines se me vuleve imposible
- Pulsadores, lo mismo, como conectar todos los pulsadores sin que me ocupen tantos pines
#include <LiquidCrystal.h> //Libreria LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Pines LCD
word Local= 8000; //Constante: La vida del jugador local
word Visitante= 8000;//Constante: La vida del jugador Visitante
byte flechaD [8] = { //Flecha Derecha
B01000,
B01100,
B01110,
B01111,
B01110,
B01100,
B01000,
B00000,
};
byte flechaI [8] = { //Flecha Izquierda
B00010,
B00110,
B01110,
B11110,
B01110,
B00110,
B00010,
B00000,
};
void setup() {
lcd.begin(16,2);//tamaño del lcd
lcd.createChar(0, flechaD); //flechad
lcd.createChar(1, flechaI); //flechai
//configuracion de los primeros botones de pruebas
pinMode (12, INPUT); // +50 de vida local
pinMode (11, INPUT); // -50 de vida local
pinMode (10, INPUT); // +50 de vida visitante
pinMode (9, INPUT); // -50 de vida visitante
lcd.clear(); //borrado de lcd
lcd.setCursor(16, 0); //entradilla
lcd.print("Contador Vida YGO Y MTG");
lcd.setCursor(16, 1);
lcd.print("Creado Por Adrianalex");
for (int positionCounter = 0; positionCounter < 23; positionCounter++) {
lcd.scrollDisplayLeft();
delay(300);
};
delay(1000);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 0);//colocacion de cada parte del lcd
lcd.print("LP");
lcd.setCursor(3, 0);
lcd.print(word(Local));
lcd.setCursor(8, 0);
lcd.print("LP");
lcd.setCursor(11, 0);
lcd.print(word(Visitante));
lcd.setCursor(0, 1);
lcd.print("Local");
lcd.setCursor(8, 1);
lcd.print("Visit");
lcd.setCursor(15,1);
lcd.write(byte(0));
lcd.setCursor(14,1);
lcd.write(byte(1));
}