Tabla de contenido:

Dados Arduino Oled: 10 pasos (con imágenes)
Dados Arduino Oled: 10 pasos (con imágenes)

Video: Dados Arduino Oled: 10 pasos (con imágenes)

Video: Dados Arduino Oled: 10 pasos (con imágenes)
Video: 🔴 Como usar la pantalla OLED SSD1306 con ARDUINO (128x64) 2024, Noviembre
Anonim
Image
Image
Funciones de dados
Funciones de dados

Este instructivo trata sobre cómo puedes construir un dado electrónico de muy buen aspecto usando una pantalla OLED y un Arduino uno o similar. Al comienzo de este proyecto, decidí que después de que el prototipo estuviera terminado, quería construir una versión personalizada, así que en este inescrutable hay descripciones de cómo construir la versión prototipo y consejos útiles si desea construir su propia versión personalizada.

El video muestra la versión final y las funciones de los dados personalizados.

Paso 1: Funciones de dados

Los dados tienen un interruptor de selección para elegir entre 1 o 2 dados. También tiene un elemento piezoeléctrico para generar sonido cuando el dado está pasando por números aleatorios y cuando se detiene. Mientras se mantenga presionado el interruptor de rollo, los dados se ejecutan y muestran números aleatorios en la pantalla. Cuando se suelta el botón, comienza a ralentizarse un número aleatorio de tiempo hasta que finalmente se detiene y muestra los resultados. Esto es para simular el comportamiento de un dado real.

El Dice tiene un circuito de apagado automático para ahorrar baterías.

Si no usa los dados durante 60 segundos, la energía se apaga automáticamente.

En el software hay una función para activar o desactivar el sonido manteniendo pulsado el interruptor de selección durante más de un segundo.

Paso 2: la función de apagado automático

La función de apagado automático
La función de apagado automático

El dado tiene una función para apagarse cuando no se usa para ahorrar baterías, vea los esquemas del circuito de apagado automático.

Así es como funciona:

El circuito consta de un transistor P FET que actúa como un interruptor. La puerta del transistor se controla mediante un botón pulsador momentáneo estándar (S1). Cuando se presiona el interruptor, el voltaje cae en la puerta y la corriente comienza a fluir a través del transistor. En la puerta hay otro transistor en paralelo con el interruptor a tierra. El transistor mantiene el voltaje bajo en la puerta de los FET siempre que el voltaje en la base sea alto. El voltaje base se aplica desde el microcontrolador y una de las primeras cosas que hace el boceto cuando el controlador está encendido es establecer el pin digital 8 en Alto y, mediante el software, enganchar el circuito. El regulador de voltaje 7805 estabiliza el voltaje a 5V y los dos diodos evitan que los 9 voltios de la batería lleguen al microcontrolador. El mismo interruptor también se usa para controlar la entrada digital en el controlador (pin 7).

En el croquis medimos el tiempo transcurrido desde que se presionó el botón y lo comparamos con el tiempo de ENCENDIDO determinado.

Antes de que se apague la energía, los dados / dados comienzan a parpadear y el piezo emite una señal de advertencia para que el usuario tenga tiempo de presionar el interruptor nuevamente para restablecer el temporizador.

Justo antes de que se apague la energía, el microcontrolador almacena el último número en la memoria EEPROM junto con el número seleccionado de dados / dados y el estado de sonido. Esos valores se recuperan en el próximo inicio de los dados.

Paso 3: el prototipo

El Prototipo
El Prototipo

Ahora es el momento de empezar a construir.

Necesitas:

  • 1 tablero de pan sin soldadura
  • 1 Arduino Uno
  • 1 pantalla OLED 128x64 i2c
  • 2 condensadores 10uF
  • 1 condensador 100nF
  • 2 resistencias 10Kohm
  • 2 resistencias 100Kohm
  • 2 diodos 1n4148
  • 1 transistor NPN BC547b
  • 1 MosFET IRF9640
  • 1 Regulador de voltaje L7805
  • 2 interruptor momentáneo
  • 1 piezo
  • Cable pasa corriente
  • Batería de 9 V

Eso es todo.

Siga cuidadosamente la imagen de fritzing de arriba

Preste especial atención al diodo detrás del regulador de voltaje en la imagen (difícil de ver), D1 en el esquema. El lado del ánodo del diodo debe estar conectado al colector del transitor BC547.

El piezo está conectado al pin 6, el botón Roll al pin 7, el botón Select al pin 10 y el control Power_ON al pin 8.

No olvide alimentar su Arduino Uno a través del pin de 5V y el pin de tierra en la placa Arduino y no a través de la chaqueta de CC en el lateral.

El boceto usa U8g2lib.h para la pantalla, lo encontrará aquí, https://github.com/olikraus/u8g2/, descargue e instale antes de compilar el código.

¿Cómo instalar bibliotecas? Https: //www.arduino.cc/en/Guide/Libraries

Copie el código y péguelo en Arduino IDE y cargue el boceto.

No olvide quitar el cable USB del Arduino cuando termine, de lo contrario, la función de apagado automático no funcionará porque el USB / Computadora está alimentando el controlador.

Paso 4: la versión personalizada

La versión personalizada
La versión personalizada
La versión personalizada
La versión personalizada
La versión personalizada
La versión personalizada
La versión personalizada
La versión personalizada

