SlideShare a Scribd company logo
1 of 19
Download to read offline
Arduino: Simon dice, paso a paso
Alberto Labarga – Experimental Serendipity S.L.
Laboratorio de Fabricación Digital, Mutilva, 14 de Marzo de 2014
OPEN ACCESS
http://www.apptivismo.org/laboratorio-fabricacion-digital/
Wifi
WLAN_5B44
X0C8OH1SQO8RH5L2OLGC
Paso a paso
● Controlar los cambios de estado del
pulsador
● Reproducir una secuencia de luces
● Simón dice
● Cargar liberías. Reproducir sonidos
● Simón dice con sonidos
Pulsador con cambio de estado
// Variables para guardar los estados del pulsador
int estado = 1; // estado del pulsador (como usamos PULL UP, comienza a HIGH)
int estado_anterior = 1; // estado anterior
bool encendido = false; // el led comienza apagado
void setup() {
// inicializamos el pin del pulsador como INPUT (con resistencia PULL UP interna)
pinMode(buttonPin, INPUT_PULLUP);
// initializamos el pin del led como OUTPUT
pinMode(ledPin, OUTPUT);
}
http://www.apptivismo.org/laboratorio-fabricacion-digital/descargas/codigo/CambioEstado/
Pulsador con cambio de estado
void loop() {
// leemos el estado del pulsador
estado = digitalRead(buttonPin);
// comparamos el estado actual con el anterior
if (estado != estado_anterior) {
// cuando soltamos el pulsador
if (buttonState == HIGH) {
if (encendido) { // si estaba encendido lo apago
digitalWrite(ledPin, LOW);
ncendido = false;
} else { // si estaba apagado lo enciendo
digitalWrite(ledPin, HIGH);
encendido = true;
}
}
}
estado_anterior = estado;
}
Reproducir secuencia
int simon[] = {0, 2, 1, 1, 3, 2, 0, 1, 2, 3}; // Secuencia de 10 elementos
int leds[] = {10, 11, 12, 13}; // LED pins
void setup() {
// initializar los pines como salida
for (int i=0; i<4; i++){
pinMode(leds[i], OUTPUT);
}
}
http://www.apptivismo.org/laboratorio-fabricacion-digital/descargas/codigo/Secuencia/
Reproducir secuencia
void playSequence(int seq[],int n){
for (int i=0; i<n; i++){
int s = seq[i]; // qué led debo encender en el turno i?
int led = leds[s]; // qué pin corresponde a ese led?
digitalWrite(led, HIGH); // enciendo el led
delay(1000); // espero un segundo
digitalWrite(led, LOW); // apago el led
delay(1000); // espero un segundo
}
}
Reproducir secuencia
void loop() {
playSequence(simon, 10);
}
Simon dice
int simon[20]; // tabla donde guardo la secuencia generada por el juego
int jugador[20]; // tabla donde guardo la secuencia introducida poe el jugador
int botones[] = {2, 3, 4, 5}; //The four button input pins
int leds[] = {10, 11, 12, 13}; // LED pins
int turno = 0; // el turno
boolean pulsado = false; // hemos pulsado el boton
boolean game_over = false; // hemos perdido
// variables auxiliares
int ledPin;
int botonPin;
int estado;
Simon dice
void setup() {
// initializar los pines como salida
for (int i=0; i<4; i++){
pinMode(leds[i], OUTPUT);
}
// initializar los pines botonescomo entrada
for (int i=0; i<4; i++){
pinMode(botones[i], INPUT_PULLUP);
}
// inicializar la semilla de nuemeros aleatorios
randomSeed(analogRead(0));
// abrir la conexión serie con el PC
Serial.begin(9600);
}
http://www.apptivismo.org/laboratorio-fabricacion-digital/descargas/codigo/SimonSays/
Simon dice
// reproducir una secuencia seq de longitud n
void playSequence(int seq[],int n){
int s;
// para cada elemento de la secuencia, enciendo y apago el led
for (int i=0; i<n; i++){
s = seq[i];
ledPin = leds[s];
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(500);
// mostrar info en pantalla
Serial.print(s);
Serial.print(" ");
}
Serial.println();
Serial.println("Tu turno");
}
http://arduino.cc/en/Tutorial/Tone
Importar librerías
Ponemos el fichero de cabecera
(*.h) en un directorio con el
mismo nombre
http://www.apptivismo.org/laboratorio-fabricacion-digital/descargas/codigo/SimonSaysTone/

More Related Content

What's hot

54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops
SENA-CIMI-GIRON
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discreto
guest1e528d
 
