Aller au contenu


Photo
- - - - -

nRF24L01+


  • Veuillez vous connecter pour répondre
11 réponses à ce sujet

#1 memo1402

memo1402

    Nouveau membre

  • Membres
  • 5 messages

Posté 06 août 2014 - 05:34

Bonjour,

J'ai en ma possession deux nRF24L01+ et j'aimerais savoir comment les configurer pour les faire communiquer entre eux meme avec un simple clignotement de LED je serais content :)/>. J'ai 2 PICs 18f2520 .J'utilise le compilateur HIGH-TECH universal toolsuite, le microchip c18 toolsuite, microchip mpasm toolsuite.

Merci d'avance.

PS: Je suis un vrai débutant à ce sujet là alors soyez indulgent :)/>

#2 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 06 août 2014 - 01:00

Bon je n'ai pas regarder en détail le produit en question mais je pense qu'il s'agit d'un simple converteur de médium de liaison série de type UART.
Ainsi si je ne me trompe pas, ton module doit se connecter sur l'alimentation et sur les broche TX et RX de ton pic.

Si c'est bien cela, pour l'utiliser il te suffit d'implémenter un protocole de liaison série UART dans tes pics.

Personnellement j'utilise MPLABX comme IDE ( qui est très bien d'ailleurs ) et il y a un exemple pour les pic 18 et une librairie complète.
Par contre il faut quand même que tu regarde un peut la datasheet de ton pic pour comprendre un chouilla comment utiliser la librairie! Je pense que lire ces datasheet sont la partie la plus déroutante quand on est débutant mais bon il y a pas le choix faut passer par là pour progresser !

Bon courage pour la suite !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#3 memo1402

memo1402

    Nouveau membre

  • Membres
  • 5 messages

Posté 06 août 2014 - 02:37

D'apres ce que j'ai pu compprendre de la datasheet du nrf24l01+ il communique avec une liaison SPI je sais a quel pin connecter mais je ne sais pas comment le programmer c la que je bloque. Par exemple si je veux envoyer juste une commande LED=1; je dois proceder comment ? Je pense qu'il y a un methode préconisé pour y proceder il faut passer par le mode power down puis stand by puis tx mode mais je ne sais pas comment.

https://www.sparkfun...cation_v1_0.pdf

#4 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 06 août 2014 - 06:20

D'apres ce que j'ai pu compprendre de la datasheet du nrf24l01+ il communique avec une liaison SPI je sais a quel pin connecter mais je ne sais pas comment le programmer c la que je bloque. Par exemple si je veux envoyer juste une commande LED=1; je dois proceder comment ? Je pense qu'il y a un methode préconisé pour y proceder il faut passer par le mode power down puis stand by puis tx mode mais je ne sais pas comment.

https://www.sparkfun...cation_v1_0.pdf


du coup je me suis visiblement trompé ... Il faudrait que je lise la datasheet pour en savoir plus là dessus mais je ne pourrais rien te dire de plus que ce que je pourrais lire sur la datasheet ou trouver sur internet ... Du coup je te laisse toi chercher sur internet et lire la datasheet ;)
Par contre si tu as des questions plus précise concernant la compréhension d'une partie de la datasheet ou d'un autre document n'hésite pas à poser des questions ici ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#5 memo1402

memo1402

    Nouveau membre

  • Membres
  • 5 messages

Posté 07 août 2014 - 01:34

OK merci :)/> Justement ça m'aiderai beaoucoup si tu m'explique comment passer en mode SPI avec le PIC 18h2520. Je n'ai pas tout compris. Il y a 5 registre à programmer mais je ne vois que 2 tableau de registre à configurer.

http://ww1.microchip.com/downloads/en/devicedoc/39631a.pdf ==> datasheet

#6 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 07 août 2014 - 03:22

OK merci :)/>/> Justement ça m'aiderai beaoucoup si tu m'explique comment passer en mode SPI avec le PIC 18h2520. Je n'ai pas tout compris. Il y a 5 registre à programmer mais je ne vois que 2 tableau de registre à configurer.

http://ww1.microchip.com/downloads/en/devicedoc/39631a.pdf ==> datasheet


Dans ta datasheet tout est expliqué à partir de la page 163.
Qu'est ce que tu ne comprend pas exactement ?
Ce qu'il faut faire pour paramétrer le pic ? Comment sont organiser les registre ? et comment écrire dans le code ce qu'il faut faire ?

Il faut bien comprendre ces deux choses de manière distincte pour écrire le code qui permet de paramétrer le pic ( en passant par la configuration correcte des registres ;) )

Si tu veux tu peux relire au calme la doc est noter étape par étape ce qui est demandé d'être fait à partir de la page 166 : Initialiser le spi , activer le spi etc...... et pour chaque étape écrire les registre qui sont associé ! Il faut que tu écrive cela de manière à ce que tu comprenne ce que tu fais ;) n'hésite pas à mettre les indications des pages ou les mots en anglais ici si tu as des doutes et veux des confirmations ou autre!

Quand tu aura fait ça tu aura fait l'étape 1 : comprendre ce qu'il faut faire pour paramétrer le pic.
Ensuite tu recherches les noms des registre dans la datasheet et tu regarde comment ils sont composé. là tu seras à l'étape 2 tu sauras comment sont organiser les registre.
Enfin etape 3 écrire le code qui va bien ( peut varier en fonction du compilateur que tu utilise )
Ensuite viennent d'autres étape mais on en reparlera après ;) tu peux déjà commencer par poster les 2 premières étapes ici ;) ça aidera les suivants !


