Cómo: Marco de imagen digital, 100% DIY

Hay una tonelada de tutoriales de marco de imagen digital por ahí. Muchas son computadoras portátiles antiguas con reconfiguraciones de casos astutos que se ajustan a un perfil de marco de fotos.

Nos dispusblamos para construir un marco digital digital de bricolaje 100%,. Nuestro marco tiene una pantalla LCD de color de 12 bits, gigabytes de almacenamiento en tarjetas microSD comunes, formateadas por grasa, y puede construirlo en casa. Tenemos los detalles a continuación.

Descripción general del concepto

Las imágenes de mapa de bits se almacenan en tarjetas microSD comunes, legibles por PC. Un microcontrolador de imágenes lee las imágenes en un bus SPI de tres cables. La imagen procesa los datos de la imagen y lo escribe a una pantalla LCD de color sobre un autobús unidireccional de 9 bits SPI-tipo SPI. Un archivo de configuración en la tarjeta SD define el retraso entre las imágenes.

Hardware

Haga clic para obtener una imagen esquemática de tamaño completo (PNG). El circuito y el PCB se desarrollan utilizando la versión gratuita de CADSOFT EAGLE. Todos los archivos para este proyecto están incluidos en el archivo del proyecto vinculado al final del artículo.

Microcontrolador

Utilizamos un microchip pic24fj64ga002 28pin SOIC Microcontroller (IC1) en este proyecto. Realmente nos gusta este chip porque la característica de selección de PIN periférica nos permite poner características esenciales en los pasadores que queremos; Esto le da una PCB más pequeña, más simple y mucho más compacta. Cada pasador de alimentación tiene un condensador de derivación 0.1UF a tierra (C1,2). El regulador interno de 2.5Volt requiere un condensador Tantalum 10UF (C12). El chip está programado a través de un encabezado de cinco pines, SV1. R1 es una resistencia de pull-up para la función MCLR en PIN 1. Lea mucho más sobre este chip en nuestra introducción de PIC24F.

Un cristal 32.768KHz (Q1) y dos condensadores de 27pf (C10,11) ofrecen un oscilador para el calendario de reloj en tiempo real (RTCC). Estas partes son opcionales, el firmware inicial no las usa. La RTCC podría usarse como parte de una función que superpone la hora actual en la pantalla. Los botones conectados al encabezado de programación se pueden usar para ajustar la hora.

tarjeta SD

Las tarjetas microSD son completamente compatibles con las tarjetas SD regulares, las tarjetas microSD se pueden usar en un lector / escritor de tarjetas SD con un adaptador. Evaluamos varios titulares de tarjetas microSD, y nos establecimos en uno de SparkFun Electronics. La tarjeta microSD requiere un condensador de derivación entre el pasador de alimentación y el suelo (C3). Un LED indica la actividad de lectura microSD, pero también es útil para la depuración general (LED1, R2).

Color LCD 128 × 128 NOKIA Knock-off

Este proyecto se desarrolla alrededor del panel LCD de color de $ 20 de Sparkfun. La lógica LCD se ejecuta a 3.3Volts y requiere un condensador de desacoplamiento (C4). La retroiluminación LED requiere un suministro separado de 7 Volt, y parece tener un limitador de corriente interna porque los diseños de ejemplo no usan resistencias externas.

La pantalla LCD tiene una entrada separada para el suministro de pantalla de 3.3VOLT. Numerosos informes de ruido en la pantalla si este voltaje no está limpio. Utilizamos un bead de ferrita (L1) y un capacitor 0,1UF (C5) para filtrar la oferta, y no ha experimentado ningún problema. Esto se ocupó de un prototipo sucio y grabado en casa. El tipo de talón de ferrita no es importante, usamos uno que sobrante de nuestro pequeño proyecto de servidor web.

El pequeño conector es fácil de soldar en una placa profesional con una máscara de soldadura, pero compra varios como seguro. Sparkfun tiene una huella PCB para esta parte en su biblioteca de piezas de Eagle, pero el espaciado entre las almohadillas es más pequeño que Olimex o BatchPCB se fabricará. Lo trasladamos disminuyendo el tamaño de la almohadilla para obtener mucho más espacio entre. No dependa del conector para sujetar la pantalla LCD en su lugar, use cinta para sujetarla. Utilizamos pegajosos para colocar la pantalla LCD temporalmente.

Prototipos de un tablero de transporte LCD antes de enviar el diseño final para la fabricación. Recomendamos contra usar un relleno de tierra debajo del conector sin una máscara de soldadura.

Fuente de alimentación

Un suministro de 3.3VOLT, ofrecido por un LD1117S33 (IC2), alimenta la PIC, la tarjeta microSD, la lógica LCD y la pantalla LCD. IC2 requiere un condensador de derivación 0.1UF (C6) en el lado de la oferta, y un condensador 10UF (C13) en la salida. Utilizamos el mismo condensador Tantalum que utilizamos para el regulador interno de la imagen.

