Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Reloj HSV

Componentes y suministros

Arduino UNO
× 1
Seeed 2.8 "TFT Touch Shield (V1.0)
× 1

Acerca de este proyecto

Reloj HSV

La última vez que visité EE. UU., Compré un TFT Touch Shield (V1.0) de 2.8 "Seeed de un RadioShack. Lo usé para hacer un reloj colorido para mi padre por su 80 cumpleaños.

HSVClock.zipYouTube

Los puntos importantes son

  • La esfera del reloj se basa en una cuadrícula de celdas rectangulares. Las esquinas de las celdas están distorsionadas por pequeñas cantidades aleatorias y cada celda está dividida por una diagonal aleatoria. Se aplica una distribución aleatoria de colores a través de las celdas y cada triángulo está sombreado para dar un aspecto 3D. Internamente, los colores se representan como HSV (tono, saturación y valor) pero se convierten a RGB para enviarlos a la pantalla LCD. El tiempo se muestra con una fuente simple coloreando ciertas celdas con los colores complementarios.
  • El recinto es bambú cortado con láser, diseñado en Inkscape, cortado por Ponoko.
  • Desafortunadamente, el escudo no tiene orificios de montaje así que lo aprieto de manera efectiva en el gabinete contra la cara frontal. Un Arduino Uno se acopla en el escudo a través de los pines del cabezal.
  • Necesitaba acceso I2C a un RTC externo (DS3232). El escudo no expone los pines no utilizados, así que utilicé un Uno que tiene pines SDA / SCL adicionales. Hice un conector de cabezal de perfil bajo para estos que se encuentra debajo del escudo. Saqué la energía y la tierra de un conector similar en los pines ICSP, también debajo del blindaje.
  • Agregué un horario de verano simple. apoyo al boceto (¡un reloj menos para configurar dos veces al año!). En lugar de lidiar con una lógica como "el último domingo de septiembre", se basa en una pequeña tabla de fechas de inicio y finalización específicas para años futuros (para Nueva Zelanda en mi caso).
  • Simplifiqué el código de la biblioteca Touch para hacer la pantalla táctil simplemente actúa como una cuadrícula 4x4 de botones sin rebote. Por ejemplo, la hora se establece tocando las esquinas inferior izquierda y superior derecha.
  • Hice algunos esfuerzos bastante heroicos para acelerar el renderizado:un repintado de las celdas tarda aproximadamente un cuarto de segundo. La representación se basa en escribir filas horizontales de píxeles de un color particular. Utilizo un algoritmo de Bresenham modificado para calcular las extensiones horizontales de una serie de pares de líneas que constituyen triángulos en una celda determinada. El código que envía los píxeles a la pantalla LCD se basa en la biblioteca, pero alineado, desenrollado, simplificado y optimizado. Dado que los datos de color de píxeles se escriben en varios PORTx, todos los valores se calculan previamente cuando se selecciona el color, por lo que configurar N píxeles en una fila para ese color es más rápido.
  • La pantalla LCD se utiliza en orientación horizontal . . Luché durante mucho tiempo para que la pantalla se actualizara en filas horizontales. La hoja de datos del controlador es confusa. Hay comandos para establecer la ubicación del "cursor", "Conjunto de dirección horizontal / vertical DRAM (R20h, R21h)". Los datos de píxeles se escriben en la ubicación del cursor y el cursor se actualiza, pasando a la siguiente línea cuando es necesario, etc. También hay un comando para cambiar la orientación de la pantalla, "Modo de entrada (R03h)", que también habla sobre el ajuste de la fila y columna del cursor incrementos. Sin embargo, descubrí que cambiar la orientación a Paisaje y luego colocar el cursor no funcionaba. La solución que encontré finalmente (que puede estar enterrada en la hoja de datos) es usar el comando "ventana" en lugar del comando del cursor; “Posición de dirección RAM horizontal y vertical (R50h, R51h, R52h, R53h)”. Establecer las coordenadas de la esquina superior izquierda de la ventana significa que los datos de píxeles comienzan allí y se actualizan horizontalmente (en paisaje).

Circuito

El circuito es simplemente

  • el escudo TFT montado en el Uno.
  • + 5VDC, Tierra, SDA y SDL van de los pines etiquetados en el Uno al módulo RTC. Se muestra en las primeras tres fotos a continuación (escudo eliminado). Tenga en cuenta que, por razones de acceso, la alimentación / tierra proviene del conector ICSP1.
Fritzing
Fotos

Proceso de manufactura

  1. Kazoo
  2. Arpa
  3. Espuma de poliestireno expandido (EPF)
  4. Sensores Raspberry Pi
  5. Robot que usa Raspberry Pi y Bridge Shield
  6. Controlador DMX operado por la web
  7. Arduino Spybot
  8. ¿Qué es un cortador de hilo?
  9. ¿Qué es una cantera?
  10. ¿Qué es una llave maestra?
  11. Generación de nitrógeno en laboratorios