Analisis de error en estado estacionario
Analisis de error en estado estacionarioAnalisis de error en estado estacionario
Analisis de error en estado estacionario
Henry Alvarado
 

What's hot (20)

Series de fourier
Series de fourierSeries de fourier
Series de fourier
 
Oscilador controlado por voltaje VCO
Oscilador controlado por voltaje VCOOscilador controlado por voltaje VCO
Oscilador controlado por voltaje VCO
 
Práctica de flip flops
Práctica de flip flopsPráctica de flip flops
Práctica de flip flops
 
Introducción a los comunicaciones electron1cas
Introducción a los comunicaciones electron1casIntroducción a los comunicaciones electron1cas
Introducción a los comunicaciones electron1cas
 
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
 
Mezcladores
MezcladoresMezcladores
Mezcladores
 
Proyectos electrónica digital
Proyectos electrónica digitalProyectos electrónica digital
Proyectos electrónica digital
 
Campos Electromagneticos - Tema 5
Campos Electromagneticos - Tema 5Campos Electromagneticos - Tema 5
Campos Electromagneticos - Tema 5
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops
 
Convolucion Tiempo Discreto
Convolucion Tiempo DiscretoConvolucion Tiempo Discreto
Convolucion Tiempo Discreto
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
Sistemas digitales (primer informe)
Sistemas digitales (primer informe)Sistemas digitales (primer informe)
Sistemas digitales (primer informe)
 
Simulacion de fluid sim y tia portal
Simulacion de fluid sim y tia portalSimulacion de fluid sim y tia portal
Simulacion de fluid sim y tia portal
 
Sesion 7 S Dbos
Sesion 7 S DbosSesion 7 S Dbos
Sesion 7 S Dbos
 
Analisis de error en estado estacionario
Analisis de error en estado estacionarioAnalisis de error en estado estacionario
Analisis de error en estado estacionario
 
Circuitos Digitales - Contador ascendente y descendente con reset
Circuitos Digitales - Contador ascendente y descendente con resetCircuitos Digitales - Contador ascendente y descendente con reset
Circuitos Digitales - Contador ascendente y descendente con reset
 
Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111Diapositiva de codificadores y decodificadores circuitos logicos1111111
Diapositiva de codificadores y decodificadores circuitos logicos1111111
 
CONVERTIDOR ANALÓGICO DIGITAL
CONVERTIDOR ANALÓGICO DIGITALCONVERTIDOR ANALÓGICO DIGITAL
CONVERTIDOR ANALÓGICO DIGITAL
 
Trabajo sobre Flip Flop
Trabajo sobre Flip FlopTrabajo sobre Flip Flop
Trabajo sobre Flip Flop
 
Practica Filtro pasa bajos
Practica Filtro pasa bajosPractica Filtro pasa bajos
Practica Filtro pasa bajos
 

Similar to Arduino: Programando el Simon dice

Examen molina-giulietti2
Examen molina-giulietti2Examen molina-giulietti2
Examen molina-giulietti2
MediaLabUC
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4
TALLERMICROS
 

Similar to Arduino: Programando el Simon dice (20)

Arduino Basico.pptx
Arduino Basico.pptxArduino Basico.pptx
Arduino Basico.pptx
 
Termómetro con arduino uno
Termómetro con arduino unoTermómetro con arduino uno
Termómetro con arduino uno
 
Practicas con arduino nivel i
Practicas con arduino nivel iPracticas con arduino nivel i
Practicas con arduino nivel i
 
Practicas IDE
Practicas IDEPracticas IDE
Practicas IDE
 
Practicas
PracticasPracticas
Practicas
 
Practicas con arduino_nivel_1
Practicas con arduino_nivel_1Practicas con arduino_nivel_1
Practicas con arduino_nivel_1
 
Arduino 1 jose m. ruiz
Arduino 1   jose m. ruizArduino 1   jose m. ruiz
Arduino 1 jose m. ruiz
 
Repaso
RepasoRepaso
Repaso
 
Arduino practicas
Arduino practicasArduino practicas
Arduino practicas
 
Programacionmandobrazorobot
ProgramacionmandobrazorobotProgramacionmandobrazorobot
Programacionmandobrazorobot
 
Arduino pulsador
Arduino pulsador Arduino pulsador
Arduino pulsador
 
Arduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoArduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduino
 
Práctica05.Interrupciones en Arduino
Práctica05.Interrupciones en ArduinoPráctica05.Interrupciones en Arduino
Práctica05.Interrupciones en Arduino
 
Arduino Uno ejercicios prácticos
Arduino Uno ejercicios prácticos Arduino Uno ejercicios prácticos
Arduino Uno ejercicios prácticos
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
Examen molina-giulietti2
Examen molina-giulietti2Examen molina-giulietti2
Examen molina-giulietti2
 
Arduino
ArduinoArduino
Arduino
 
Microcontroladores clase 4
Microcontroladores clase 4Microcontroladores clase 4
Microcontroladores clase 4
 
Introducción a la plataforma Arduino - Laboratorio de Fabricación Digital UPN...
Introducción a la plataforma Arduino - Laboratorio de Fabricación Digital UPN...Introducción a la plataforma Arduino - Laboratorio de Fabricación Digital UPN...
Introducción a la plataforma Arduino - Laboratorio de Fabricación Digital UPN...
 

More from Alberto Labarga

More from Alberto Labarga (20)

El Salto Communities - EditorsLab 2017
El Salto Communities - EditorsLab 2017El Salto Communities - EditorsLab 2017
El Salto Communities - EditorsLab 2017
 
Shokesu - Premio Nobel de Literatura a Bob Dylan
Shokesu - Premio Nobel de Literatura a Bob DylanShokesu - Premio Nobel de Literatura a Bob Dylan
Shokesu - Premio Nobel de Literatura a Bob Dylan
 
Genome visualization challenges
Genome visualization challengesGenome visualization challenges
Genome visualization challenges
 
SocialLearning: descubriendo contenidos educativos de manera colaborativa
SocialLearning: descubriendo contenidos educativos de manera colaborativaSocialLearning: descubriendo contenidos educativos de manera colaborativa
SocialLearning: descubriendo contenidos educativos de manera colaborativa
 
Hacksanfermin 2015 :: Dropcoin Street
Hacksanfermin 2015 :: Dropcoin StreetHacksanfermin 2015 :: Dropcoin Street
Hacksanfermin 2015 :: Dropcoin Street
 
hacksanfermin 2015 :: Parking inteligente
hacksanfermin 2015 :: Parking inteligentehacksanfermin 2015 :: Parking inteligente
hacksanfermin 2015 :: Parking inteligente
 
jpd5 big data
jpd5 big datajpd5 big data
jpd5 big data
 
Vidas Contadas :: Visualizar 2015
Vidas Contadas :: Visualizar 2015Vidas Contadas :: Visualizar 2015
Vidas Contadas :: Visualizar 2015
 
Periodismo de datos y visualización de datos abiertos #siglibre9
Periodismo de datos y visualización de datos abiertos #siglibre9Periodismo de datos y visualización de datos abiertos #siglibre9
Periodismo de datos y visualización de datos abiertos #siglibre9
 
myHealthHackmedicine
myHealthHackmedicinemyHealthHackmedicine
myHealthHackmedicine
 
Big Data y Salud
Big Data y SaludBig Data y Salud
Big Data y Salud
 
Arduino: Control de motores
Arduino: Control de motoresArduino: Control de motores
Arduino: Control de motores
 
Entrada/salida analógica con Arduino
Entrada/salida analógica con ArduinoEntrada/salida analógica con Arduino
Entrada/salida analógica con Arduino
 
Entrada/Salida digital con Arduino
Entrada/Salida digital con ArduinoEntrada/Salida digital con Arduino
Entrada/Salida digital con Arduino
 
Presentación Laboratorio de Fabricación Digital UPNA 2014
Presentación Laboratorio de Fabricación Digital UPNA 2014Presentación Laboratorio de Fabricación Digital UPNA 2014
Presentación Laboratorio de Fabricación Digital UPNA 2014
 
Conceptos de electrónica - Laboratorio de Fabricación Digital UPNA 2014
Conceptos de electrónica - Laboratorio de Fabricación Digital UPNA 2014Conceptos de electrónica - Laboratorio de Fabricación Digital UPNA 2014
Conceptos de electrónica - Laboratorio de Fabricación Digital UPNA 2014
 
Introducción a la impresión 3D
Introducción a la impresión 3DIntroducción a la impresión 3D
Introducción a la impresión 3D
 
Vidas Contadas
Vidas ContadasVidas Contadas
Vidas Contadas
 
La vida y trabajo de Shinichi Suzuki
La vida y trabajo de Shinichi SuzukiLa vida y trabajo de Shinichi Suzuki
La vida y trabajo de Shinichi Suzuki
 
Arduino: entrada/salida analógica
Arduino: entrada/salida analógicaArduino: entrada/salida analógica
Arduino: entrada/salida analógica
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Recently uploaded (15)

Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Arduino: Programando el Simon dice