Completo laboratorio de circuitos y tarjetas POV (13 / 13 paso)

Paso 13: Programar el PIC

La Junta ahora completa, sólo tenemos que darle un programa a ejecutar, y estaremos listos para configurar nuestra creación libre en la naturaleza!

El PIC se puede programar en C++ o lenguaje ensamblador. Elegí C++, sobre todo para ahorrar tiempo, pero también porque necesariamente no quiso comprometerse a esta arquitectura y es cierto que, conjunto de lenguas no son ninguna diversión! Para simplificar, he desarrollado la junta con el PIC12F509 DIP, que es pin compatible con el 508. También es más grande y más fácil de manipular para propósitos de prueba, y encontré que tenía más memoria que necesitaba, por lo que he podido bajar el chip para el producto final.

Cómo funciona la tarjeta de POV
_______________________________________________________________________

La tarjeta está apagado hasta que el momentáneo interruptor apretado. En el encendido, el programa simula una bolita rodante con un contador binario que rueda hacia adentro y hacia afuera con la inclinación de la tarjeta. Después de aproximadamente cuatro inclinaciones hacia adelante y hacia atrás, entonces cambia al modo de persistencia de la visión y ciclos a través de una serie de patrones programados. Actualmente, dice mi nombre, seguido de un patrón de onda cuadrada limpio que actúa como un separador y luego mi número de teléfono. Cuando se cierra el interruptor de inclinación, el programa reconoce como el inicio de una ola y juega el actual patrón una vez a través, entonces espera hasta que comience otro de onda. Como la ola no doble vuelta demasiado pronto, y el patrón no es demasiado largo, no habrá ningún traslapo como el patrón quedará en blanco hasta que restablezca.

Los patrones de
_______________________________________________________________________

Cada patrón es una matriz de bytes, cada byte de una columna en la secuencia. El tiempo que en cada columna (marco) en el patrón y el tiempo entre fotogramas determina la velocidad de la pantalla, y cuán cerca se espacian los marcos cuando la tarjeta está agitada. Básicamente, cambia el ancho de los caracteres y el patrón como un todo. Además, la velocidad a la que onda la tarjeta también desempeña un papel en el espacio, pero no lo suficiente para hacerla ilegible; puesto que cambios fotogramas a una velocidad constante, la variación no es suficiente a la materia, pero es suficiente para que se vea dinámica. Limpio, ¿EH?

Para crear los patrones, he modificado un script que encontré escrito por Andrew Mason. Mi versión modificada para requisitos particulares para permitir la alternativa byte de formato y número de LEDS, pero la colocación del LED es fijo, por el momento. Puede hacer cualquier patrón que desee, siempre y cuando sea lo suficientemente pequeño como para caber en la memoria de fotos. La tasa que el patrón se reproduce en el se puede cambiar en el código.

El programa de
_______________________________________________________________________

El código es muy simple. Sin PWM o interrupciones, no había muchas cosas difíciles que pude hacer, incluso si quisiera. Conservación de espacios y optimización de hecho un poco más interesante, sin embargo, dado el ajuste necesario para que el código de ajuste en la memoria pequeñas fotos.

Para reproducir un patrón, el PIC simplemente comprueba el interruptor de inclinación ser activado, luego recorre un patrón. Establece las salidas GPIO en el byte actual en la matriz, que representa un marco, espera un período, entonces la matriz se incrementa. Una vez que el patrón ha desempeñado a través de todo el camino, espacios en blanco la pantalla y espera hasta que se ha activado el interruptor de inclinación. Esto indica que ha comenzado otra ola, y pasa por el patrón una vez más.

El código de marco se ve así, sin comillas: "0b00000000,". La 0b delinea un byte y la coma separa cada octeto de la siguiente. Esto es todo colocado dentro de una matriz de constantes, ya que no se cambia durante la reproducción y que ahorra RAM. Cinco de los bits de la matriz indica un LED de salida, mientras que uno y uno es un poco sólo utilizado para la entrada de pin. Los bits usados son: 0bXX12X543, donde el número indica el pin.

El código de
_______________________________________________________________________

#include < htc.h >
#include < stdlib.h >

La Junta de programación
_______________________________________________________________________

Todo el código fue escrito en Notepad ++, un excelente editor gratuito de varios idiomas. Usted también necesitará el MPLAB IDE con una copia del compilador de C de alta tecnología. Ambos están disponibles en versiones libres.

Usted necesitará una copia del software de programación de PICKit 2 de Microchip. Con el chip conectado y iCP01 enchufado, la familia de dispositivos a "Instantánea" y seleccione PIC12F508 de la lista desplegable dispositivo. Luego carga el archivo hexadecimal y pulse el botón write.

Referencias

  1. PIC12F508/509/16F505 Datasheet
  2. Guía de usuario de 9.81 compilador Hi-Tech C
  3. POVgen Online generador LED
  4. C alta tecnología Compliler
  5. Entorno de desarrollo integrado MPLAB

Herramientas y suministros

Artículos Relacionados