La retroiluminación LCD está alimentada por un regulador ajustable LM317 (IC3) configurado a 7 Volts con resistencias 240 (R5) y 1100 (R6) OHM. C7 y C8 son condensadores de derivación 0.1UF para el LM317.

J1 es un conector de alimentación SMD para un enchufe de barril DC 2.1MM común. C11 es un condensador electrolítico de 10UF que suaviza cualquier retraso en el voltaje de suministro. C11 tiene una calificación de entrada máxima de 16 Volt, por lo que el voltaje de suministro se mantiene mejor bajo 12VOLVES. 9-12 voltios es probablemente la idea del rango de suministro de energía.

tarjeta de circuito impreso

Haga clic para un diagrama de colocación de tamaño completo (PNG). L1, C5, y la pantalla LCD están en el lado opuesto. No podemos prototipo de tablas de doble cara en el sótano de mamá, así que enviamos este diseño a BatchPCB. La próxima semana te mostraremos cómo lo hicimos.

Lista de partes

Parte
Descripción

IC1
PIC 24FJ64GA002 (SOIC)

IC2
LD1117S33 3.3VOLT REGULADOR (SOT223)

IC3
LM317 regulador ajustable (SOT223)

U $ 1
Color LCD 128 × 128 NOKIA Knock-off


Conector de nock-off de Nokia

C1-8
Capacitor 0.1UF (0805)

C10,11
Capacitor 27PF (0805)

C12,13
10UF TANTECapacitor de alumbre (SMCA)

C14
Condensador electrolítico 10UF (SMD)

L1
Bead de ferrita (0805)

Led1
LED (0805)

Q1
32.768khz Crystal

R1
Resistencia de 2000 ohmios (0805)

R2
Resistencia de 390 ohmios (0805)

R5
Resistencia de 240 ohmios (0805)

R6
Resistencia de 1100 ohmios (0805)

Sd1
Titular de la tarjeta microSD

J1
Jack de alimentación de 2.1mm (SMD)

Sv1
0.1 “encabezado de pin masculino, mejor ángulo

Firmware

El firmware está escrito en C usando la versión de demostración totalmente gratuita del compilador Imagen C30. Aprenda todo sobre cómo trabajar con esta imagen en nuestra introducción a la serie Picture 24F. El firmware se incluye en el archivo del proyecto al final del artículo.

Biblioteca de discos FAT12 / 16/32

La biblioteca FAT 12/16/32 de Microchip nos da fácil acceso a los archivos almacenados en tarjetas SD. Dimos una descripción completa de esta biblioteca en nuestro servidor web en un proyecto de tarjeta de la empresa. Si tiene problemas para leer una tarjeta con la biblioteca, verifique que se formatee en una cámara de video digital o use el formateador de la tarjeta SD de Panasonic.

Nokia 6100 Driver LCD

SPIRFFUN tiene un chófer de color básico de 8 bits (ZIP) para el Nokia 6100. Lo portamos en la foto y lo actualizamos para el modo de color de 2 bits de 2 bits de 2byte. Con una pequeña cantidad de complejidad adicional, la tasa de escritura de píxeles podría mejorarse fácilmente utilizando un modo de 12 bits diferente que ofrece dos píxeles utilizando 3 bytes.

La pantalla LCD utiliza un protocolo de 9 bits, se manejará un poco más de lo que manejará mucho hardware SPI. El primer bit le dice a la pantalla LCD si los próximos 8bits son datos o un comando. En la foto 24f es imposible golpear manualmente en el primer bit, y luego usar el SPI periférico para enviar las 8bits restantes. Perdemos el control directo de los pasadores cuando Hardware SPI está habilitado. La entrada de datos debe ser completamente bitginizada, lo que reduce drásticamente la tasa de revitalización de la pantalla.

Leyendo mapas de bits

Hay un montón de formatos de mapa de bits. La compatibilidad de Windows mantiene a todos usando el formato antiguo de Windows V3. Creamos dos estructuras C para leer los datos de mapa de bits V3.

Compensar
Bytes
Encabezado de archivos de mapa de bits

0
2
Siempre 0x42 0x4d (hex para BM)

2
4
Tamaño del archivo (bytes)

6
2
Reservado, ignorado

8
2
Reservado, ignorado

10
4
Ubicación en el archivo de los primeros datos de mapa de bits.

Los archivos de mapa de bits comienzan con un encabezado de archivos de 14byte. Los dos primeros bytes son las letras ‘BM’, que indican un mapa de bits. Si los dos primeros bytes son correctos, el firmware carga el encabezado de la información. Los últimos cuatro bytes indican el inicio de los datos de mapa de bits, pero el firmware actual solo asume que comenzará al final de los encabezados.