El resto de este instructivo trata sobre consejos y trix, si desea convertirlo a una versión más útil y personalizada.

Para dibujar el esquema completo de la versión personalizada utilicé el esquema en línea gratuito y el software de PCB EASYEDA. Lo encuentras aquí

Al pedir los componentes, debe asegurarse de que el microcontrolador tenga el cargador de arranque Arduino en el chip, de lo contrario, primero debe preparar el chip. Hay muchos tutoriales en la web sobre cómo hacerlo.

Agregué componentes adicionales que no se usan en este proyecto pero que están ahí para proyectos futuros. U4, U5, R4, S2.

El encabezado PGM en los esquemas se utiliza para programar el chip. Si desea programar el chip utilizando el puerto PGM, necesita un adaptador USB a serie.

USB a placas UART en serie

Por supuesto, puede cargar el boceto en el controlador usando su placa Arduino y luego mover el chip a la PCB.

EASYEDA también proporciona una función para fabricar la PCB para usted.

Antes de comenzar a convertir el esquema en el diseño de PCB, estaba eligiendo una caja que tenía el tamaño y el espacio adecuados para una batería de 9 voltios que se puede cambiar desde el exterior.

La razón de esto fue que necesitaba las dimensiones y dónde colocar el orificio en el PCB para los tornillos antes de comenzar a hacer el diseño, por lo que el PCB final encajará perfectamente en la caja.

Mido la dimensión interna de la caja con mucho cuidado y luego convierto el diseño en el tablero de tamaño personalizado usando el mismo software y luego hago clic en el botón fabricar y realizo un pedido.

Paso 5: soldadura

Soldadura
Soldadura
Soldadura
Soldadura

Debido a que tengo que pedir más de un PCB para obtener un precio razonable, lo diseño para que sea versátil, de modo que pueda usar el mismo tablero y caja para proyectos futuros. Agregué pines adicionales para puertos analógicos y digitales junto con botones adicionales. En este proyecto, uso el S1 para encender el circuito y tirar los dados, y el S3 como Seleccionar. Cuando recibió la PCB, es hora de soldar todos los componentes en el lugar correcto. En mi PCB, la pantalla y los botones están montados en la parte posterior para reducir el tamaño y ser accesibles desde el exterior.

Cuando estaba construyendo mis dados, me di cuenta de que sería bueno si pudieras agitar la caja para encenderla y tirar los dados. Si quieres esa función, debes hacer una pequeña modificación en el circuito.

Modificación:

Cambió el interruptor de balanceo (S1) a un sensor de interruptor de inclinación y agregue un capacitor de 100uF en paralelo al interruptor para mantener el nivel en la puerta FET bajo el tiempo suficiente para que el microcontrolador tenga tiempo de comenzar y configurar el puerto de salida digital ALTO y enganche el circuito de "encendido".

Debe montar el sensor de inclinación en los pasadores de extensión para poder doblarlo y ajustar el ángulo para que el interruptor esté apagado cuando la caja esté sobre la mesa.

Sensor de inclinación

Paso 6: corte los agujeros necesarios en la caja

Recorta los agujeros necesarios en la caja
Recorta los agujeros necesarios en la caja
Recorta los agujeros necesarios en la caja
Recorta los agujeros necesarios en la caja

Cuando termine con la PCB es el momento de perforar los agujeros en la caja. Para cortar el orificio cuadrado de la pantalla, utilicé un micro molinillo, pero, por supuesto, puedes usar una pequeña sierra de calar o similar.

Paso 7: el panel frontal

El panel frontal
El panel frontal
El panel frontal
El panel frontal

Entonces necesitas un bonito panel frontal. Estaba dibujando el panel en un “software de dibujo inteligente” pero puedes usar casi cualquier software de dibujo que te guste.

Cuando haya terminado con el dibujo, imprímalo en una impresora láser a color estándar o similar, pero en un papel un poco más grueso de lo normal. Tome una hoja de plástico que tenga pegamento en ambos lados. Retire la hoja protectora de un lado y pegue con cuidado el panel. Puede encontrar esta película de plástico en la mayoría de las tiendas de papel.

Paso 8: Cortar agujeros en el panel

Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel
Cortar agujeros en el panel

Recorta los agujeros en el panel con un cortapapeles afilado. Para los ojales redondos, usa una perforadora. Ahora el panel tiene el aspecto de una pegatina normal, pero antes de pegarlo en la caja, debe rociarlo con una capa protectora de laca. Cuando el panel se haya secado, péguelo con cuidado en la caja.

Paso 9: el final del proyecto

El fin del proyecto
El fin del proyecto
El fin del proyecto
El fin del proyecto

Cuando estaba llegando al final de este proyecto, desafortunadamente descubrí que los dados a veces se congelan cuando lo agito y necesitan ser reiniciados.

Nunca tuve este problema durante la creación de prototipos, así que estaba un poco confundido, pero descubrí que se debía al ruido proyectado en los pines SDA, SCL de la pantalla.

La solución fue agregar 1k de resistencias adicionales en cada pin a 5V como pull-up, vea la imagen. Después de eso, los dados funcionan perfectamente como se esperaba.

Paso 10: agitar y rodar

Divertirse.

Recomendado: