Tabla de contenido:

Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C: 7 pasos
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C: 7 pasos

Video: Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C: 7 pasos

Video: Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C: 7 pasos
Video: Juego piedra, papel o tijera, ARDUINO 2024, Noviembre
Anonim
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C
Juego de tijeras de mano Arduino Paper Rock con pantalla LCD 20x4 con I2C

Hola a todos o tal vez debería decir "¡Hola mundo!"

Sería un gran placer compartir contigo un proyecto que ha sido mi entrada a muchas cosas de Arduino. Este es un juego de mano Arduino Paper Rock Scissors que utiliza una pantalla LCD I2C 20x4. Sé que podrías estar pensando, "¿Otro juego de Paper Rock Scissors?" Pero la mayoría de los juegos Arduino Paper Rock Scissors usan LED simples y también vi uno que usaba símbolos de papel levantados por servos. Son geniales. Este proyecto utiliza una pantalla LCD de 20x4 e hizo uno con I2C y otro sin él (no se muestra aquí). Quería un estuche económico con un aspecto acabado, no solo un desorden de tablero. No todo el mundo tiene acceso a una impresora 3D y quiere pagarle a alguien que la tenga. Y quería que fuera fácil de hacer para poder compartir las ideas con otros. Dado que mis habilidades de programación son de nivel principiante, el boceto es bastante simple y fácil de entender y editar. Esta fue mi educación personal para crear un boceto. Encontrarás muchas notas en el boceto y ha pasado por muchas, muchas (¿más de 20?) Iteraciones hasta que creo que está bien. El proyecto cuesta menos de $ 20 para hacer (no I2C).

Comencé con Arduino en 2018 y revisé su sitio web y leí todo lo que pude. Construyó y experimentó con los proyectos de ejemplo con los que viene y leyó muchos Instructables que muchos de ustedes han compartido a lo largo de los años. Realmente los aprecio y he aprendido mucho de todos ustedes. Gracias. Ahora quiero compartir algo de lo que he aprendido agregando mi propia creatividad. Antes de que la sección de comentarios se acumule con muchas preguntas sobre cómo hacer esto y que tenga en cuenta, comencé esto sin experiencia en Arduino. Aprendí construyendo los proyectos de ejemplo en los sitios web de Arduino e Instructables. Aprendí de ustedes. Cuando te quedas atascado, esa puede ser la forma más rápida de encontrar una solución.

Paso 1: Introducción al proyecto

Introducción al proyecto
Introducción al proyecto
Introducción al proyecto
Introducción al proyecto

Seleccioné la pantalla LCD de Amazon y eligió I2C 20x4 LCD debido a su bajo costo (alrededor de $ 12 - $ 18) y la facilidad de cableado y programación. Si lo desea, puede usar uno sin I2C y puede obtener uno tan barato como $ 7. Pero necesitará usar una biblioteca y un esquema de cableado diferentes y usar más pines Arduino. No se preocupe, tiene suficiente para ir de cualquier manera. Serial I2C 20x4 sería más fácil de construir, menos cables son menos confusos. Pero la pantalla LCD paralela de 20x4 es aproximadamente $ 5 más barata. Dibujé esquemas para ambos esquemas de cableado. La mayoría de las otras piezas las compré en Amazon y en un par de tiendas locales. Mi caja es una caja de mezcla de bebida de capuchino vacía. Me gusta que la tapa se abra fácilmente para encender / apagar, trabajar en cualquier componente o cambiar la batería. Y "¡Oye!" la caja era gratis y me gusta el capuchino. Reciclar plástico es bueno para el medio ambiente. Puede usar cualquier caja que desee en la que todo encaja o incluso omitir la caja o el tablero del proyecto. Quería un "look de proyecto terminado" barato. Apuesto a que alguien crea una versión impresa en 3D. El Arduino juega el juego Paper Rock Scissors contigo en la pantalla LCD, mantiene la puntuación, puedes ingresar con los botones y, si eliges, hay una opción que te permite hacer trampa. Originalmente, la función de trampa se escribió con fines de depuración y cuando terminé con ella, la comenté. Solo por diversión, lo volví a poner.

Paso 2: tablero de pan

Tablero de circuitos
Tablero de circuitos
Tablero de circuitos
Tablero de circuitos

