Dado Eléctrico
Después de varias semanas, por fin hemos terminado este proyecto.
Para hacer este dado, hemos usado visualino y arduino, el código lo hemos generado con visualino y lo comprobado en arduino.
Antes de todo, con las indicaciones del drive hemos proyectado el dado electrónico sobre la placa arduino.
Los componentes son:
- Placa arduino
- Pulsador
- Dos resistencias
- Un panel LED
- Cable de conexión(macho,macho)
Placa arduino: Arduino es una plataforma de hardware y software de código abierto, basada en una sencilla placa con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación Processing. Es decir, una plataforma de código abierto para prototipos electrónicos.
Pulsador: Hace función de botón.
Resistencias: Es un componente eléctrico pasivo de dos terminales que introduce una resistencia eléctrica en el lugar del circuito donde se coloque. Está formada por carbón y otros elementos que en cierto modo “absorben” la corriente que circula por ellas. Los que entendáis un poco del tema pensaréis que acabo de decir una barbaridad, pero el concepto general es “absorber”.
Pulsador: Hace función de botón.
Resistencias: Es un componente eléctrico pasivo de dos terminales que introduce una resistencia eléctrica en el lugar del circuito donde se coloque. Está formada por carbón y otros elementos que en cierto modo “absorben” la corriente que circula por ellas. Los que entendáis un poco del tema pensaréis que acabo de decir una barbaridad, pero el concepto general es “absorber”.
Panel LED: Es un diodo emisor de luz, es decir, un tipo particular de diodo que emite luz al ser atravesado por una corriente eléctrica. Los diodos (emisor de luz, o no) son unos de los dispositivos electrónicos fundamentales.
Cable de conexión: Es un cable con un conector en cada punta (o a veces sin ellos), que se usa normalmente para interconectar entre sí los componentes en una placa de pruebas. P.E.: se utilizan de forma general para transferir señales eléctricas de cualquier parte de la placa de prototipos a los pines de entrada/salida de un microcontrolador.
Código
/*** Global variables ***/
int pulsador=7;
int lectura_pulsador;
int a=11;
int b=13;
int c=2;
int d=3;
int e=4;
int f=5;
int g=6;
int i=0;
int valor=0;
int contador=0;
/*** Function declaration ***/
void uno ();
void dos ();
void cero ();
void tres ();
void cuatro ();
void cinco ();
void seis ();
void siete ();
void ocho ();
void nueve ();
void girar ();
void setup()
{
lectura_pulsador=false;
}
void loop()
{
cero();
do {
pinMode(pulsador,INPUT);
lectura_pulsador=digitalRead(pulsador);
} while (!(lectura_pulsador == true));
valor=random(1,7);
for (contador = 0; contador <= 4; contador++) {
girar();
}
if (valor == 1) {
uno();
}else if (valor == 2) {
dos();
}else if (valor == 3) {
tres();
}else if (valor == 4) {
cuatro();
}else if (valor == 5) {
cinco();
}else if (valor == 6) {
seis();
}
do {
pinMode(pulsador,INPUT);
lectura_pulsador=digitalRead(pulsador);
} while (!(lectura_pulsador == true));
girar();
}
/*** Function definition ***/
void uno () {
pinMode(a,OUTPUT);
digitalWrite(a,LOW);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
pinMode(g,OUTPUT);
digitalWrite(g,LOW);
}
void dos () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,LOW);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,HIGH);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void cero () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(a,OUTPUT);
digitalWrite(a,LOW);
delay(100);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,LOW);
delay(100);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,LOW);
delay(100);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
delay(100);
pinMode(e,OUTPUT);
digitalWrite(e,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
delay(100);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
delay(100);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,LOW);
}
void tres () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void cuatro () {
pinMode(a,OUTPUT);
digitalWrite(a,LOW);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void cinco () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,LOW);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void seis () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,LOW);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,HIGH);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void siete () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
pinMode(g,OUTPUT);
digitalWrite(g,LOW);
}
void ocho () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
pinMode(e,OUTPUT);
digitalWrite(e,HIGH);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void nueve () {
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
pinMode(g,OUTPUT);
digitalWrite(g,HIGH);
}
void girar () {
pinMode(g,OUTPUT);
digitalWrite(g,LOW);
pinMode(a,OUTPUT);
digitalWrite(a,HIGH);
delay(100);
pinMode(a,OUTPUT);
digitalWrite(a,LOW);
pinMode(b,OUTPUT);
digitalWrite(b,HIGH);
delay(100);
pinMode(b,OUTPUT);
digitalWrite(b,LOW);
pinMode(c,OUTPUT);
digitalWrite(c,HIGH);
delay(100);
pinMode(c,OUTPUT);
digitalWrite(c,LOW);
pinMode(d,OUTPUT);
digitalWrite(d,HIGH);
delay(100);
pinMode(d,OUTPUT);
digitalWrite(d,LOW);
pinMode(e,OUTPUT);
digitalWrite(e,HIGH);
delay(100);
pinMode(e,OUTPUT);
digitalWrite(e,LOW);
pinMode(f,OUTPUT);
digitalWrite(f,HIGH);
delay(100);
pinMode(f,OUTPUT);
digitalWrite(f,LOW);
}
No hay comentarios:
Publicar un comentario