Paso 1: Pruebe el código de Arduino
El problema es que tenemos el código de la tira de LED flexible de C...
ver mi instructable:
... pero tenemos la biblioteca de infra roja en el código de Arduino! ¿Crees que estos dos bits del código se puede combinar como eso? Mal!
Así que primero obtener nuestro bosquejo infra rojo trabajando en el Arduino.
In the Jeelabs.org store you can buy a infra red plug and in the library Ports of Jeelabs.org there are examples getting the infra red signal.
Estos es muy conveniente, y funciona, pero... no han aprendido mucho! No cómo portarlo, combinarlo con otro código.
Infra rojo dispositivos:
Usted puede también y bastante fácilmente, hazte el receptor y el emisor. El diodo IR especial con regulador de frecuencia (sólo recibe el 38 kHz) es de aproximadamente 1,60 euros en conrad.nl y funciona inmediatamente.
El emisor necesita un temporizador 555 para enviar a 38kHz, y puede encontrar los esquemas en todas partes, en jeelabs.org, pero también aquí:
enlace:
http://davebodnar.com/Railway/Pulsed_IR_Article/
Portar el código de
Si comienzas a explorar la parte infrarroja de puertos lo primero que notará es la diferencia en digitalWrite y digiWrite de Jeelabs. Ya que mi meta es código AVR C en un proyecto AVR que tengo que reescribir el digiWrites en digitalWrites (y luego a C en el paso siguiente). Esto no es demasiado difícil, porque usted puede encontrar una tabla de conversión fácil en el sitio de Jeelabs:
http://jeelabs.net/projects/hardware/wiki/JeeNode
Funciones izquierda
Puertos es en C++ y nos vamos a C Arduino, por lo cual los objetos c ++ deben ser reescrito. Esto también es fácil, no hay objeto real en una estructura. Así conseguimos un script de Arduino con las funciones de la biblioteca, no mediante la biblioteca de puertos ya.
Estas son las funciones para uso infrarrojo:
configurar (uint8_t slot4, uint8_t gap256);
poll();
Done();
y necesitamos algunas variables globales:
ranura de uint8_t, brecha, buf [40];
relleno de carbón de leña;
uint32_t anterior;
Ahora llene este char variable trabaja en código de Arduino, pero no en AVR Gcc! Tiene que ser cambiado en un int, ya que utiliza valores negativos...
Si usted tiene el diodo infrarrojo puedes probar con el siguiente bosquejo:
http / /: www.contrechoc.com/instructables/infra_red_arduino_code.pde
en PC3, o 3 analógico o digital 17 es la entrada de pin para el dispositivo diodo infrarrojo (utilizado aquí como un PIN digital).
He usado pantalla pin 6 y 7 para alimentar mi líquido para las pruebas.
Puedes ver que incluye bibliotecas utilizadas por las funciones de la lib de puertos:
WProgram.h
stdint.h
AVR/pgmspace.h
util/Atomic.h
De lo contrario obtendrá errores en atómica estado etc..
(En este dibujo el relleno es todavía un char).
Comprobación de
Comprobar el código infrarrojo de Arduino es fácil: sólo tiene que utilizar la ventana del serial.
Comprobación de avr gcc no es tan sencillo, así que ya en la fase de código Arduino que he añadido un cristal líquido para comprobar si la salida Serial también aparecía en la pequeña pantalla de cristal líquido. (El cristal líquido se une a un Attiny2313.)
Archivos ocultos de Arduino
Código de Arduino es conveniente si se compara a AVR C. Este lo que es fácil es el gran éxito de Arduino! Pero va un paso más como yo, y tienes que entender un poco cómo este éxito fue posible.
Así que detrás de la ARduino es mentido srcipt C.
Los puertos utiliza también los archivos especiales de Arduino (ocultos en las carpetas de arduino y vinculado con un makefile invisible).
Por ejemplo:
En AVR Gcc que no puedo utilizar digitalWrite etc. a menos que sea hago mi propia función o usar los archivos de Arduino. Además de la función de micro.