Excelente, me funcionó a la perfección. Para los que preguntan por el circuito eléctrico y la programación, está en los links de la descripción. Saludos desde Argentina
@@rephaen11 el código es el mismo, verificaste bien errores de conexión en todos los pines? Es habitual y le pasó, que queden desconectado pero visualmente se veían bien. Otra cosa, revisa las salidas del Arduino correctas, en mi caso use el Leonardo.
En nuestro caso usando el cableado del video y el código del enlace, tuvimos que modificar las líneas de lectura de los botones por 'if(digitalRead(ENTRADA_C) == LOW){' y funcionó!! muy divertido
Bro y si al parecer es el codigo porque me pasa que prenden los colores con sonido y luego me da el sonido que perdi y sucesivamente se repite pero no me deja precionar boton para jugarlo
Gracias genio quedo hermoso el proyecto muchas gracias por hacer estos vídeos tan interesantes seguí haciendo así mas vídeos explicando lo que vas haciendo y todo vas muy bien.
hola disculpame, una vez que subo el codigo prenden 2 leds, no me da tiempo ni a tocar el boton y empiezan a titilar digamos todas como si hubiera perdido y empieza de nuevo y hace exactamente lo mismo, que puede ser??
Hola Alejandro, a mi me sucede lo mismo que a vos. ¿Pudiste solucionarlo? Avisame cual es la posible solucion. Desde ya muchas gracias Por cierto lo que nos compartiste @Robot UNO, muy bueno!!!!
@@Tato3037 holaaa, lo que me pasó a mí fue que yo utilizaba los botones grandes, no sé si afecta en algo o no, desp utilizé los chiquitos y copié nuevamente el código y ahí me funciono
Realice el codigo y el montaje tal cual y solo inicia el juego y una sesion de luces no me deja hacer nada cuando automaticamente pierdo, alguien sabe lo puedo solucionar
Que genial tu proyecto, me ha parecido muy chulo, es posible que me envíes en código para replicarlo en mi clase? Por cierto me ha encantado tu explicación 🤩
Muy bueno!!!! una pregunta por alguna razon cuando el arduino esta conectado a la computadora no pasa nada pero cuando lo conecto con la pila de 9v después de un rato, las luces se pones locas y empieza a titilar una luz en el arduino (L) que puede ser? cuando hice el proyecto del "ping pong" me paso lo mismo... saludos!!!
oye ami no me funciona por que cuando presiono amarillo no pasa nada y es infinito asta que presione otro y se reinicio pero el amarillo sige con un bucle
hola fiera gracias por enseñarnos algo nuevo (tengo un problema con el codigo) he copiado tanto el esquema visual que has segido como el codigo que has dejado en los comentarios y no funciona (por lo que veo el codigo salta solo no deja pulsar los botones y cada dos acciones pierdes intento darle a reset a la placa y nada) ¿que puedo hacer?
A mi me pasa q si conecto el positivo no hace nada y si lo desconecto inicia el juego pero inmediatamente pierdo. No da tiempo de presionar los botones.
Como puedo programar al Arduino para que me guíe los juego de luces ya estoy con ese curso de electonica y ya tengo que en pesar a ser con el Arduino por fis
Hola Bro, estuve intentando hacerlo, pero al ingresar el código en el ID Arduino me sale "Compilación error: error: 2 UNKNOWN: no FQBN providee", no se si puedas ayudarme, te agradecería, esto me gusta mucho... ya compre todo para probarlo... quedo atento a tu respuesta
Yo nomas lo conecto y sempiesa ensendiendo dos les y no cambia de esos y no me deja presionar los botones y el código esta correcto y las conexiones también, que esta pasando?
perfecto amigo ....me puedes pasar el diagrama electrico xfa.......a podria poner switch o botones de 2 patitas y como los conecto....gracias....salu2 desde tabasco.mexico
@@RobotUNO Da este error: invalid conversion from 'int*' to 'long unsigned int' [-fpermissive] Además de esta nota: initializing argument 3 of 'void tone(uint8_t, unsigned int, long unsigned int)'
@@RobotUNO Ese error da debido a que al llamar al array "duracionNotas" en la línea 150 sin especificar el elemento hace un puntero, y ese valor es inválido para el contructor, se soluciona especificando el elemento del array, cambiando en la línea 150 "duracionNotas" por "duracionNotas[i]" sin las comillas
👇Más Proyectos de Electronica y Arduino👇
www.robotuno.com/
Quiero que me pase el código genio por favor
Pasa el código por Favor
Codigo por favor
Código por favor 😅
Buenaas ¿me pasas el codigo? O donde lo copio?
funciona de lujo, cambié en la linea 150 "duracionNotas" por "duracionNotas[i]" y me anduvo, también verifiquen que los leds tengan negativo conectado
Bro me puedes pasar el codigo
Teneis el codigo?
Excelente, me funcionó a la perfección. Para los que preguntan por el circuito eléctrico y la programación, está en los links de la descripción. Saludos desde Argentina
oye una pregunta al hacerlo no te dio errores, tu crees que si lo hago ahora con el codigo seguira sirviendo ?
@@rephaen11 el código es el mismo, verificaste bien errores de conexión en todos los pines? Es habitual y le pasó, que queden desconectado pero visualmente se veían bien. Otra cosa, revisa las salidas del Arduino correctas, en mi caso use el Leonardo.
@@Eliassam5 puse el código tal y cómo esta en la pagina y ma marca error y muchas líneas
En nuestro caso usando el cableado del video y el código del enlace, tuvimos que modificar las líneas de lectura de los botones por 'if(digitalRead(ENTRADA_C) == LOW){' y funcionó!! muy divertido
Hola , en que linea se modifica? saludos
Ya está corregido en la página ahora. La modificación era cambiar a LOW en las líneas 81, 95, 109 y 123
Bro y si al parecer es el codigo porque me pasa que prenden los colores con sonido y luego me da el sonido que perdi y sucesivamente se repite pero no me deja precionar boton para jugarlo
@@maxramirez8133 si a mi me pasa lo mismo alquien sabe como se arregla como se arregla...
Gracias genio quedo hermoso el proyecto muchas gracias por hacer estos vídeos tan interesantes seguí haciendo así mas vídeos explicando lo que vas haciendo y todo vas muy bien.
Muchisimas gracias!! Un saludo compañero!!
@@RobotUNO me pasa el código del Arduino xff
Una maravilla... Funciona 10 puntos. Muchas gracias
NOTA: cuando hagan la conexion, metanse al esquematico del link donde viene el programa, por que como el conecta los push botton esta mal
Buenas, me puedes dar el diagrama de como armarlo, ya que lo hice no me funciono, pero los leds encendieron y el buzer no sono, plis.
a mi me paso al reves JAJAJAJ
Saludos, me encantan tus proyectos, podrian enviarme el codigo x favor
hola disculpame, una vez que subo el codigo prenden 2 leds, no me da tiempo ni a tocar el boton y empiezan a titilar digamos todas como si hubiera perdido y empieza de nuevo y hace exactamente lo mismo, que puede ser??
Te has asegurado de que el montaje sea el correcto?? No se cual puede ser el error....
@@RobotUNO Sisi, el montaje esta tal cual lo mostraste en el video
Pues no se a que se puede deber... prueba a volver a copiar el codigo, por si acaso...
Hola Alejandro, a mi me sucede lo mismo que a vos. ¿Pudiste solucionarlo? Avisame cual es la posible solucion. Desde ya muchas gracias
Por cierto lo que nos compartiste @Robot UNO, muy bueno!!!!
@@Tato3037 holaaa, lo que me pasó a mí fue que yo utilizaba los botones grandes, no sé si afecta en algo o no, desp utilizé los chiquitos y copié nuevamente el código y ahí me funciono
Realice el codigo y el montaje tal cual y solo inicia el juego y una sesion de luces no me deja hacer nada cuando automaticamente pierdo, alguien sabe lo puedo solucionar
Hola quisiera hacer el juego con 2 o 4 luces más. Se puede hacer?
Hola, puedo conseguir el codigo?
Que genial tu proyecto, me ha parecido muy chulo, es posible que me envíes en código para replicarlo en mi clase? Por cierto me ha encantado tu explicación 🤩
Me funciona bien el único problema es que siempre es la misma secuencia no se si se podra arreglar de alguna forma
Hola amigo, me ha parecido muy interesante este proyecto y me preguntaba... Me puedes pasar el codigo a bloques de tinkercad porfas?? 😢😢
Que onda viejo, mira. ¿El buzzer que usaste es pasivo o activo?
Realicé el circuito y copié el código pero lo único que sucede es sonar la bocina. Que puede ser?
Me pasa lo mismo
Muy bueno!!!! una pregunta por alguna razon cuando el arduino esta conectado a la computadora no pasa nada pero cuando lo conecto con la pila de 9v después de un rato, las luces se pones locas y empieza a titilar una luz en el arduino (L) que puede ser? cuando hice el proyecto del "ping pong" me paso lo mismo... saludos!!!
La verdad es que no se porque pasa eso, ¿Has comprobado que la pila no este muy gastada? solo se me ocurre eso
@@RobotUNO a mi me pasa q a cierto nivel se empiezan a apagar, o muy tenues las luces, estando conectada a la pc
oye ami no me funciona por que cuando presiono amarillo no pasa nada y es infinito asta que presione otro y se reinicio pero el amarillo sige con un bucle
hola fiera gracias por enseñarnos algo nuevo (tengo un problema con el codigo)
he copiado tanto el esquema visual que has segido como el codigo que has dejado en los comentarios y no funciona (por lo que veo el codigo salta solo no deja pulsar los botones y cada dos acciones pierdes intento darle a reset a la placa y nada) ¿que puedo hacer?
Quizas sea un problema de las conexiones de los botones, comprueba que estan correctamente conectados. Si no es eso, no se a que se puede deber.
A MI ME PASO LO MISMO POR QUE SERA??????
A mi me pasa q si conecto el positivo no hace nada y si lo desconecto inicia el juego pero inmediatamente pierdo. No da tiempo de presionar los botones.
Pudiste solucionarlo??? Me pasa lo mismo que a vos
Me pasa lo mismo carnal, tendrás el fallo solucionado?
Me paso lo mismo lo pudieron solucionar?
EL JUEGO SE JUEGA A SI MIISMO Y NO SE PUEDE JUGAR PERO PROBE SACAR LOS BOTONES Y SE JUEGA SOLO IGUAL NO SE QUE HACER NECESITO ¡AYUDA!
Como asi que juega solo? no es necesario los botones de abajo?
Ola...me puedes compartir el código completo porfa
Hola! Tienes el enlace en la descripción
@@RobotUNO Hice todo a la perfección pero solo realiza una secuencia de encendido de leds. Sabes que puede ser ?
Como puedo programar al Arduino para que me guíe los juego de luces ya estoy con ese curso de electonica y ya tengo que en pesar a ser con el Arduino por fis
Hola Bro, estuve intentando hacerlo, pero al ingresar el código en el ID Arduino me sale "Compilación error: error: 2 UNKNOWN: no FQBN providee", no se si puedas ayudarme, te agradecería, esto me gusta mucho... ya compre todo para probarlo... quedo atento a tu respuesta
Me pasas el codigo
Tienes que especificarle al programa que placa Arduino estás usando.
Perdona el codigo donde esta?
Soy al único que el código no le sirve
Ami tampoco 😭
Parece faltarle una llave al final
Nop, sigo sin encontrar el error
Una pregunta, cómo se llama ese tipo de buzzer? 🥴
Disculpa cuando subo el programa al Arduino marca error
Que puedo hacer?
que error te pone?
@@RobotUNO en melodía error
@@joesaacrb2088 me pasas el código también me sale ese error
hola! que pagina o programa utilizaste para crear el esquema en la pc?
Yo nomas lo conecto y sempiesa ensendiendo dos les y no cambia de esos y no me deja presionar los botones y el código esta correcto y las conexiones también, que esta pasando?
Pudiste solucionar bro me pasa lo mismo no deja ni presionar el boton
Los cables chiquitos son los mismos que los leds?
Hola cuando pongo el código dice : In function 'void melodiaError()':
No se a que se puede deber el error, se lo paso de nuevo por si hubo algun problema
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
Listo gracias
Por favor me regala el código completo.
Gracias
Porque cuando lo quiero iniciar no prende el led que empieza la secuencia?
hola, no me funcionan los push botton
Que chuli! ❤️
Muchas gracias Alejandro!
Me puedes compartir el código completo
Por supuesto!!! aqui lo tienes Paula!
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
me funciono muchas gracias
Holaa, disculpa me podrías pasar el código??
Tendrás un juego donde se utilice el visual y arduino? 🥺
No, lo siento, nunca he utilizado ese programa : (
@@RobotUNO Muchas gracias 😊
Disculpa el código me lo pasas ?
Me puedes ayudar con la programación del proyecto
Ayuda no me prenden los 2 leds de en medio
perfecto amigo ....me puedes pasar el diagrama electrico xfa.......a podria poner switch o botones de 2 patitas y como los conecto....gracias....salu2 desde tabasco.mexico
Hola, disculpa, como debo colocar el código? En que programa?
Se puede poner en make block?
Es en arduino
Me pueden pasar el código plis?
Hola. Me gustaría hacerlo. Me pasarías el código por favor?
seguí el video pero solo suena el buzzer como si siempre termino la partida , no me prenden los leds.. alguna idea ?
Me pasa lo mismo, encontraste alguna solución a tu pregunta?
Para el codigo
Puedes explicar todo el código
Sigue asi bro!
El código cuál es tengo que hacer un proyecto sobre esto 😢😢😢
Aqui lo tienes!!
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
Como se utiliza el codigo? Lo que pasa es que no se como comenzar el juego ni nada de eso
alguen me puede ayudar?
Tienes que descargarte la aplicacion de arduino IDE. a partir de ahi se puede cargar el codigo
Te comento que el código da error en el Buzzer
Que error te da?
@@RobotUNO Da este error:
invalid conversion from 'int*' to 'long unsigned int' [-fpermissive]
Además de esta nota:
initializing argument 3 of 'void tone(uint8_t, unsigned int, long unsigned int)'
@@RobotUNO Ese error da debido a que al llamar al array "duracionNotas" en la línea 150 sin especificar el elemento hace un puntero, y ese valor es inválido para el contructor, se soluciona especificando el elemento del array, cambiando en la línea 150 "duracionNotas" por "duracionNotas[i]" sin las comillas
Me podría pasar el codigo y el diagrama!!! Por favor
cual es el codigo papus?
Hola me gustaria el codigo porfavor
quiero el codigo de programacion
Muy Bueno!!
Puedes darme el código porfa?
Hola necesito el codigo
Me pasarias el código?
Tienes el diagrama? 😢
Código porfa 1:34
Pasa el código de este video
buen dia, me puede brindar el codigo?
Podrías poner el código porfa
lo tienes en la descripcion del video
el codigo de programacion
cual es el codigo
Pues enviar el código porfa
buenas, me podrías mandar el código
Cuál es el codigooo
Me das los codigos porfavor❤
Hola necesito el código 🫶🏻
Puedes ayudarme con el codigo
Código porfa
Sos un crack me encnataria tener el codigo de edte porfa
Me pasas el código 😅
Me pasas el Código
Muy buen proyecto👏!! Me podrías pasar el código?
Por supuesto!! te lo dejo en el comentario de abajo
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
@@RobotUNO muchas gracias!!🙌
@@RobotUNO no lo puedo copiar :c
me puedes pasar el codigo
podrias explicar el codigo
La verdad es que si que deberia de empezar a explicar los codigos, ya que mucha gente me lo pide.
Muchas gracias por tu comentario!
@@RobotUNO gracias
Buenas solo hace una secuencia de luces nada mas, a alguien le pasa lo mismo ?
Encontraste alguna solución? me pasa lo mismo
Hola, voy a hacer el proyecto puedes enviarme el código por favor
Hay un link en la descripcion del video para descargarlo
quiero el codigo por fisss
me puedes pasar los codigos
nmms yo lo arme como en la pagina y te mienta la madre sin que le piques a nada
Amigo me sale error void melodía error()':
Me podrías ayudar
Me puedes pasar eo codigo😊
Me podrían pasar el diagrama de conexion porfaaaa
Les estaría agradecida
Pasame el codigo
Genial proyecto! Podrías enviarme el código? Muchas gracias!
Claro!
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
@@RobotUNO muchas gracias!
Excelente hermano me podrías apoyar con el código
ya te lo paso?, es que tambien lo quiero
holaa, estaria necesitando el programa de arduino
AYUDAAAAAA
Quiero hacerlo
En el comentario de abajo te dejo el codigo para que puedas hacerlo sin ningun problema!
//Canal de UA-cam -> RobotUNO
//Juego Simon dice
#define BUZZER 7
#define ENTRADA_A 13
#define ENTRADA_B 12
#define ENTRADA_C 11
#define ENTRADA_D 10
#define SALIDA_A 2
#define SALIDA_B 3
#define SALIDA_C 4
#define SALIDA_D 5
int melodia[ ] = {262, 196, 196, 220, 196, 0, 247, 262};
int duracionNotas[] = {4, 8, 8, 4, 4, 4, 4, 4};
int nivelActual = 1;
int velocidad = 500;
const int NIVEL_MAX = 100;
int secuencia[NIVEL_MAX];
int secuenciaUsuario[NIVEL_MAX];
void setup(){
pinMode(ENTRADA_D, INPUT);
pinMode(ENTRADA_C, INPUT);
pinMode(ENTRADA_B, INPUT);
pinMode(ENTRADA_A, INPUT);
pinMode(SALIDA_A, OUTPUT);
pinMode(SALIDA_B, OUTPUT);
pinMode(SALIDA_C, OUTPUT);
pinMode(SALIDA_D, OUTPUT);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
}
void loop(){
if(nivelActual == 1){
generaSecuencia();
muestraSecuencia();
leeSecuencia();
}
if(nivelActual != 1){
muestraSecuencia();
leeSecuencia();
}
}
void muestraSecuencia(){
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
for(int i = 0; i < nivelActual; i++){
if( secuencia[i] == SALIDA_A ){
tone(BUZZER, 200);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_B ){
tone(BUZZER, 300);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_C ){
tone(BUZZER, 400);
delay(200);
noTone(BUZZER);
}
if( secuencia[i] == SALIDA_D ){
tone(BUZZER, 500);
delay(200);
noTone(BUZZER);
}
digitalWrite(secuencia[i], HIGH);
delay(velocidad);
digitalWrite(secuencia[i], LOW);
delay(200);
}
}
void leeSecuencia(){
int flag = 0;
for(int i = 0; i < nivelActual; i++){
flag = 0;
while(flag == 0){
if(digitalRead(ENTRADA_D) == LOW){
digitalWrite(SALIDA_D, HIGH);
tone(BUZZER, 500);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_D;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_D, LOW);
}
if(digitalRead(ENTRADA_C) == LOW){
digitalWrite(SALIDA_C, HIGH);
tone(BUZZER, 400);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_C;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_C, LOW);
}
if(digitalRead(ENTRADA_B) == LOW){
digitalWrite(SALIDA_B, HIGH);
tone(BUZZER, 300);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_B;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_B, LOW);
}
if(digitalRead(ENTRADA_A) == LOW){
digitalWrite(SALIDA_A, HIGH);
tone(BUZZER, 200);
delay(300);
noTone(BUZZER);
secuenciaUsuario[i] = SALIDA_A;
flag = 1;
delay(200);
if(secuenciaUsuario[i] != secuencia[i]){
secuenciaError();
return;
}
digitalWrite(SALIDA_A, LOW);
}
}
}
secuenciaCorrecta();
}
void generaSecuencia(){
randomSeed(millis());
for(int i = 0; i < NIVEL_MAX; i++){
secuencia[i] = random(2,6);
}
}
void melodiaError(){
for(int i = 0; i < 8; i++){
int duracionNota = 1000/duracionNotas[i];
tone(BUZZER, melodia[i],duracionNotas);
int pausaEntreNotas = duracionNota * 1.30;
delay(pausaEntreNotas);
noTone(BUZZER);
}
}
void secuenciaError(){
digitalWrite(SALIDA_A, HIGH);
digitalWrite(SALIDA_B, HIGH);
digitalWrite(SALIDA_C, HIGH);
digitalWrite(SALIDA_D, HIGH);
delay(250);
digitalWrite(SALIDA_A, LOW);
digitalWrite(SALIDA_B, LOW);
digitalWrite(SALIDA_C, LOW);
digitalWrite(SALIDA_D, LOW);
delay(250);
melodiaError();
nivelActual = 1;
velocidad = 500;
}
void secuenciaCorrecta(){
if(nivelActual < NIVEL_MAX);
nivelActual++;
velocidad -= 50;
delay(200);
}
no sirve solo prende luces
se prenden las luces como si fueran luces navideñas
Alguien pudo solucionar esto?
Me pasas codigo y te sigo