Monté mis circuitos usando Arduino Uno, pero al ponerlo todo junto usé Arduino Nano porque encaja mejor en la caja. Entonces, puedes construir esto con cualquiera de los dos. Pero recuerde cambiar un par de configuraciones en IDE. El Nano se instala en la parte posterior de la pantalla LCD con Command Strips o cinta adhesiva de doble cara. Coloque el Arduino Nano al lado de la placa piggyback I2C de modo que el conector USB mire hacia afuera (a la derecha de la pantalla LCD). Puede usar una caja de batería de 9v o 4x AA (que le da 6v) con interruptor deslizante SPST para alimentación montada dentro de la caja también con Command Strips. Construido en ambos sentidos, el Arduino tiene un regulador de voltaje incorporado que lo reduce a los 5 voltios que necesita. Si lo piensas bien, este juego puede reciclar "baterías de 9v en su mayoría agotadas" para obtener energía y funcionar bien. (Cambia las baterías de los detectores de humo dos veces al año, ¿verdad?) Otros dispositivos que usan una batería de 9v pueden decir que está muerta a 6 - 8 voltios; pero no está muerto hasta que es "Arduino Dead!"

Mientras diseñaba el proyecto, usé 4 botones SPST para la entrada, pero para construir el juego terminado en la caja usé 5 botones SPST pensando en el futuro que podría intentar hacer un juego que necesitara más botones. ¿Quizás un juego de laberinto? Un divisor de voltaje de resistencia para los botones está montado en una pieza de desecho de protoboard que también se puede montar con Command Strips.

Paso 3: Montaje

Montaje
Montaje
Montaje
Montaje
Montaje
Montaje

Montaje:

Los 4 ensamblajes principales son la pantalla LCD con placa piggyback I2C opcional, Arduino Nano, las resistencias e interruptores conectados en cadena a la placa proto de interconexión y la caja de la batería con interruptor de encendido / apagado.

Debes comenzar por montar el circuito o cablear la placa proto siguiendo el esquema. Me gusta guardar la pantalla LCD boca abajo en la tapa de la caja para evitar rayarla. Usé un encabezado en solo un lado de Arduino que tiene 5v para conectarlo a la placa proto. Hice un puente con 3 encabezados (mucho trabajo de soldadura) desde el Arduino hasta la placa proto para que queden planos en la parte posterior de la pantalla LCD con tiras de comando o cinta adhesiva de doble cara. Pero realmente, las placas se pueden conectar simplemente soldando cables de una a otra. Se utilizó un cabezal hembra para conectar la placa proto a la pantalla LCD I2C. Las patas de la resistencia de la placa proto se pueden usar para hacer los 5 puntos de soldadura para los botones. La otra pata de cada botón va al pin A0 de Arduino. Cada botón necesitará 2 cables soldados. Use un ohmímetro para determinar qué patas de botón usar, pero generalmente no puede equivocarse con patas no adyacentes (diagonales entre sí).

Elija su configuración para su Arduino en IDE. Descargue el boceto y cárguelo en el Arduino y pruebe / solucione problemas.

