Go Down

Topic: [Résolu] besoin d'aide avec des transceiver NRF24L01 (Read 14938 times) previous topic - next topic

zerr0s

bon, alors j'ai refait mes cânles hier, et j'ai testé avec 2 arduino uno et l'exemple ping_server et ping_client. Et ça a l'air de fonctionner.

Pour la carte mega 2560 ethernet (le chip est intégré sur la mega: http://cdn.shopify.com/s/files/1/0045/8932/products/EtherMega-production-sample-2_large.png?321).
Il n' y a pas de jumper hormis celui pour l'alim et le POE.*

Je referai un test ce soir avec la mega pour voir ce que ça donne.

skywodd

C'est un schéma de la carte qu'il faut si tu veut savoir où est le CS du chipset ethernet, pas une image ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

zerr0s

Ok, j'ai trouvé un super tuto sur ce lien: http://dukextrem.blogspot.fr/2012/11/test-emetteur-recepteur-24g-nrf24l01.html

Avec le bon câblage SPI, ça fonctionne maintenant. Il me reste à trouver comment augmenter la porté car
pour le moment, les modules ne communiquent pas au delà de 4/5m sans obstacle. Je vais essayer avec le Mirf.channel
pour voir ce que ça donne.

Si vous avez des astuces à me filer, je suis preneur.

B@tto

Pour avoir la portée maximale il faut le passer en 250 kbps et 0db d'atténuation.

Après tu peux gérer les retransmissions et la CRC (si tu la vires tu passeras plus de paquets mais leur intégrité est discutable)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

zerr0s

euh ... ok. mais comment ça se configure tout ça ? y a t il un utilitaire pour configurer ces options ?

B@tto

#20
Mar 07, 2013, 09:00 am Last Edit: Mar 07, 2013, 09:04 am by B@tto Reason: 1
Tu trouveras vers la fin de la datasheet la liste de tous les registres. La lib est bien faite et contient déjà les mnémoniques, et il te suffit d'utiliser la commande Mirf.configRegister(addresse registre,valeur).

Par exemple :

Code: [Select]

Mirf.configRegister(RF_SETUP,0b00100110); // 0 dBm + 250 kbps (sur Nrf24l01+)


Pour la CRC, soit tu modifies comme je viens de te l'expliquer le registre CONFIG, soit tu vas éditer le mirf.h. En haut il y a un #define avec des "<<", il suffit de modifier 1 ou 0 suivant ce que tu souhaites.
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

zerr0s

Hello,

Merci pour l'explication. J'ai téléchargé la datasheet pour voir tous les codes. Mais comment es-tu arriver à la conclusion que le RF_SETUP doit être configuré sur 0b00100110 pour 0dbm / 250kbps ?

Je regarde le tableau de la datasheet à la page 58, et je ne trouve pas d'infos sur ce code ? Je te demande car je voudrai comprendre pour tester les différentes config possible, sans avoir à chercher des heures sur google. Si je comprends le fonctionnement, ça ira tout seul (enfin j'espère) :)

B@tto

Tu as bien pris la doc pour NRF24l01+ ? (a supposer que tu aies bien cette version la)
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

zerr0s

Oui j'ai bien des nrf24l01+ , mais version japonnaise lol

Sinon, il ne m'est plus possible d''accé der au forum depuis mon pc.
J'ai systématiquement un "disallow key characters"

Je suis sur mon mobile . Zaarrbbb

zerr0s

Voilà les transceiver que j'utilise: http://www.nordicsemi.com/kor/Products/2.4GHz-RF/nRF24L01P

Ca y est ça refonctionne sur le pc après avoir supprimer les cookies ...

B@tto

Bin si tu regardes le registre RF_SETUP tout est décrit. Les n° de bit sont dans cet ordre 76543210 (bit de poids fort à gauche quoi). Chaque bit veut dire quelque chose, il suffit de lire et de le configurer comme tu le souhaites

Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

zerr0s

hum, ok, j'essaie de comprendre. Admettons queje veuille de 1Mbps 0dbm.

Si je suis le tableau, je devrai avoir: 0 0 0 00 11 0

CONT_WAVE : 0
RESERVED: 0
RF_DR_LOW: 0
PLL_LOCK: 0
RF_DR_HIGH: 00
RF_PWR: 11
Obsolete: 0

Ai-je bien compris ? Du coup, à quoi sert le 0b dans l'exemple que tu m'as donné ?

B@tto

C'est l'attenuation de la puissance (moins de puissance = moins de portée = moins de conso ).
Mirf.configRegister(RF_SETUP,0) donnera une attenuation de -18 dBm et 1 Mbps de débit
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Grag38

J'utilise pas mal les NRF24L. Ca foncitonne plutôt birn ces bestioles.

Par contre j'utilise pour programmer l'arduino la librairie de maniacbug qui est très simple à utiliser et qui fonctionne très bien.

Essaye là ;o)

http://maniacbug.github.com/RF24/

zerr0s

Pourquoi pas. J'ai monté le câblage du pingpair_dyn, mais pour le moment les 2 modules ne communiquent pas.

Je continue de tester. J'y arriverai bien ....

Go Up