
Enige tijd geleden was er tijdelijk een beta plugin voor bovenstaande module (NRF24L01 2.5 GHz transceiver) beschikbaar via de Wiki pages. De publicatie van de betreffende plugin was destijds echter ingetrokken omdat de hardware specialisten binnen het Nodo team de kans te groot achtten op verstoring van de SPI bus waarop ook de ethernet chip en sd-card zit. (Ethernet shield en de NES)
Er is nu een nieuwe beta plugin in ontwikkeling die gebruik maakt van een eigen SPI bus. Daardoor zijn conflicten met ethernet of sd-card op de standaard SPI bus uitgesloten. De plugin is in eerste instantie bedoeld om te testen en evalueren. De NRF module kan worden aangesloten op 4 vrije IO pinnen van de Nodo. Op de NRF module gebruiken we de volgende IO pinnen: CSN, SCK, MOSI, MISO, pin CE verbinden we met VCC. De module moet worden gevoed op 3,3 volt, dat kan via de meeste Arduino bordjes behalve de Pro Mini. In de praktijk is wel gebleken dat een condensator op de voedingspin gewenst is om de ontvangst te verbeteren. Ik gebruik zelf een 10 uF elco en een 100 nF ceramic condensator.
De plugin gebruikt standaard 4 wiredin aansluitingen, maar dat kun je aanpassen door de volgende regels op te nemen in de config file van de betreffende Nodo:
Voorbeeld Mega op de WiredIn pinnen 4,5,6,7:
- Code: Selecteer alles
#define NRF_CSN_PIN A12
#define NRF_MOSI_PIN A13
#define NRF_MISO_PIN A14
#define NRF_SCK_PIN A15
Als je voor de Nodo Small Wired In nodig hebt, kun je ook enkele WiredOut pinnen gebruiken. Bij voorbeeld 2 x input en 2 x output:
Voorbeeld Small op WiredOut 3 en 4 en WiredIn 3 en 4
- Code: Selecteer alles
#define NRF_CSN_PIN 9
#define NRF_MOSI_PIN 10
#define NRF_MISO_PIN A2
#define NRF_SCK_PIN A3
Als je net zoals ik vrij intensief meetwaardes moet verwerken via RF dan loopt de 433 MHz aardig vol. Een uitwijk naar een andere frequentie is dan een optie.
Mocht iemand eens willen testen, dan hoor ik graag de resultaten! Link naar de plugin 093 (experimenteel):
http://code.google.com/p/atmel/source/browse/#svn%2FNodoPlugins
Een plugin biedt helaas nog geen mogelijkheden om Sendto te gebruiken. Daarom moet je een Nodo Small eerst via een Mega met I2C voorzien van een eventlist. Ik gebruik meestal een Arduino Nano als Nodo slave met enkel de NRF24L01 en b.v. een Dallas sensor. Meer heb je niet nodig voor een temperatuursensor.
gr
Martinus