¿Listo para ponerlo en una caja? Quité la etiqueta de capuchino, lavé y secé mi caja. Mida y corte cuidadosamente el orificio en la caja para la pantalla LCD como puede ver y está montado con 3 tacos atornillados a tres orificios en las esquinas de la pantalla LCD (2 en la parte inferior de la caja, 1 cerca de la tapa) lo suficientemente largo como para alcanzar el parte posterior de la caja y manténgala en su lugar con fricción. El orificio del tornillo en la pantalla LCD de la placa piggyback puede estar demasiado cerca del terminal, así que lo omito. Usó un cuchillo Exacto para perforar agujeros piloto para tornillos en las clavijas para que no se partan (cuidado, no se resbale ni se apuñale, sostenga las clavijas con unos alicates). Tuve que doblar / aplastar la caja un poco para la instalación final, pero vuelve a la forma adecuada. Los agujeros para los botones se "perforan" colocándolos (trazar líneas con una regla) y calentando los terminales con un soldador hasta que "se derritan" a través de la caja. Luego, retire los botones después de que se enfríen y suelde en trozos de cable CAT 5e de 6 "- 9" o cables de calibre 18 a 22 a los botones. Instale los botones con el cable primero en sus orificios y luego suelde a la proto-placa de resistencia. Un punto de superpegamento, pegamento termofusible o incluso solo fricción mantendrá los botones en su lugar. En una construcción, se utilizaron algunos empalmadores de cables telefónicos (los círculos rojos en los bloques de plástico transparente) para ayudar a facilitar el último puñado de conexiones entre la caja de la batería, la proto-placa de resistencia y el ensamblaje de LCD / Arduino. Si lo desea, puede usar soldadura y termorretráctil en su lugar. Luego, empuje con cuidado y lentamente todos los cables y componentes dentro de la caja y cierre la tapa. ¿Instaló una batería y cargó el boceto de Arduino antes de hacer todo esto? También necesitará la biblioteca para pantalla LCD de 20x4 con o sin I2C (el que elija) que puede descargar de forma gratuita en Github. Enciéndalo, pruébelo y vea si funciona. Luego edité mi boceto con pausas para facilitar la lectura, agregué el "efecto de puntos parpadeantes" y algunas otras cosas junto con muchos comentarios. Intente colocar el Arduino para que el USB aún pueda estar conectado y se cargue un nuevo boceto. Usó un diagrama de flujo, por supuesto, al crear el boceto. Encontrará que los comentarios definen prácticamente dónde estaba cada bloque del diagrama de flujo.

Encontrará que los botones están en un circuito en serie / paralelo que le permite usar un pin de entrada Arduino para tantos botones como desee. El circuito actúa como un divisor de voltaje para alimentar un valor al pin analógico cambiando el valor leído por cada botón presionado. Puede utilizar el monitor en serie para averiguar los valores de su circuito en función de sus resistencias y cambiar los "valores aceptados" en su dibujo.

¡Espero que te diviertas construyendo el tuyo propio! Si crea una o incluso hace algunas modificaciones de esto, compártala con el resto de nosotros. Gracias por leer.

Paso 4: programación y configuración

Programación y configuración
Programación y configuración
Programación y configuración
Programación y configuración

Ahora diviértase con IDE. Espero que hayas estado bebiendo un capuchino. Es posible que lo necesite para mantenerse despierto.

Es posible que necesite configurar algunas bibliotecas. Necesitará Wire.h para I2C, LCD.h para LCD, LiquidCrystal_I2C.h para LCD controlado por I2C. También necesitará usar el comando lcd.begin (20, 4) para decirle a Arduino que está usando una pantalla LCD de 20 caracteres y 4 líneas y puede haber otras configuraciones.

Para obtener información sobre la instalación de bibliotecas, consulte:

En el IDE de Arduino, es posible que necesite configurar su placa y el puerto al que la tiene conectada. El puerto se puede encontrar en el panel de control de su computadora / administrador de dispositivos / controladores de bus serie universal. Tienes que averiguar qué Arduino estás usando. Estoy usando Arduino Nano pero Uno también funciona para esto. Elija su configuración con cuidado.

Es posible que deba averiguar su dirección I2C. Debería poder leerlo directamente desde los puentes de la placa. También puede descargar un escáner I2C desde Arduino.cc o también https://www.gammon.com.au/forum/?id=10896 y otros lugares.

En algún lugar de este punto, debería poder cargar el programa en Arduino y probar la funcionalidad. ¿Se enciende la pantalla LCD? ¿Puedes leer personajes? Una de las veces que construí el circuito y luego lo probé, la luz de fondo se encendió, pero los caracteres eran ilegibles. Pasó horas (eso es correcto, HORAS) probando configuraciones y tonificando conexiones para asegurarse de que se construyó correctamente. Renunció por un par de días. Volví a ello más tarde y me di cuenta de que la resistencia variable en la placa piggyback estaba configurada al mínimo. Lo subí y los personajes eran visibles. Golpea la cabeza contra el escritorio. ¿Otra razón para golpearte la cabeza contra el escritorio? Si necesita cambiar la batería, es posible que deba ajustar esta resistencia variable nuevamente. Cuando esto sucedió, hice un pequeño agujero en la parte posterior de la caja para tener acceso.