Compensar
Bytes
Encabezado de información de mapa de bits

14
4
Longitud del encabezado de información de mapa de bits (40 biajes de bits de Windows V3)

18
4
Ancho (píxeles)

22
4
Altura (píxeles)

26
2
Planos de color, siempre 1

28
2
Bits de color por píxel (1, 4, 8, 16, 24 y 32)

30
4
Método de compresión, solo leemos sin comprimir (tipo 0)

34
4
Longitud de datos de imagen

38
4
Resolución horizontal (píxeles por metro)

42
4
Resolución vertical (píxel por metro)

46
4
Número de colores, ignorado.

50
4
Número de colores esenciales, ignorados.

Un encabezado de información de mapa de bits de Windows V3 es de largo. El firmware verifica que la longitud del encabezado (offset 14) es 40, indicando un mapa de bits V3. Si el ancho (132), la altura (132), la profundidad del color (24) y la compresión (0) se realizan todo, los datos de la imagen se procesan y se envían a la pantalla.

Compensar
Bytes
Datos de mapa de bits de imagen de 24 bits

54+ (3n)
1
Pixel N Valor Rojo

54+ (3n + 1)
1
Pixel N Valor Verde

54+ (3n + 2)
1
Valor azul de pixel n

Las imágenes de mapa de bits han descascado, las representaciones de 1: 1 de los datos de píxeles almacenados en tres secuencias de bytes. Los datos comienzan en la esquina inferior derecha de la imagen; Primero el valor rojo, entonces verde y azul. Wikipedia tiene un completo paseo de mapas de bits.

Si la profundidad de color de una imagen de mapa de bits (24bits) es mayor que la pantalla LCD, puede mostrar (12bits), debemos descartar los bits menos significativos de los datos de color. Para convertir de color de 24 bits a color de 12 bits, solo pedimos la mitad de los datos de color; Un valor de 8 bits de 11110011 se presiona cuatro bits a la derecha, dando 1111.

Firmware caminando a través

Init Pic, SD, LCD.

Lea config.ini, cree si no existe.

Use el primer carácter de CONFIG.INI para establecerse entre el retardo de la imagen.

Busque imágenes, abra la siguiente imagen.

Lea y compruebe el encabezado del archivo de mapa de bits para formato adecuado.

Lea y compruebe el encabezado de información de mapa de bits para la versión, tamaño, color.

Lea y muestra cada valor de píxel. Ajuste la profundidad de bits según sea necesario.

Retraso, luego repite desde 4.

Preparando imágenes

Para mantener esta demostración simple, el marco de fotos solo muestra el formato de mapa de bits más común. Las imágenes deben ser dimensionadas a 132x132pixels, con color de 24 bits.

Abra una imagen con un programa de edición de imágenes.

Dibuje un cuadro de selección cuadrado sobre la parte de la imagen que desea usar, normalmente usando SHIFT y arrastre.

Recortar la imagen.

Tamaño de la imagen a 132x132pixels.

Guarde la imagen como mapa de bits de Windows, 24bits de profundidad de color.

Otros tamaños y formatos de imágenes podrían ser compatibles con una actualización de firmware (PNG, JPG), especialmente con una actualización de microcontrolador compatible con PIN a un enorme DSPIC 33F.

Usándolo

Ponga imágenes en el directorio raíz de una tarjeta SD formateada por grasa. Dependiendo del LAST DISPOSITIVO Para formatear la tarjeta, es posible que deba formatearse con una cámara de video digital o el formateador SD Panasonic.

Opcional: haga un archivo CONFIG.INI con un editor de texto. Ingrese un solo dígito, de 0-9, para establecer el retraso entre la imagen. guarda el archivo. Si no crea su propio archivo CONFIG.INI, se creará para usted con un retraso de 1 segundo.

Coloque la tarjeta en el zócalo y enchufe el marco de imagen digital. Las imágenes recorrerán la pantalla con el retraso definido.

Tomándolo más

Vemos mucho potencial en este fácil marco de imagen digital. Se pueden agregar numerosas funciones con una actualización de firmware, algunas son la base para el hardware futuro.

Mostrar otros formatos de imagen, imágenes de escala

Fades aleatorias y toallitas

Mostrar hora y fecha sobre la imagen, configurarse con los botones conectados a los pines de programación

Extienda las opciones de configuración en CONFIG.INI para incluir retrasos más largos, desvanecimiento o tipo de limpieza

Use un directorio secundario para imágenes porque hay algunas limitaciones de archivo en el directorio raíz de una tarjeta SD formateada por grasa.

Agregue una conexión Ethernet para actualizaciones de pantalla en red.

Descargar: dpf.v1.zip se ha movido aquí.

Leave a Reply

Your email address will not be published.