nodo-domotica.nl
http://www.nodo-domotica.nl/forum/

The return of the NRF24L01 ...
http://www.nodo-domotica.nl/forum/viewtopic.php?f=26&t=2175
Pagina 1 van 7  Volgende »
Auteur:  mvdbro [ 24 jul 2014, 15:45 ]
Titel:  The return of the NRF24L01 ...

Afbeelding
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
Auteur:  rwijbenga [ 24 jul 2014, 21:04 ]
Titel:  Re: The return of the NRF24L01 ...

Puik werk weer!

Ga ik na de vakantie ook mee aan de slag!
Auteur:  manjh [ 25 jul 2014, 09:58 ]
Titel:  Re: The return of the NRF24L01 ...

Het idee spreekt mij ook enorm aan. Je krijgt op deze manier een effectieve scheiding van twee toepassingen:
1. een "meetnet" dat bedoeld is om meetwaardes uit allerlei sensoren te versturen. De satellieten hebben een 2.4GHz transceiver, en centraal ligt er een small met 2.4GHz unit die via I2C de brug vormt tussen de Mega en het 2.4GHz net.
2. het "gewone" 433MHz net, dat hiermee een stuk rustiger is geworden.

Ik heb nog tien van die transceivers liggen, ik ga het binnenkort oppikken.
Auteur:  tim [ 25 jul 2014, 15:07 ]
Titel:  Re: The return of the NRF24L01 ...

Hoi,

Ik had die dingen ook al besteld toen ik ze een tijd terug zag staan op de experimentele site ergens halverwege de home page. Gezocht via eBay en de prijs was 6,62 euro. Ik dacht eerst per stuk en dat was al redelijk dacht ik maar ging blijkbaar om 10 stuks. Dus dan kosten ze per stuk 66 eurocent! en geen verzendkosten! Dat klonk eigenlijk te mooi om waar te zijn.

Maar vandaag zijn ze toch echt :o binnengekomen wel pas na ongeveer 3 weken!

Nu nog even kijken of ik ze werkend ga krijgen. En als de experimentele plugin niet gaat werken dan is de schade van 6 euro wel te overzien :lol: :lol: :lol:
Auteur:  tim [ 25 jul 2014, 15:10 ]
Titel:  Re: The return of the NRF24L01 ...

ik zie dat manjh hierboven praat over 866MHz. Deze dingen zitten toch op 2.4 G?
Auteur:  manjh [ 25 jul 2014, 16:58 ]
Titel:  Re: The return of the NRF24L01 ...

tim schreef:ik zie dat manjh hierboven praat over 866MHz. Deze dingen zitten toch op 2.4 G?

Ja, je hebt natuurlijk gelijk. Die 866 komt uit de Alecto weerstation hoek...
Heb de post aangepast.
Auteur:  manjh [ 26 jul 2014, 13:04 ]
Titel:  Re: The return of the NRF24L01 ...

"behalve op de Pro Mini"... :roll:
En dat is nou net bij uitstek het bordje dat je hiervoor wilt gebruiken, vanwege het formaat.

Is er een manier om hem toch daarmee te gebruiken?
Auteur:  manjh [ 26 jul 2014, 13:33 ]
Titel:  Re: The return of the NRF24L01 ...

Kun je wat meer informatie opnemen in de plugin (als commentaar)?
Bijvoorbeeld de pin layout. Ik heb een aantal van die dingen gekocht bij een Chinese grappenmaker die alleen Chinese tekens op de print heeft gezet... :twisted:

Verder is ook de informatie die je in dit forum hebt gezet over aansluiting op de poorten, en wijzigen via #define erg nuttig. Als je dat allemaal in een commentaarblok in de plugin zet is het voor de gebruikers heel makkelijk te vinden.
Auteur:  tim [ 26 jul 2014, 15:34 ]
Titel:  Re: The return of the NRF24L01 ...

Heb de modules even met jumpwires aangesloten en de plugin erbij gezet. Deze afbeelding is handig voor de aansluitingen
http://nathan.chantrell.net/blog/wp-con ... f24l01.jpg

En het lijkt te werken! Als ik de Arduino Nano reset, dan zie ik een melding op de Mega voorbijkomen! En ze staan niet in verbinding met elkaar dus het moet wel door de lucht gaan.
Auteur:  mvdbro [ 26 jul 2014, 16:38 ]
Titel:  Re: The return of the NRF24L01 ...

tim schreef:....En het lijkt te werken! Als ik de Arduino Nano reset, dan zie ik een melding op de Mega voorbijkomen! En ze staan niet in verbinding met elkaar dus het moet wel door de lucht gaan.


Bedankt voor het testen. Blijkbaar zijn de instructies helder genoeg om het werkend te krijgen.
Als je verder wilt testen, kan je via I2C vanuit een Mega de volgende eventlist laden:

(Stel je slave is nodo unit 10)

Code: Selecteer alles
eventlistwrite; boot 10; WiredThreshold 1,0;
eventlistwrite; boot 10; WiredThreshold 2,0;
eventlistwrite; boot 10; WiredThreshold 3,0;
eventlistwrite; boot 10; WiredThreshold 3,0;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 1,RF;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 2,RF;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 3,RF;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 4,RF;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 5,RF;
eventlistwrite; userevent 250,10; delay 1;
eventlistwrite; userevent 250,10; VariableSend 6,RF;
eventlistwrite; userevent 250,10; delay 1;

Koppel dan de Nano los van de I2C en geef op de mega de volgende opdracht:

UserEventSend 250,10

Als alles goed is gegaan, zal de slave 6 variabelen doorzenden naar de Mega.
Pagina 1 van 7 Alle tijden zijn GMT + 1 uur