Répondre à la discussion
Affichage des résultats 1 à 29 sur 29

nrf24l01+ avec pic 18f2520



  1. #1
    memo1402

    nrf24l01+ avec pic 18f2520


    ------

    Bonjour,

    Je voudrais apprendre à utiliser le nrf24l01+ avec un pic mais je suis bloqué à un endroit. J'ai réussi à savoir où connecter les pins vcc, gnd, MOSI,MISO,SCK mais je ne sais pas où brancher CE, CSN, IRQ. Et je ne sais pas si je dois télécharger des librairies à part ou si je peut directement utiliser les registres qui sont mentionnés dans la datasheet du nrf24l01+. Je debute vraiment avec ce genre d'application sans fil. Merci d'avance

    PS:voici une image pour mieu illustrer Nom : rf24013.jpg
Affichages : 93
Taille : 68,1 Ko.

    -----
    Dernière modification par memo1402 ; 04/08/2014 à 02h38.

  2. Publicité
  3. #2
    jonathan82

    Re : nrf24l01+ avec pic 18f2520

    T'as du bol, ce genre de petit joujou traine sur les sites chinois -> pas cher -> plein d'infos sur le net.
    J'ai moi même acheté cela sur ebay. Malheureusement, le module dispose d'un pat de 1.27mm donc je n'ai pas encore su le tester sur breadboard.

    Je suis aussi un adepte du pic et ce que je ferais pour tester la bête, c'est de reprendre un exemple qui traine sur le net pour Arduino et "adapter" le code pour PIC. Les librairies ne sont jamais vraiment très compliquée lorsqu'il s'agit d'exemples de mise en oeuvre rapide.
    Si tu trouve des libs pour PIC c'est super cool (et pour ton compilo...) mais je pense que tu va avoir du mal...

    Bonne chance
    Jo

  4. #3
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    J'ai avancé un peu dans la datasheet du nrf24l01+ je sais où le brancher mais mon probleme maintenant c'est que je ne sais pas comment le configurer. J'essaie d'ecrire les registre qui se trouve dans la datasheet dans mplab pour programmer mais il n'est pas reconnu. Que dois je faire? Je dois telecharger des librairie ou ajouté certain fichier .h ou .c dans le projet?

  5. #4
    jonathan82

    Re : nrf24l01+ avec pic 18f2520

    Si tu dispose d'une librairie, oui, utilise là.

    Sinon, comme je disais plus haut, exploite le labeur d'autres en traduisant une librairie et son code exemple de Arduino... C'est généralement assez rudimentaire.

  6. A voir en vidéo sur Futura
  7. #5
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Je suis passé à l'étape de la configuration du NRF24L01+ mais lorsque j'essaie de changer la valeur d'un des registre ça me met un message d'erreur : only lvalues may be assigned to or modified. Quelqu'un saurait de quoi il s'agit?

  8. #6
    jonathan82

    Re : nrf24l01+ avec pic 18f2520

    Ca doit être propre à ton code... lvalues, c'est pour Long ? mais ton nrf24l01 ne va pas te dire ce qu'il attend. donc c'est pas lui qui est en cause.

  9. Publicité
  10. #7
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    justement je ne sais pas ce que veux dire lvalues. ça m'aiderait beaucoup si je le savait.

  11. #8
    paulfjujo

    Re : nrf24l01+ avec pic 18f2520

    bonjour,

    sur le compilo Mikro C pro
    si j'essaie d'assigner une valeur à un bit ,j'ai un message qui y ressemble
    Code:
     TMR1IP=1;
    Code:
    1236 318 Assigning to non-lvalue 'TMR1IP' 18F258_Velo_140808.c
    au lieu de specifier qu'il s'agit d'un BIT et non d'un BYTE (octet)

    Code:
      IPR1.TMR1IP=1; //TMR1 Overflow Interrupt Priority bit
    pas de message avec cela..

  12. #9
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    J'ai compris plus ou moins pourquoi j'ai un message d'erreur. Dans tout les exemples de programmation du nrf24l01+, il n'y a pas d'affection d'une valeur directement. Il faut seulement utiliser les registre qui du nrf24l01+. Reste à bien comprendre la datasheet.

  13. #10
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Dans les compilateurs on a la notion de lvalue et rvalue, pour left et right value.
    Cela fait référence à la syntaxe d'une instruction d'assignation a = b;
    Ce qu'on peut mettre à gauche, c'est une lvalue, variable ou registre à écrire.
    Ce qu'on peut mettre à droite, c'est une rvalue, idem plus les constantes.

  14. #11
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Citation Envoyé par satinas Voir le message
    Dans les compilateurs on a la notion de lvalue et rvalue, pour left et right value.
    Cela fait référence à la syntaxe d'une instruction d'assignation a = b;
    Ce qu'on peut mettre à gauche, c'est une lvalue, variable ou registre à écrire.
    Ce qu'on peut mettre à droite, c'est une rvalue, idem plus les constantes.
    merci pour ta reponse je comprends mieux

  15. #12
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Finalement je me rend compte que n'ayant jamais programmé ce genre d'application sans fil je voudrais que quelqu'un qui a deja reussi à le faire puisse m'aider si possible. Merci d'avance

  16. Publicité
  17. #13
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Je vois pas trop quel est ton problème. Le module est piloté par un port SPI.
    SDO -> MOSI
    SDI <- MISO
    SCK -> SCK
    SS -> CSN
    La broche CE permet d'activer le module rx/tx, elle ne sert pas pour le SPI.
    Avec ça on peut commencer à dialoguer en SPI, lire et écrire les registres du composant. Les valeurs au reset des registres sont indiquées dans la doc.
    Tu peux aussi t'entraîner sur le port SPI avec des mémoires eeprom SPI comme la 25LC256.

  18. #14
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Citation Envoyé par satinas Voir le message
    Je vois pas trop quel est ton problème. Le module est piloté par un port SPI.
    SDO -> MOSI
    SDI <- MISO
    SCK -> SCK
    SS -> CSN
    La broche CE permet d'activer le module rx/tx, elle ne sert pas pour le SPI.
    Avec ça on peut commencer à dialoguer en SPI, lire et écrire les registres du composant. Les valeurs au reset des registres sont indiquées dans la doc.
    Tu peux aussi t'entraîner sur le port SPI avec des mémoires eeprom SPI comme la 25LC256.
    Merci pour ta reponse. Mon probleme en fait c'dst que je n'arrive pas à configurer les registre du nrf24l01+. Par exemple lorsque j'essaie d'ecrire CONFIG=0b00010000; ça me met une message d'eurreur : only lvalues may be assigned to or modified.

  19. #15
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Tu ne peux pas écrire directement dans le registre CONFIG, car ce n'est pas un registre du pic, mais du composant nRF24L01.
    http://www.circuitvalley.com/2011/08...for-pic18.html
    Il faut que tu te documentes sur le port SPI, inspire toi de cet exemple. Quand tu auras configuré ton pic en SPI, et que tu auras compris que par SPI, on échange les données octet par octet avec le nRF24L01 ...

    Tu lui enverras l'octet 0, consistant à demander à lire le registre CONFIG d'adresse 0x00. (voir doc nRF24L01). Puis tu lui enverras un 2ème octet, 0xff, et il t'enverras en retour le contenu de CONFIG (ce doit être 0x08, valeur au reset), que tu afficheras sur ton afficheur lcd ou sur ta sortie série vers un terminal PC. Si tu n'as pas d'afficheur ni de sortie terminal, il faut commencer par ça
    Bon courage
    Dernière modification par satinas ; 11/08/2014 à 19h10.

  20. #16
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Citation Envoyé par satinas Voir le message
    Tu ne peux pas écrire directement dans le registre CONFIG, car ce n'est pas un registre du pic, mais du composant nRF24L01.
    http://www.circuitvalley.com/2011/08...for-pic18.html
    Il faut que tu te documentes sur le port SPI, inspire toi de cet exemple. Quand tu auras configuré ton pic en SPI, et que tu auras compris que par SPI, on échange les données octet par octet avec le nRF24L01 ...

    Tu lui enverras l'octet 0, consistant à demander à lire le registre CONFIG d'adresse 0x00. (voir doc nRF24L01). Puis tu lui enverras un 2ème octet, 0xff, et il t'enverras en retour le contenu de CONFIG (ce doit être 0x08, valeur au reset), que tu afficheras sur ton afficheur lcd ou sur ta sortie série vers un terminal PC. Si tu n'as pas d'afficheur ni de sortie terminal, il faut commencer par ça
    Bon courage
    J'ai un afficheur. Je vais essayer d'afficher une valeur d'un registre merci pour l'info jvous tien au courant. Si vous avez plus d'info je dis pas non au contraire ne vous retenez pas parce que pour l'instant c'est la soupe dans ma tete

  21. #17
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Arrête de vouloir tout comprendre, et pompe un max ce que font les autres, ça viendra avec le temps. Les valeurs par défaut des registres sont souvent les bonnes.

  22. #18
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Citation Envoyé par satinas Voir le message
    Arrête de vouloir tout comprendre, et pompe un max ce que font les autres, ça viendra avec le temps. Les valeurs par défaut des registres sont souvent les bonnes.
    Je comprends ce que tu veux dire mais tout els exemple que j'ai trouvé sont pour l'arduino je ne trouve pas de projet pour PIC et surtout avec les bons fichiers. Le maximum que j'ai pu faire c trouver le fichier nRF24L01.h c'est le ficheir qui contient les registres. Mais les autres fichiers c'est pour l'arduino.

  23. Publicité
  24. #19
    satinas


  25. #20
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Merci pour cette reponse ça compile mais... c'et censé faire quoi

  26. #21
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    et j'utilise un pic 18f2520 ect ce que c'est compatible?

  27. #22
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Tu possèdes combien de pic en tout et de quels modèles, et as-tu déjà fait clignoter une led avec ?

  28. #23
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Comme on a commencé à programmer un microcontrolleur pour la premiere fois l'année passée je ne connais que celui la (18f2520). Mais je connais les bases de la programmation du pic. Je sais faire clignoter une led, faire un chenillard, afficher sur l'ecran lcd, faire un menu, utiliser le module pwm, ect. Je suis encore debutant alors ne m'en veut pas . Mais je suis bien déterminé à apprendre alors si tu pouvais m'expliquer en privé quelque trucs ça serait super.

  29. #24
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Alors il y a de l'espoir
    Le 2520 est proche du 2550 qui est proche du 4550. Le seul problème est que l'un fait 28 pattes et l'autre 40. De toute façon tu n'as besoin que du port SPI, et tous ces micros sont compatibles au niveau des registres.
    Il faut donc élaguer le programme, vérifier les pins utilisées, enlever la partie uart et les autres trucs en trop, et il devrait tourner sur le 2520.
    Quand tu me demandes ce que fait le programme, je suis étonné, car le main() me semble clair :

    Code:
    void main (void)
    {
    	unsigned char i;
    	unsigned char TX_Data [RF_PAYLOAD];
    	unsigned char RX_Data [RF_PAYLOAD];
    	int count = 0;
    
    	Setup();
    
    	if (PORTAbits.RA3)
    	{ 
    		while(1)
    		{
    	   		if (SPI_IRQ == 0)    			// wait for anything
    	        {	
    				LED_ON
    	            read_RX(RX_Data);
    				Usart_Send ( RX_Data ); 	// envia pela serial o recebido   
    	            Delay1KTCYx(10);
    				LED_OFF 
    				count++;       
    	        } 
    		}
    	}
    	else
    	{
    		for (i=0; i< RF_PAYLOAD; i++)
    			TX_Data[i] = i+ 0x30;
    
    		while(1)
    		{	
    			LED_ON
    			transmit_data(TX_Data);        
    			Delay10KTCYx(255);
    
    			LED_OFF	
    			Delay10KTCYx(255);
    			nop();  
    		}			
    	}
    
    }//

  30. Publicité
  31. #25
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Oui effectivement je me suis rendu compte apres t'avoir repondu que ça fesait clignoter une led. Je vais essayer de l'adapter je te tient au courant.

  32. #26
    satinas

    Re : nrf24l01+ avec pic 18f2520

    Selon si le poussoir est appuyé ou pas, il reçoit ou émet, et il envoie ce qu'il reçoit sur le port série, et la led suit le mouvement.
    J'ai essayé de le recompiler sur le 18F2520 et il passe sauf des histoires de configuration de l'horloge, qui a du changer en plus performant sur le 2520, il faut voir ça.

  33. #27
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    Pourrait-on discuter en privé pour que tu puisse m'expliquer 2 ou 3 trucs stp ? j'ai peur que cela prenne trop de temps dans la discussion.

  34. #28
    RISC

    Re : nrf24l01+ avec pic 18f2520

    Salut,

    Je viens juste de tomber sur un excellent article de la revue américaine Circuit Cellar de juillet 2014 ( No 288) : Thermal monitoring network qui utilise un PIC18F2550 + nRF24L01 !!!
    Si ça c'est pas un coup de chance ;=)

    Le protocole d'accès au nRF24L01 est expliqué. Il y a même un utilitaire coté PC.

    Le code est téléchargeable librement ici : ftp://ftp.circuitcellar.com/pub/Circ...llar/2014/288/

    Tu peux acheter le magazine #288 en ligne

    a+
    Ma marotte ? les microcontrôleurs ;=)

  35. #29
    memo1402

    Re : nrf24l01+ avec pic 18f2520

    merci pour ton aide

Discussions similaires

  1. NRF24L01 arduino
    Par julienslr dans le forum Électronique
    Réponses: 0
    Dernier message: 28/07/2014, 15h21
  2. Pic 18f2520
    Par klokem dans le forum Électronique
    Réponses: 3
    Dernier message: 04/06/2013, 10h59
  3. aide Pic 18F2520 et LCD 2*16
    Par jlfreerider dans le forum Électronique
    Réponses: 1
    Dernier message: 22/12/2012, 00h09
  4. Communication entre deux nRF24l01+
    Par blacksword dans le forum Électronique
    Réponses: 1
    Dernier message: 21/10/2011, 07h49
  5. PIC 18F2520 ne démarre QUE avec le debugger
    Par ZeRgOvErMinD dans le forum Électronique
    Réponses: 9
    Dernier message: 30/04/2010, 19h53
Découvrez nos comparatifs produits sur l'informatique et les technologies.