Paso 3: Nrf24L01 (créditos a http://gizmosnack.blogspot.in/)
El módulo nRF24L01 es un impresionante módulo de RF que funciona en la banda de 2,4 GHz y es perfecto para la comunicación inalámbrica en una casa porque penetrará incluso gruesas paredes de hormigón. El nRF24L01 hace toda la programación dura para usted e incluso tiene una función para comprobar automáticamente si los datos transmitidos se recibieron en el otro extremo. Hay un par de versiones diferentes de las fichas de la nRF-familia y todos ellos parecen funcionar de manera similar. Por ejemplo he usado el nRF905 módulo (433MHz) con casi el mismo código que utilizo en el nRF24L01 y nRF24L01 + sin problemas. Estos pequeños módulos cuenta con una gama impresionante, con algunas versiones que consigue hasta 1000 m (vista libre) comunicación y hasta 2000 m con una antena biquad.
nRF24L01 versus nRF24L01 +
(+) La versión es la nueva versión actualizada de la viruta y soporta velocidad de datos de 1 Mbps, 2 Mbps y un "modo de larga distancia" de 250 kbps que es muy útil cuando quiere ampliar la longitud de difusión. El más viejo nRF24L01 (que he utilizado en mis posts anteriores) sólo admiten 1 Mbps ó 2 Mbps de velocidad de datos. Ambos modelos son compatibles entre sí, como se fijan a la misma tarifa de datos. Puesto que tanto los costos sobre el mismo (cerca de nada) te recomiendo comprar la versión +!
Parte uno - SetupConnection differencesThe nRF24L01 módulo tiene conectores de 10 y los + versión tiene 8. La diferencia es que el + versión en lugar de tener dos 3,3 V y tierra dos, tienen su tierra (una con un cuadrado blanco alrededor) y fuente de 3.3 V, al lado de uno. Si cambia el módulo de un nuevo + versión a un viejo, asegúrese de que no hay que olvidar a mover el cable de tierra en el lugar correcto, de lo contrario se acortará tu circuito.
Aquí está una foto de la versión (vista superior), donde se pueden ver todas las conexiones con la etiqueta +. La versión anterior tiene dos conexiones de tierra en la parte superior en vez de en el abajo esquina derecha.
Fuente de alimentación (GND y VCC) el módulo tiene que ser alimentado con 3,3 V y no puede ser alimentado por una fuente de alimentación de 5 V! Ya que se necesita muy poca corriente usar un regulador lineal para caer el voltaje a 3,3 V.para hacer las cosas un poco más fácil para nosotros, el chip puede manejar 5 V en los puertos de la entrada-salida, que es agradable ya que sería un dolor regular por todos los cables de E/s desde el chip AVR. Activar chip (CE) es usado cuando al enviar los datos (transmisor) o start recibir datos (receptor). La CE está conectado a cualquier puerto de la entrada-salida no utilizados en el AVR y se configura como salida (seleccione bit a uno en el registro de DDx donde x es la letra de puerto). Atmega88: PB1, ATtiny26: PA0, ATtiny85: PB3SPI Chip seleccionar (CSN) también conocido como "La nave no seleccione". El pasador de CSN es también había conectado a cualquier puerto de la entrada-salida no utilizados en el AVR y a la salida. El pin de la CSN está en alto en todo el tiempo excepto cuando enviar un comando de SPI desde el AVR a la nRF.Atmega88: PB2, ATtiny26: PA1, ATtiny85: PB4SPI reloj (SCK) este es el reloj de la serie. El SCK se conecta al pin SCK en el AVR. Atmega88: PB5, ATtiny26: PB2, ATtiny85: PB2SPI maestro de salida entrada del esclavo (MOSI o MO) esta es la línea de datos en el sistema SPI. Si tu chip AVR compatible con SPI-transfere como el Atmega88, esto conecta a MOSI en el AVR también y se configura como salida. En de AVR que carece de SPI, como el ATtiny26 ATtiny85 vienen con USI en su lugar, y la hoja de datos dice: "el modo USI de tres hilos es compatible con el modo de interfaz periférica Serial (SPI) 0 y 1, butdoes no tiene el esclavo seleccione funcionalidad de pin (SS). Sin embargo, esta característica puede ser software implementedin si es necesario"se refiere a la"SS"es lo mismo que"CSN"y después de algunas investigaciones, encontré este blog que me ayudó a asignar. Para obtener la USI SPI arriba y corriendo que me enteré que tenía que conectar la clavija MOSI de la nRF en el pin MISO en el AVR y establecer como salida. Atmega88: PB3, ATtiny26: PB1, ATtiny85: PB1SPI maestro de entrada salida del esclavo (MISO o MI) esta es la línea de datos en el sistema SPI. Si tu chip AVR compatible con SPI-transfere como el Atmega88, este se conecta al MISO en el AVR y ésta permanece como una entrada. Para conseguirlo trabajando en el ATtiny26 y ATtiny85, tuve que usar USI como se mencionó anteriormente. Esto sólo funcionó cuando conectado el pin MISO en la nRF al pin MOSI en el AVR y configurarlo como entrada y permiten pullup interna. Atmega88: PB4, ATtiny26: PB0, ATtiny85: pin IRQ el PB0Interrupt solicitud (IRQ) no es necesario, pero una buena manera de saber cuando algo ha sucedido para la nRF. por ejemplo, puede decir la nRF para establecer establecer la IRQ alta cuando se recibe un paquete, o cuando se haya completado una exitosa transmisión. Muy útil! Si el AVR tiene más de 8 pernos y un pin de interrupción disponible altamente sugeriría para que uno conectarse con la IRQ y la configuración de una petición de interrupción. Atmega88: PD2, ATtiny26: PB6, ATtiny85:-