Es posible que deba establecer sus propios valores de botón en este programa en función de las resistencias que usa para sus botones. Puede usar este pequeño y práctico boceto para eso y recuerde activar el monitor en serie. Ejecute el boceto y presione cada botón y anote cada valor. Luego edite el boceto para reflejar los valores de su botón. Luego, cargue el boceto editado en su tablero y vea si funciona.

Hay muchas pequeñas variables que tienen que ser correctas y las tuyas pueden ser diferentes a las mías. Tener paciencia y probar cosas diferentes te ayudará a que el tuyo funcione. También recuerde que después de configurar las variables de Arduino (como el nombre de la placa, com 3, 5 o lo que sea, procesador y programador [todas en herramientas]), es posible que las tenga todas configuradas correctamente, pero no funcionará porque necesita reiniciar. Desenchufe el Arduino y vuelva a conectarlo a su computadora. Es posible que también deba guardar y reiniciar su computadora.

Cargue este boceto, ejecute el monitor, presione los botones y registre los valores, luego edite el boceto de Paper Rock Scissors reemplazando los valores de mi resistencia con los suyos. Ejecute el boceto de Paper Rock Scissors y vea si funciona bien. Oh, sí, ¿instaló sus botones en el orden incorrecto? Es posible que deba reinstalarlos si los desea en un orden en particular.

¡Divertirse!

Paso 5: El boceto de lectura de botones lo ayudará a encontrar sus valores de resistencia para editarlos en el boceto principal. Presione cada botón y registre los valores de sus resistencias para ingresar al esquema principal

// boceto de lectura de botones

configuración vacía () {

// ponga su código de configuración aquí, para que se ejecute una vez:

Serial.begin (9600);

}

bucle vacío () {

// ponga su código principal aquí, para que se ejecute repetidamente:

int buTTon; // Para leer botones

buTTon = 0; // Para leer botones

buTTon = analogRead (A0); // Comando utilizado para leer los botones

retraso (100);

Serial.println (buTTon);

Paso 6: listas de piezas y herramientas que puede necesitar

Lista de piezas de Amazon:

Arduino Uno o Arduino Nano

Pantalla LCD de 20x4 con o sin I2C

Caja de batería de 9v o 6v con interruptor deslizante SPST (u obtenga el interruptor deslizante por separado)

5x pulsadores SPST

1x resistencia pull-up 1k - 5k

Resistencias 5x de menos de 1k, 200 - 500 ohmios es bueno

Listas de piezas Otras ubicaciones o tiendas:

Batería de 9v o 4x de 1.5 voltios (la opción de 9v le permite reciclar baterías "casi muertas")

Command Strips (se usa un paquete de recarga) o cinta adhesiva de doble cara

Empalmadores de cables telefónicos (opcionales pero facilitan la conexión de cables)

Unas pocas pulgadas de clavija de 1/4"

Pequeños tornillos de madera para montar tacos en la pantalla LCD

Soldar

Termoencogible para cables de calibre 18

Desechos o piezas de reciclaje:

Caja de mezcla de bebida de capuchino vacía (no todo el mundo tiene una impresora 3D, toma un poco de capuchino y recicla un poco de plástico)

Aproximadamente 1 "x 2" trozos de tablero Proto, aunque usé protoboard de Amazon

Varias longitudes de cable de calibre 18 a calibre 22 o núcleo sólido Cat 5e

Herramientas que puede necesitar:

Destornillador Philips pequeño

Destornillador pequeño de punta plana

Cuchillo exacto

Soldador y soldadura

Tijeras para trabajo pesado

Pinzas de punta de aguja

Gobernante

Paso 7: Más información y el boceto principal

Gracias por leer. Sé que es mucho. Este es mi primer Intructable y solo esto fue un poco educativo para mí. Mirando hacia atrás, veo que soy prolijo en algunos lugares y demasiado breve en otros. Debería haber dividido el ensamblaje más en pasos. Y desde que construí este proyecto una docena de veces hasta que quedó perfecto, algunas de las imágenes son de un modelo u otro. Necesito volver y tomar fotografías de un solo modelo. También quiero incluir uno o dos videos. Así que sí, volveré y arreglaré estas cosas. Pero por ahora lo pongo en tus manos. Espero que disfrutes construyéndolo tanto como yo. Gracias de nuevo por leer.

Recomendado: