SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
OPEN ACCESS 
Arduino: Simon dice, paso a paso 
Alberto Labarga – Experimental Serendipity S.L. 
Laboratorio de Fabricación Digital, Mutilva, 14 de Marzo de 2014
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/

Más contenido relacionado

La actualidad más candente

Sistemas variantes en el tiempo
Sistemas variantes en el tiempoSistemas variantes en el tiempo
Sistemas variantes en el tiempoSamyKharuf1
 
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdf
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdfejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdf
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdfNercy Karen Limachi Quispe
 
Electrónica de potencia
Electrónica de potenciaElectrónica de potencia
Electrónica de potenciaandres
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Israel Magaña
 
Energía en pequeñas cantidades Presión, vibración, o por calor
Energía en pequeñas cantidades Presión, vibración, o por calorEnergía en pequeñas cantidades Presión, vibración, o por calor
Energía en pequeñas cantidades Presión, vibración, o por calorAndres Rosas
 
Mat lab circuitos electricos
Mat lab circuitos electricosMat lab circuitos electricos
Mat lab circuitos electricossantos_27
 
Sistema Binario
Sistema BinarioSistema Binario
Sistema Binariogonzdanie
 
Algebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexor
Algebra de Boole, Mapas de Karnaugh, Mecanización y MultiplexorAlgebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexor
Algebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexoralejandrovirgenvalle
 
Diseño de engranes y flechas.
Diseño de engranes y flechas.Diseño de engranes y flechas.
Diseño de engranes y flechas.Martha Luna
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1SANTIAGO PABLO ALBERTO
 

La actualidad más candente (20)

Sistemas variantes en el tiempo
Sistemas variantes en el tiempoSistemas variantes en el tiempo
Sistemas variantes en el tiempo
 
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdf
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdfejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdf
ejercicios_3 ERROR EN ESTADO ESTACIONARIO (1).pdf
 
Tornillos pernos esparragos tuercas
Tornillos pernos esparragos tuercasTornillos pernos esparragos tuercas
Tornillos pernos esparragos tuercas
 
Electrónica de potencia
Electrónica de potenciaElectrónica de potencia
Electrónica de potencia
 
Generadores de CD
Generadores de CDGeneradores de CD
Generadores de CD
 
Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555Pulsos de reloj de Circuito integrado 555
Pulsos de reloj de Circuito integrado 555
 
Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Practica 1
Practica 1Practica 1
Practica 1
 
Los Engranaje Historia
Los Engranaje Historia Los Engranaje Historia
Los Engranaje Historia
 
Energía en pequeñas cantidades Presión, vibración, o por calor
Energía en pequeñas cantidades Presión, vibración, o por calorEnergía en pequeñas cantidades Presión, vibración, o por calor
Energía en pequeñas cantidades Presión, vibración, o por calor
 
Mat lab circuitos electricos
Mat lab circuitos electricosMat lab circuitos electricos
Mat lab circuitos electricos
 
Sistema Binario
Sistema BinarioSistema Binario
Sistema Binario
 
Rectificadores
Rectificadores Rectificadores
Rectificadores
 
Algebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexor
Algebra de Boole, Mapas de Karnaugh, Mecanización y MultiplexorAlgebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexor
Algebra de Boole, Mapas de Karnaugh, Mecanización y Multiplexor
 
Tiristores
TiristoresTiristores
Tiristores
 
Diseño de engranes y flechas.
Diseño de engranes y flechas.Diseño de engranes y flechas.
Diseño de engranes y flechas.
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1
 
Reloj digital
Reloj digitalReloj digital
Reloj digital
 
Conversor ad adc0804
Conversor ad adc0804 Conversor ad adc0804
Conversor ad adc0804
 

Similar a Práctica con Arduino: Simon Dice

Termómetro con arduino uno
Termómetro con arduino unoTermómetro con arduino uno
Termómetro con arduino unoIvan Espinosa
 
Arduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoArduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoSANTIAGO PABLO ALBERTO
 
Arduino pulsador
Arduino pulsador Arduino pulsador
Arduino pulsador PabloYez9
 
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...Alberto Labarga
 
Practicas IDE
Practicas IDEPracticas IDE
Practicas IDEVisemi VI
 
Practicas con arduino_nivel_1
Practicas con arduino_nivel_1Practicas con arduino_nivel_1
Practicas con arduino_nivel_1Didier Solis
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Ángel Acaymo M. G.
 
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
ARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdfARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdf
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdfJovanny Duque
 

Similar a Práctica con Arduino: Simon Dice (20)

Arduino Basico.pptx
Arduino Basico.pptxArduino Basico.pptx
Arduino Basico.pptx
 
Arduino
ArduinoArduino
Arduino
 
Repaso
RepasoRepaso
Repaso
 
Termómetro con arduino uno
Termómetro con arduino unoTermómetro con arduino uno
Termómetro con arduino uno
 
Arduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoArduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduino
 
Arduino pulsador
Arduino pulsador Arduino pulsador
Arduino pulsador
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
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...
 
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
 
Practicas simulador arduino del 1 al 8
Practicas simulador arduino del 1 al 8Practicas simulador arduino del 1 al 8
Practicas simulador arduino del 1 al 8
 
Arduino practicas
Arduino practicasArduino practicas
Arduino practicas
 
Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015Entrada digital con arduino y visual studio 2015
Entrada digital con arduino y visual studio 2015
 
Arduino Uno ejercicios prácticos
Arduino Uno ejercicios prácticos Arduino Uno ejercicios prácticos
Arduino Uno ejercicios prácticos
 
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
ARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdfARDUINO  GRAFCET   -  ESTRUCTURAS GRAFCET   -  ECUACION BINODAL  CON ARDUINO.pdf
ARDUINO GRAFCET - ESTRUCTURAS GRAFCET - ECUACION BINODAL CON ARDUINO.pdf
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
 

Más de Alberto Labarga

El Salto Communities - EditorsLab 2017
El Salto Communities - EditorsLab 2017El Salto Communities - EditorsLab 2017
El Salto Communities - EditorsLab 2017Alberto Labarga
 
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 DylanAlberto Labarga
 
Genome visualization challenges
Genome visualization challengesGenome visualization challenges
Genome visualization challengesAlberto Labarga
 
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 colaborativaAlberto Labarga
 
Hacksanfermin 2015 :: Dropcoin Street
Hacksanfermin 2015 :: Dropcoin StreetHacksanfermin 2015 :: Dropcoin Street
Hacksanfermin 2015 :: Dropcoin StreetAlberto Labarga
 
hacksanfermin 2015 :: Parking inteligente
hacksanfermin 2015 :: Parking inteligentehacksanfermin 2015 :: Parking inteligente
hacksanfermin 2015 :: Parking inteligenteAlberto Labarga
 
Vidas Contadas :: Visualizar 2015
Vidas Contadas :: Visualizar 2015Vidas Contadas :: Visualizar 2015
Vidas Contadas :: Visualizar 2015Alberto Labarga
 
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 #siglibre9Alberto Labarga
 
Arduino: Control de motores
Arduino: Control de motoresArduino: Control de motores
Arduino: Control de motoresAlberto Labarga
 
Entrada/salida analógica con Arduino
Entrada/salida analógica con ArduinoEntrada/salida analógica con Arduino
Entrada/salida analógica con ArduinoAlberto Labarga
 
Entrada/Salida digital con Arduino
Entrada/Salida digital con ArduinoEntrada/Salida digital con Arduino
Entrada/Salida digital con ArduinoAlberto Labarga
 
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 2014Alberto Labarga
 
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 2014Alberto Labarga
 
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 3DAlberto Labarga
 
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 SuzukiAlberto Labarga
 
Arduino: entrada/salida analógica
Arduino: entrada/salida analógicaArduino: entrada/salida analógica
Arduino: entrada/salida analógicaAlberto Labarga
 

Más de 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
 

Último

9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf socialesJhonathanRodriguez10
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .MiliMili32
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosDebora Gomez Bertoli
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdfgeraldoquispehuaman
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxErandiCamperoBojorge
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptxRosiClaros
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfelabarbosa396
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añosMaraPazCrdenas
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.SEAT
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.pptALEJANDRAKATHERINESA
 

Último (10)

9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales9-Sociales-Colombia siglo XX.pdf sociales
9-Sociales-Colombia siglo XX.pdf sociales
 
Linea del tiempo del celular .
Linea del tiempo del celular                   .Linea del tiempo del celular                   .
Linea del tiempo del celular .
 
Home Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todosHome Assistant - Un Hub para controlarlos a todos
Home Assistant - Un Hub para controlarlos a todos
 
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
1-ART 9 LEY 31953 - DDGPP - 22.01.2024.pdf
 
Patrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptxPatrones Funcionales de Marjory Gordon.pptx
Patrones Funcionales de Marjory Gordon.pptx
 
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
644400074-LA-CONSOLIDACION-DE-LA-REPUBLICA-OLIGARQUICA-pdf.pptx
 
La Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdfLa Electricidad y la Electrónica gabriela (1).pdf
La Electricidad y la Electrónica gabriela (1).pdf
 
linea de tiempo television y su avance en los años
linea de tiempo television y su avance en los añoslinea de tiempo television y su avance en los años
linea de tiempo television y su avance en los años
 
El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.El uso de las T I C en la vida cotidiana.
El uso de las T I C en la vida cotidiana.
 
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt137489674-Regimenes-Tributarios-MYPES-ppt.ppt
137489674-Regimenes-Tributarios-MYPES-ppt.ppt
 

Práctica con Arduino: Simon Dice

  • 1. OPEN ACCESS Arduino: Simon dice, paso a paso Alberto Labarga – Experimental Serendipity S.L. Laboratorio de Fabricación Digital, Mutilva, 14 de Marzo de 2014
  • 4.
  • 5. 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
  • 6. 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); }
  • 8. 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; }
  • 9. 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); } }
  • 11. 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 } }
  • 12. Reproducir secuencia void loop() { playSequence(simon, 10); }
  • 13. 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;
  • 14. 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); }
  • 16. 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"); }
  • 18. Importar librerías Ponemos el fichero de cabecera (*.h) en un directorio con el mismo nombre