Fabricación de placas de circuito impreso en o cerca de su casa: una descripción comprensiva, casi una guía

Fabricación de placas de circuito impreso en o cerca de su casa: una descripción comprensiva, casi una guía

hay un poco de controversia sobre hacer tus propias placas de circuito impreso, muchos fabricantes piensan que consejos profesionales son tan baratos ahora que son el camino a seguir. Otros quieren tener más control y recuperación que corto que viene
HackerBoxes 0000: Circuitos de C.C., RFID, Software Radio, infrarrojo

HackerBoxes 0000: Circuitos de C.C., RFID, Software Radio, infrarrojo

Este instructable comparte algunos de los que se puede hacer usando HackerBoxes 0000, que es la primera edición de HackerBoxes. HackerBoxes es el servicio de caja de suscripción mensual para aficionados de electrónica, fabricantes y los hackers. Espe
Jugar tarjeta USB

Jugar tarjeta USB

Hola este es mi primer Instructable para lamento de las imágenes borrosas o cualquier otra cosa. Se me ocurrió esto ya que hade una vieja baraja de cartas que no uso y estaba enfermo de mi usb aburrido. Así surgió esto puede reciclar y tener un fresc
FUENTE de alimentación para mi laboratorio de

FUENTE de alimentación para mi laboratorio de

¿Qué se puede usar una batería para? Su una buena pregunta. Casi todo funciona con pilas estos días, directa o indirectamente. Pero ¿qué es lo que necesito que se ejecuta en una batería? Bueno, ha interrumpir su verano y el suministro de electricidad
Reducir su frambuesa Pi con ranura para tarjetas MicroSD

Reducir su frambuesa Pi con ranura para tarjetas MicroSD

la Frambuesa Pi sí mismo es aproximadamente del tamaño de una tarjeta de crédito, pero sólo tiene una estándar completo tamaño ranura para tarjeta SD. Cuando se conecte una tarjeta de SD tamaño completa estándar en él, pega la tarjeta fuera del conto
Tarjeta de San Valentín de LED!

Tarjeta de San Valentín de LED!

Luz para su ser querido la vida, con una luz tarjeta de San Valentín!!!!Pongo esto juntos en un poco de prisa, pero estoy seguro de que alguien puede hacer un trabajo más agradable.Y es mi primer instructable!!!!Paso 1: Materiales y herramientas Haz
Knight Rider circuito para coches RC - completa y trabajo - actualizados el 15 de marzo de 2012

Knight Rider circuito para coches RC - completa y trabajo - actualizados el 15 de marzo de 2012

esto es ahora completo & operativa!Esperando en un condensador y una resistencia de 1 k a completar este instructable e iré también añadiendo una olla Variable jugador no incluido en los esquemas pero me va a querer montar esto en un perfboard del ta
Exámenes médicos de laboratorio - una descripción

Exámenes médicos de laboratorio - una descripción

laboratorio médico es algo que juega un papel vital en la industria del cuidado médico, sin él, es difícil imaginar el funcionamiento de los sistemas de diagnóstico. Una variedad de pruebas se llevan a cabo por el grupo y las pruebas que se realizan
Ecualizador automático auriculares

Ecualizador automático auriculares

¿Teniendo en cuenta un par de auriculares, podemos hacer que les suene como otra y tal vez alta calidad par de auriculares? En este instructable, construimos un dispositivo que trata de hacer precisamente eso. Nuestro ecualizador automático auricular
Arduino Shield de potenciómetros digitales

Arduino Shield de potenciómetros digitales

El Escudo de Arduino de potenciómetros digitales ha sido probado para la compatibilidad con Arduino Duemilanove, Diecimilay Arduino UNO R1/R2Este escudo se basa en el dispositivo AD5206 de Analog Devices.En Internet podemos encontrar algunas aplicaci
Construir tu propio Smartphone

Construir tu propio Smartphone

Este tutorial te lleva de principio a fin en la construcción de su propio smartphone. Comenzará por 3D impresión un caso, entonces para soldar placas de circuito impreso, ensamblado y finalmente instalar un sistema operativo móvil en tu teléfono y us
RGB última hélice pantalla

RGB última hélice pantalla

Como muchos me parece algo muy satisfactorio sobre mirando pantallas de luz en el temor. De fuegos artificiales de noche de la hoguera para bonito en gráficos de juego y hasta un 8 x 8 x 8 cubos de RGB LED construí en 2013.He tenido muchos intentos e
Láser corte bandeja bebida

Láser corte bandeja bebida

Cuando comencé a usar el cortador del laser, yo rápidamente se obsesionó. Tuve una experiencia en diseño gráfico y de repente tuve una herramienta que podría dar vuelta mis dos imágenes digitales tridimensionales en objetos físicos tridimensionales..
Construcción de su propio miniordenador de compañero Micromite

Construcción de su propio miniordenador de compañero Micromite

La Minicomputadora de compañero Micromite es la próxima generación de la serie de Mini computadora de bolsillo.Es la combinación de dos sistemas de código abierto, el software Micromite, una creación de PIC32 por Geoff Graham y el propulsor de la par