Paso 8: Añadir el código
Este código era difícil de escribir. Yo no soy demasiado experto en codificación y VirtualWire biblioteca nunca fue significado para correr en ATTinies.
A este paso son archivos correspondientes a la porción de TX de este proyecto.
DEBE utilizar un ATTiny85 porque es el chip más pequeño que los temporizadores para apoyar la biblioteca VirtualWire.
Específicamente para la parte de TX, si le sucede que tiene un ATTiny85V - 10PU, bueno! Eso significa que su control remoto funciona con una energía más baja.
Si no, no te preocupes. Que todavía funciona.
Todo lo que necesita para el lado de TX estará en los archivos adjuntos. Aquí están los fundamentos
- Quemar los fusibles de la derecha en el chip. Usted va a correr a 8 MHz
- Mover VirtualWire a Arduino bibliotecas carpeta
- Cargar el código
- Examinar el esquema de protoboard para que sepa lo que usted está manejando.
Si usted necesita más información sobre programación ATTinies con Arduino, esta echa un vistazo.
DETALLES SOBRE EL CÓDIGO
Los módulos de RF fueron diseñados para el uso fácil con Arduino. El objetivo original era para que estos módulos de RF actuar como los cables invisibles. Idealmente, usted podría decir:
Y en el lado de RX, que se ejecuta:
Qué esperamos que suceda es cuando Serial.println("a"), la voluntad de "a" ser recibido en el otro lado.
Lamentablemente, hay mucho ruido. Cuando probé este código hacia fuera, el receptor encienda al azar de cualquier señal perdida en el aire o no enciende en absoluto ya que "a" no podría incluso sobrevivir a la antena del receptor.
Este código no funciona. Tiene que haber un método para reducir el ruido por filtrado. Afortunadamente, VirtualWire hace por nosotros!
Basado en mi conocimiento limitado, VirtualWire aprovecha los temporizadores del microcontrolador tipo de sync dos módulos de RF. En orden para que funcione, debemos utilizar el ATTiny85. Timer0 no existe en el 45.
En orden para el ATTiny85 a 3.7v, tenemos que ejecutar el microcontrolador sin un cristal externo.
Por lo tanto, se quema los fusibles para el reloj interno de 8MHz.
El siguiente código simplemente envía el carácter "a" constantemente sobre el módulo de RF.
MÁS INFORMACIÓN SOBRE CIRCUITO
El circuito de TX es bastante simple.
- Hay una resistencia de pullup k 1 a Vcc en el pin de reset [1]
- Nada se une a A3 y A2 [2 y 3]
- GND está conectada a un interruptor de batería-[4]
- 0 digital [5] está conectado a un LED. El LED conduce a una resistencia de 270 ohm a GND
- 1 digital [6] está conectado a datos en el módulo de RF
- A1 [7] no está conectado a nada
- VCC se conecta a la batería +
- El módulo de RF se conecta a Vcc y GND apropiadamente.
Cuando se ejecuta el código, si se presiona el botón, todo el circuito se encenderá
El LED debe encender y el ATTiny85 enviará "a" sobre el módulo de RF constantemente.