à bientôt !

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#7 memo1402

memo1402

    Nouveau membre

  • Membres
  • 5 messages

Posté 07 août 2014 - 08:34

Je ne comprends pas tres bien cette partie la : The MSSP consists of a transmit/receive shift register
(SSPSR) and a buffer register (SSPBUF). The SSPSR
shifts the data in and out of the device, MSb first. The
SSPBUF holds the data that was written to the SSPSR
until the received data is ready. Once the 8 bits of data
have been received, that byte is moved to the SSPBUF
register. Then, the Buffer Full detect bit, BF
(SSPSTAT<0>) and the interrupt flag bit, SSPIF, are
set. This double-buffering of the received data
(SSPBUF) allows the next byte to start reception before
reading the data that was just received.

Et c'est quoi :-Data Input Sample Phase (middle or end of data
output time)
-Slave Select mode (Slave mode only)

#8 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 08 août 2014 - 12:50

Déjà si ça ça peut t'aider ;)

MSSP ( master synchronus serial port )
SSPSR (Synchronus Serial Port Shift Register)registre de décalage logique pas directement accessible qui permet d'extraire les bytes ( ensemble de 8 bits ) entrant ou sortant afin d'en garantir l'intégrité tout le temps même quand le buffer est occupé ( cas de lecture du buffer )
SSPBUF (Synchronus Serial Port BUFfer) registre du buffeur qui stock les bytes jusqu'à ce qu'on les lise
MSb first => Most Significant Byte first => enregistrement du byte de poids fort en premier ( quand tu as des chiffres sur 16 bits => 2 bytes )
BF => Buffer Full : bit qui passe à 1 quand le buffer est plein ! ( 8 bits reçu = un byte ) c'est le bit 0 du registre SSPSTAT ( Synchronus Serial Port STATus )
SSPIF => Synchronus Serial Port Interrupt flag : bit d'interruption qui passe à 1 quand quelque chose de notable est arrivé => permet de gérer les entrées en interruptions par type

Le fait d'avoir un double stockage dans SSPSR puis SSPBUF permet de "stocker un byte sur chaque registre" du coup un byte envoyé peut être reçut par SSPSR alors que le microcontrôleur n'a toujours pas lu le byte précédent qui lui est en attendant stocké sur SSPBUF

Bon je te laisse continuer là j'ai pas plus de temps à t'accorderet puis faut que je te laisse chercher aussi un peu car c'est comme ça qu'on apprend ! Mais je vais surement me reconnecter demain ou après demain ;) Si dans deux jours j'ai pas donné plus d'info n'hésite pas à reposter ! Je lis tous les messages sur ce forum ( même si je ne prend malheureusement le temps de toujours répondre à tout le monde ... )

Bon courage pour la suite ;)

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#9 memo1402

memo1402

    Nouveau membre

  • Membres
  • 5 messages

Posté 08 août 2014 - 02:48

Merci pour ta reponse j'ai plus ou moins compris a quoi ils servent. Je me suis mis a la programmation ^pour initialiser histoire de changer(j'en ai marre de lire)
mais des que j'essaie de changer la valeur d'un des registre du nRF24l01+ sa me dit une erreur : only lvalues may be assigned to or modified
J'ai essayé avec un autre compilateur c'est la meme chose j'en ai marre chui dessus depuis des jours xD

#10 Piquillos64

Piquillos64

    Membre

  • Membres
  • 23 messages
  • Gender:Male
  • Location:Biarritz
  • Interests:Electronique, programmation C/C++, robotique, mécanique.

Posté 27 novembre 2014 - 10:34

Si t'es toujours dessus je peux t'aider. J'en utilise...



#11 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 934 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 28 novembre 2014 - 06:10

Si t'es toujours dessus je peux t'aider. J'en utilise...

 

Du coup si tu as un peu de temps à consacrer aux utilisateurs et futurs utilisateurs qui lise ce forum tu peux éventuellement poster des explications sur comment les utiliser ...

Ainsi ceux qui tomberont sur cette discussion en cherchant par mot clef nrf24l01 seront bien content d'avoir tes explications. 
Perso moi je n'en ai toujours pas utiliser ( et j'ai pas encore prévu de le faire ^^) mais si un jour ça arrive savoir qu'il y a un "Quick start " ici est toujours agréable ;) 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#12 tedour

tedour

    Nouveau membre

  • Membres
  • 2 messages

Posté 20 janvier 2016 - 03:43

J'ai moi-même pas mal de ces petites bêtes et j'ai réussi à les faire fonctionner avec mon arduino grâce à ça

Seulement, il y a des petits problèmes de fiabilité sachant que mes véhicules se déplacent avec deux piles 18650 (2*3.7v) et que lorsque qu'elles ne sont pas chargées à fond, c'est la carte nrf24l01 qui commence à ne plus fonctionner.
J'ai vu ici, http://www.mysensors.org/build/, où ils utilisent les nrf24l01 en grande quantité, qu'il est bon de mettre un condensateur. J'en ai donc mis un comme préconisé (4,7 uF - 50V), ca fonctionne mieux mais c'est pas encore le top. Donc j'en viens à ma question : puis-je mettre un condensateur 100uF - 16V ? je n'y connais pas trop en electronique, mais j'essaye de me soigner :)

Merci !






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users