Procesando la alimentación de video NTSC para la pantalla SPI

2

Recientemente he comenzado un proyecto en el que quiero usar esta pequeña cámara y hacer que transmita el directo video a una pantalla LCD en color muy pequeña, como esta a través de un Arduino.

Lamentablemente, la cámara tiene una salida NTSC y la pantalla LCD tiene una entrada SPI. ¿Hay alguna forma de que la imagen de la cámara se muestre en la pantalla LCD o tengo que usar una pantalla diferente?

    
pregunta johnny1bucket

3 respuestas

4

Bueno, necesitarías digitalizar el video, extraer luminancia, crominancia y amp; sincronice la información, reduzca la escala de 525 líneas a 128 líneas y emita los datos a través de SPI en tiempo real. Esto me suena como un no arranque.

Sería más fácil utilizar la salida digital JPEG de la cámara y descomprimirla, ya que la resolución es compatible con la pantalla (160 X 120 frente a 160 X 128) aunque no obtendría video en tiempo real.

    
respondido por el MikeJ-UK
1

EDITAR: Me equivoqué con el video a través de la interfaz TTL: puede tomar una instantánea y enviarla a través del UART, pero para el video, la única forma es la salida analógica. Por lo tanto, para ello necesitará un ADC rápido y una manipulación digital, y no será tan fácil.

Sin embargo, puede usarlo para enviar imágenes con una tasa de cuadros baja, como las cámaras web de monitoreo del clima en tiempo real.

Lo que necesita definir es la codificación de la imagen de la cámara web (profundidad de bits y tasa de cuadros) y, finalmente, escribir el código para convertirlo en un formato compatible con la pantalla (tiene diferentes opciones, lea la hoja de datos).

También puede ser posible reenviar directamente la imagen desde la entrada TTL a la entrada SPI sin procesamiento, pero todavía tiene que manejar la comunicación y será más fácil si su uC tiene las interfaces UART y SPI.

No es imposible, pero requiere un poco de trabajo.

    
respondido por el clabacchio
1

La captura de una señal de video NTSC en blanco y negro no es demasiado difícil, especialmente si no estás demasiado preocupado por la resolución o la velocidad de cuadros. Hubo un gizmo de captura de video que se conectó al puerto de la impresora de un Amiga 1000, por ejemplo. No había lujosos microcontroladores de miles de millones en aquel entonces: solo una lógica discreta, un sistema de muestreo y retención, y un ADC no muy rápido que IIRC capturó datos de 5 bits a 15 KHz (aproximadamente 5 segundos por cuadro, blanco y negro ). Espero que quiera y pueda capturar datos monocromáticos más rápido que eso con un microcontrolador decente. Si desea capturar una imagen en bruto de 128x100 a 30 fps, probablemente necesite capturar aproximadamente 0,8 megapíxeles / segundo (capture 1/4 de los píxeles horizontalmente en cada línea de exploración, en dos campos).

Capturar el color de una fuente de video NTSC "general" es mucho más difícil, ya que no hay una relación fija entre la fase cromática y la posición horizontal. Sin embargo, muchas fuentes de video, incluidas cámaras, computadoras y reproductores de DVD, tienen una relación fija entre croma y posición horizontal (existe una norma para lo que debería ser la relación para el video "perfecto", pero no todos los dispositivos cumplen; la mayoría de los dispositivos < i> que no sean VCR tendrán una relación consistente, pero pueden o no coincidir con el estándar). Si puede diseñar alrededor de una fuente de entrada conocida en particular, y puede medir con precisión los tiempos con respecto a la sincronización horizontal (la precisión del tiempo será mucho más importante que con el video monocromo) el muestreo de color puede ser práctico.

Sin saber lo que quieres hacer, no puedo decir cuál sería el mejor enfoque. Es posible que lo mejor sea utilizar una pantalla LCD con una entrada de video compuesto y superponer el video. La superposición de colores es generalmente una molestia, aunque si desea una "pantalla dividida" horizontal, podría ser posible hacer trampa (los conjuntos con circuitos de color analógicos no funcionarán bien si una parte de la pantalla utilizara una fase de color diferente a otra, pero las pantallas LCD puede que no le importe con un front-end digital; si generó su propio croma en las líneas en las que quería mostrar su propio color y dejó que la cámara cromara en otros, no estoy seguro de lo que sucedería).

    
respondido por el supercat

Lea otras preguntas en las etiquetas