{"id":28881994,"url":"https://github.com/ronihdzz/simon-dice-troni","last_synced_at":"2026-05-05T22:31:03.577Z","repository":{"id":159367412,"uuid":"495169218","full_name":"ronihdzz/simon-dice-troni","owner":"ronihdzz","description":"A Simon game says interactive programmed in Arduino with LEDs, buttons, buzzer and volume control. It includes serial communication, multiple levels of difficulty and reward music.","archived":false,"fork":false,"pushed_at":"2025-06-12T14:20:59.000Z","size":7018,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T15:32:31.717Z","etag":null,"topics":["arduino","c","electronics","embedded-systems","iot-projects","memory-game","physical-computing","simon-says"],"latest_commit_sha":null,"homepage":"https://ronihdz.com/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ronihdzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-05-22T20:24:27.000Z","updated_at":"2025-06-12T14:21:03.000Z","dependencies_parsed_at":"2025-06-12T15:47:28.375Z","dependency_job_id":null,"html_url":"https://github.com/ronihdzz/simon-dice-troni","commit_stats":null,"previous_names":["deividcoding/simon_dice_troni","ronihdzz/simon_dice_troni","ronihdzz/simon-dice-troni"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ronihdzz/simon-dice-troni","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronihdzz%2Fsimon-dice-troni","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronihdzz%2Fsimon-dice-troni/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronihdzz%2Fsimon-dice-troni/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronihdzz%2Fsimon-dice-troni/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ronihdzz","download_url":"https://codeload.github.com/ronihdzz/simon-dice-troni/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ronihdzz%2Fsimon-dice-troni/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261014156,"owners_count":23097186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","c","electronics","embedded-systems","iot-projects","memory-game","physical-computing","simon-says"],"created_at":"2025-06-20T20:41:52.801Z","updated_at":"2026-05-05T22:31:03.572Z","avatar_url":"https://github.com/ronihdzz.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003chr\u003e\n\n# **SIMONTRONI**\n#### **Autor: David Roni Hernández Beltrán**\n\u003chr\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n### **Este pequeño proyecto es de mi autoria y lo desarrolle para completar el curso: Programación física con Arduino de CODE IOT iniciativa de Nokia a continuación ajunto mi certificado obtenido trar terminar el curso.**\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/certificado/Programacion_fisica_con_Arduino_1.jpg\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/certificado/Programacion_fisica_con_Arduino_2.jpg\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n\n### **Video de youtube de mi autoria explicando el proyecto:**\n\n\n[![Alt text](https://img.youtube.com/vi/YSqHKkHPByw/0.jpg)](https://www.youtube.com/watch?v=YSqHKkHPByw)\n\n\n### **Menu**\n\n\n* [1) Prerrequisitos](#1-prerrequisitos)\n    * [1.1) Materiales](#11-materiales)\n\n\n* [2) Funcionamiento](#2-funcionamiento)\n\n    * [2.0) Explicacion detallada](#20-explicacion-detallada)\n    * [2.1) Explicacion breve](#21-explicacion-breve)\n    * [2.2) Como jugar simon troni](#22-como-jugar-simon-troni)\n    * [2.3) Explicacion del hadware del proyecto](#23-explicacion-del-hadware-del-proyecto)\n\n* [3) Ensamble del proyecto](#3-ensamble-del-proyecto)\n    * [3.1) Paso 1](#31-paso-1)\n    * [3.2) Paso 2](#32-paso-2)\n    * [3.3) Paso 3](#33-paso-3)\n\n\n\u003chr\u003e\n\n\n## **1) Prerrequisitos**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\u003chr\u003e\n\nA continuación se enlistan los prerrequisitos para poder ejecutar el proyecto:\n\n### **1.1) Materiales**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\n* 1-. Un buzzer pasivo\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/1_buzzerPasivo.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n* 2-. Un potenciometro de 5k\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/2_potenciometro5k.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 3-. Una resistencia de 220 [Ω] \n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/3_resistencia22_ohms.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 4-. Cuatro resistencias de 330 [Ω]  o de 220 [Ω]  \n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/4_resistencias330_ohms.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 5-. Cuatro push button de 2 pines cada uno\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/5_pushButton_2pines.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n\n* 6-. Cuatro leds\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/6_led.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n\n* 7-. Un arduino uno con su cable respectivo\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/7_arduinoUno.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 8-. Alambre de diferentes colores calibre 22(para conexiones en la protoboard) o jumpers macho, pero preferiblemente alambres\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/5_pushButton_2pines.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 9-. Una computadora\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/9_computadora.jpg\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n* 10-. Una protoboard\n\n\u003c!--style=\"margin-left:auto;margin-right:auto;width:100%;\"--\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/materiales/10_protoboard.png\" style=\"width:40%;\"  /\u003e\n\u003c/div\u003e\n\n\n\n\n## **2) Funcionamiento** \n\n### **2.0) Explicacion detallada** \n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\nPara ver una explicación mas detallada de todo lo que puede hacer este proyecto, puedes leer el siguiente pdf el cual es el reporte que realice de mi proyecto:\n[Reporte de simon roni](1_reporte/Reporte_simonTroni_byDavidRoniHernandezBeltran.pdf)\n\n\n\n\n### **2.1) Explicacion breve** \n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\u003chr\u003e\n\nEl funcionamiento del juego es muy sencillo, se prende una secuencia de leds y el usuario debe repetir dicha secuencia pulsando los botones respectivos, a medida que avanzamos, por cada secuencia correcta digitada en la siguiente secuencia que se muestre se prendera 1 led más, y así sucesivamente hasta terminar el juego o perder el juego.\n\n\nPara ver una explicación mas detallada de todo lo que puede hacer este proyecto, puedes leer el siguiente pdf el cual es el reporte que realice de mi proyecto:\n[Reporte de simon roni](1_reporte/Reporte_simonTroni_byDavidRoniHernandezBeltran.pdf)\n\n\n\n\n### **2.2) Como jugar simon troni** \n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\n**PASO 1:** Para poder jugar con simonTroni debemos conectar el  Arduino a la computadora, pues el juego se comunica vía serial\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_1_1.png\" style=\"width:50%;\"  /\u003e\n\u003c/div\u003e\n\n**PASO 2:** Debemos abrir el  IDE de Arduino, y cerciorar  que esta seleccionado el  puerto del Arduino uno  que conectamos:\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_2.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 3:** Necesitamos abrir el monitor serie del IDE de Arduino, así que damos clic  izquierdo sobre la lupa\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_3.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 4:** Antes de  hacer cualquier  cosa, lo primero que  debemos hacer es  maximizar la  pantalla, así que proseguiremos a darle clic izquierdo sobre el icono de maximizar:\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_4.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 5:** Podemos observar que nos pide que escribamos nuestro nombre y posteriormente tecleamos ENTER, pues eso  haremos…\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_5.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n**PASO 6:** Seguir las siguientes instrucciones.\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_6.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_6_2.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_6_3.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 7:** Observar que una vez realizado lo anterior, nos aparecerá el siguiente mensaje, diciéndonos que presionemos cualquier botón del juego para poder   iniciar el juego\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_7.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 8:** Presionamos cualquier botón del juego para poder iniciar el juego:\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_8.png\" style=\"width:60%;\"  /\u003e\n\u003c/div\u003e\n\n**PASO 9:** Finalmente el juego comenzara prendiendo un led al mismo tiempo que la bocina da un pitido. Nosotros deberemos presionar el botón del led que se prendió.\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_9.png\" style=\"width:60%;\"  /\u003e\n\u003c/div\u003e\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_9_1.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 10:** Si pulsamos el botón correcto del led que se prendió, pasaremos al siguiente nivel del  juego, el cual consistirá en presionar los botones en el orden respectivo de los 2 leds que se prenderán de forma cronológica. \n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_10.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 11:** Si pulsamos los botones correctos en el orden correcto, pasaremos al siguiente nivel del  juego, el cual consistirá en presionar los botones en el orden respectivo, pero ahora de los 3 leds que se prenderán de forma cronológica.\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_11.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 12:** Y así seguirá el juego a medida que pasemos al siguiente nivel aumentará un led más el cual debemos memorizar.\n\n\n**PASO 13:** Si perdemos el juego nos avisará que perdimos y nos dirá nuestra puntuación lograda, y si queremos volver a jugar debemos seguir los mismos pasos a partir del paso número 5.\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_13.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 14:** Si pasamos todos los niveles del juego, el juego nos avisara, y nos tocara una pieza musical  como recompensa de que hemos ganado, si queremos volver a jugar debemos seguir los mismos pasos a partir del paso número 5.\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_14.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n**PASO 15:** Si deseamos bajar el volumen del juego basta con girar el potenciómetro para ajustar el \nvolumen del juego\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/paso_15.png\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n### **2.3) Explicación del hadware del proyecto**\n\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\u003chr\u003e\n\n\nEl funcionamiento del juego es muy sencillo, se prende una secuencia de leds y el usuario debe repetir dicha secuencia pulsando los botones respectivos, a medida que avanzamos, por cada secuencia correcta digitada en la siguiente secuencia que se muestre se prendera 1 led más, y así sucesivamente hasta terminar el juego o perder el juego.\n\n¿Explicación del hadware del proyecto hadware?\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"3_circuito/diagrama_simonTroni_byDavidRoniHernandezBeltran.jpg\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n\n\n* Las resistencias de los leds son para limitar la corriente que pasa a través de ellos y así evitar dañar la placa Arduino o los leds por un flujo grande de corriente.\n\n* El potenciómetro lo utilice para limitar la corriente que le llega al zumbador, de tal manera que si lo movemos alteramos la resistencia de este, lo cual ocasiona una alteración en la corriente, lo que \nsignifica una alteración en la potencia que recibe el zumbador, lo cual significa una variación en la intensidad del volumen del juego, es decir gracias al potenciometro se puede subir o bajar el volumn del juego. \n\n* La resistencia que une al potenciómetro con el zumbador sirve como medida de protección en caso de que el jugador decida subirle todo el volumen al juego (tener un potenciómetro con un resistencia de 0 [Ω] ) y así evitar que la corriente que fluya por el zumbador nunca sea muy grande pues no importando como gire el potenciómetro el jugador, la resistencia mínima siempre serán \n22[Ω].\n\n* Todos los botones están conectados de un pin de Arduino al GND de Arduino, debido a que active \nla resistencia interna de los pines que van conectados a los botones, declarando esos pines como \npines: INPUT_PULLUUP\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/1_pushButton.png\" style=\"width:60%;\"  /\u003e\n\u003c/div\u003e\n\n\nDe esa manera me ahorro el trabajo extra de colocar resistencias externas para los botones:\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"recursos_readme/reporte/2_pushButton2.png\" style=\"width:60%;\"  /\u003e\n\u003c/div\u003e\n\nLas imágenes fueron obtenidas de las siguientes fuentes de información: \n\n* https://slideplayer.com/slide/4469076/\n* https://forum.arduino.cc/index.php?topic=575915.0\n\n\n\n\n## **3) Ensamble del proyecto**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n\n\u003chr\u003e\n\n\n### **3.1) Paso 1**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\nCumplir con todos los prerrequisitos ya mencionados anteriormente, es decir **conseguir el material**\n\n  * [1) Ir al apartado de  prerrequisitos](#1-prerrequisitos)\n      * [1.1) Ir al apartado de materiales](#11-materiales)\n\n\n\n\n### **3.2) Paso 2**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\n* Cargar el script  que se encuentra en: \u003c\u003c**2_codigo/proyecto_RoniHernandez**\u003e\u003e  en el arduino uno\n\n  [dar clic aqui para ver el script proyecto_RoniHernandez](2_codigo/proyecto_RoniHernandez)\n\n\n\n\n\n### **3.3) Paso 3**\n\u003cdiv class=\"myWrapper\" markdown=\"1\" align=\"center\"\u003e\n\n[Regresar al menu principal](#menu)\n\u003c/div\u003e\n\nArmar el **diagrama del circuito del proyecto**:\n\n[dar clic aqui para ver circuito de manera mas legible](3_circuito/diagrama_simonTroni_byDavidRoniHernandezBeltran.pdf)\n\n\n\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg  src=\"3_circuito/diagrama_simonTroni_byDavidRoniHernandezBeltran.jpg\" style=\"width:80%;\"  /\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronihdzz%2Fsimon-dice-troni","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fronihdzz%2Fsimon-dice-troni","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fronihdzz%2Fsimon-dice-troni/lists"}