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

Projet transmission sans fil



  1. #1
    michelcreuse

    Projet transmission sans fil

    Bonjour,
    j'ai réalisé une maquette "récepteur" avec un transmetteur NRF24L01+ et un Attiny 85 (8 pins) chargé avec le code ci-dessous.
    J'ai réalisé un récepteur avec un transmetteur NRF24L01+ et un Attiny 85 chargé avec le code ci-dessous.
    L'ensemble fonctionne parfaitement.
    Pour mon projet j'ai besoin de pins supplémentaires sur le récepteur, aussi je me suis retourné vers un Attiny84 (14 pins).
    J'ai adapté le code en changeant les pins radio: CE_PIN 8, CSN_PIN 7 et led sur broche 12.
    Le récepteur ne fonctionne pas, la LED ne s'allume pas.
    Depuis 3 semaines je cherche pourquoi, mais je ne parviens pas à trouver le problème.
    J'ai vu qu'il y avait des problèmes d'affectation avec MISO, MOSI et SCK, mais je pense que depuis, les librairies ont été mises à jour!!

    Si quelqu'un peut m'aider, car je ne sais plus comment faire.
    merci par avance,
    michel


    Code:
    /************************** RECEPTEUR ATtiny84-A-PU & NRF24L01+ ****************************
                                  ** Configuration du matériel **
                       Pour ATtiny84 PA2 avec CE_PIN3  et PA3 avec CSN_PIN4
                         
                                                                +-\/-+
            -----nRF24L01  VCC, pin2 --- VCC  1|o     |14  GND --- nRF24L01  GND, pin1 -----[=R=]---+----
                                             PB0  (D00)  2|      |13 (D10)AREF                                                  |
                                             PB1  (D01)  3|      |12 (D09)PA1 --- broche ATTINY n°12 ---- LED --+
                                             PB3(Reset)  4|      |11 (D08)PA2 --- nRF24L01   CE, pin3
                                 INT0     PB2  (D02)  5|      |10 (D07)PA3 --- nRF24L01  CSN, pin4
                                             PA7  (D03)  6|      |9  (D06)PA4 --- nRF24L01  SCK, pin5
        nRF24L01 MOSI, pin7 --- PA6  (D04)  7|      |8  (D05)PA5 --- nRF24L01 MISO, pin6
                                                                +----+
    */
      #include "RF24.h" 
      #define CE_PIN 8
      #define CSN_PIN 7
      int buzzer = 9;  // 3 pour ATtiny85           
      byte alarm;
      bool check=0;  
    /************* Configuration *************/
       RF24 radio(CE_PIN, CSN_PIN);  // CE_PIN = 3, CSN_PIN = 4 pour ATtiny85 
      const byte rxAddr[6] = "01924";
    /*****************************************/
    
    void setup(void) 
    {
      radio.begin();                        
      radio.setChannel(1);                 
      radio.setPALevel(RF24_PA_MIN);      
      radio.setDataRate(RF24_250KBPS);    
      radio.setRetries(1,15);               
      radio.setCRCLength(RF24_CRC_8);      
      radio.openWritingPipe(rxAddr);  
      radio.startListening();           
      delay(200);
    }
    
    void beep()
        {
          digitalWrite(buzzer, HIGH);
          delay(1000);
          digitalWrite(buzzer, LOW);
          delay(500);  
        }
    
    void loop(void)
    {
      if(radio.available() || check) 
      {
        radio.read(&alarm, 1); 
        beep();
        delay(200);
        check = 1;
      } 
    }
    
    /*========================================================================================
    
    //       POUR  INFO  ==> code de l'emetteur:
    
    
    ************************* EMETTEUR ATtiny85-20PU & NRF24L01+ ****************************
    
                    ATtiny85 Pins avec  CE_PIN 3 and CSN_PIN 4   
    Pour contrôle, j'ai ajouté une LED + résistance entre CE et moins.
                                     +-\/-+
                       NC      PB5  1|o   |8  Vcc --- nRF24L01  VCC, pin2 
        nRF24L01  CE, pin3 --- PB3  2|    |7  PB2 --- nRF24L01  SCK, pin5
        nRF24L01 CSN, pin4 --- PB4  3|    |6  PB1 --- nRF24L01 MOSI, pin7
        nRF24L01 GND, pin1 --- GND  4|    |5  PB0 --- nRF24L01 MISO, pin6
                                     +----+
      #include "RF24.h"     
      #define CE_PIN 3
      #define CSN_PIN 4
    //************* Configuration **********************************
      RF24 radio (CE_PIN , CSN_PIN );  
      const byte rxAddr[6] = "01924";
    //***************************************************************
    
    void setup(void) 
    {
      radio.begin();                       
      radio.setChannel(1);                 
      radio.setPALevel(RF24_PA_HIGH);        
      radio.setDataRate(RF24_250KBPS);     
      radio.setRetries(1,15);          
      radio.setCRCLength(RF24_CRC_8);  
      radio.openWritingPipe(rxAddr); 
      radio.stopListening();               
    }
    
    void loop(void)
    {
      delay(300);            
      radio.write("1", 1);  
    }*/

    -----


  2. Publicité
  3. #2
    michelcreuse

    Re : Projet transmission sans fil

    Re-bonjour,
    j'ai fais une erreur dans la précipitation, il s'agit bien d'un récepteur puis d'un émetteur.
    Par-contre je vous remets le brochage de l'Attiny84 en plus clair.
    Code:
    /************************** RECEPTEUR ATtiny84-A-PU & NRF24L01+ ****************************
                                  ** Configuration du matériel **
                       Pour ATtiny84 PA2 avec CE_PIN3  et PA3 avec CSN_PIN4
                         
                                           +-\/-+
        -----nRF24L01  VCC, pin2 --- VCC  1|o   |14  GND --- nRF24L01  GND, pin1 -----[=R=]---+----
                              PB0  (D00)  2|    |13 (D10)AREF                                 |
                              PB1  (D01)  3|    |12 (D09)PA1 --- broche ATTINY n°12 ---- LED -+
                              PB3(Reset)  4|    |11 (D08)PA2 --- nRF24L01   CE, pin3
                     INT0     PB2  (D02)  5|    |10 (D07)PA3 --- nRF24L01  CSN, pin4
                              PA7  (D03)  6|    |9  (D06)PA4 --- nRF24L01  SCK, pin5
      nRF24L01 MOSI, pin7 --- PA6  (D04)  7|    |8  (D05)PA5 --- nRF24L01 MISO, pin6
                                           +----+
    Mille excuses.
    A+
    michel

  4. #3
    picvert60

    Re : Projet transmission sans fil

    Bonjour
    a mon avis il y a une erreur de pins
    MISO doit etre en 7 et MOSI en 8
    du moins c'est comme cela que je fais.
    radio.setRetries(1,15); ne sert a rien
    dans cette configuration ( mais n'empeche pas le fonctionnement)
    enfin le pire ennemi des NRF24 : les porte piles et leurs mauvais contacts.
    bon courage

  5. #4
    michelcreuse

    Re : Projet transmission sans fil

    Bonjour à vous,

    Merci PICVERT60 pour votre réponse.
    J'ai essayé d'inverser MISO/MOSI mais le résultat est le même, la LED ne clignote pas.
    J'ai bien vérifié les tensions d'alim. partout ==> OK.
    J'ai fait quelques modifs sur le code, je vous le joins ci- dessous:

    Code:
    */
      #include "RF24.h"
      #include <nRF24L01.h>
     
      #define CE_PIN 8    // j'ai essayé CE="7" et
      #define CSN_PIN 7   // CSN="8" mais ne fonctionne toujours pas 
      int LED = 9;  // 3 pour ATtiny85           
      byte alarm;
     // bool check=0;  // variable inutile dans ce cas.
    /************* Configuration *************/
       RF24 radio(CE_PIN, CSN_PIN);  // CE_PIN = 3, CSN_PIN = 4 pour ATtiny85 
      const byte rxAddr[6] = "01924"; 
    /*****************************************/
    
    void setup(void) 
    {
      digitalWrite(LED, OUTPUT);  
      radio.begin();                        
      radio.setChannel(1);                 
      radio.setPALevel(RF24_PA_MIN);      
      radio.setDataRate(RF24_250KBPS);    
    //  radio.setRetries(1,15);      // non indispensable         
      radio.setCRCLength(RF24_CRC_8);      
      radio.openReadingPipe(0,rxAddr);    //Ligne remplacée (pour lecture), j'avais mis: "radio.openWritingPipe(rxAddr);(écriture)" 
      radio.startListening();           
      delay(200);
    }
    
    void beep()
        {
          digitalWrite(LED, HIGH);
          delay(1000);
          digitalWrite(LED, LOW);
          delay(500);  
        }
    
    void loop(void)
    {
      if(radio.available())  // || check) 
      {
        radio.read(&alarm, 1); 
        beep();
        delay(200);
    //    check = 1;
      } 
    else  // ligne modifiée
      {
        digitalWrite(LED, LOW);
      }
    }

    Comme le programme du récepteur n'allume toujours pas la LED, si quelqu'un a une idée,
    Je suis preneur.
    Merci à vous,
    michel
    Dernière modification par Antoane ; 16/10/2015 à 07h32. Motif: Ajout balises code

  6. #5
    picvert60

    Re : Projet transmission sans fil

    Bonjour

    tu as écrit que le le programme marchait parfaitement avec les attiny 85 .
    le meme programme fonctionne donc avec les 84.
    je me suis contenté de regarder ton branchement et ai sauté sur les 2 premieres erreurs sans aller plus loin.
    maintenant je doute qu'il soit capable de PILOTER un NRF24L01.
    manque par exemple les bibliotheques SPI .
    Je te conseille donc de consulter les exemples de la bibliotheque MIRF
    exemple ATTINY 85 et essayer de l'adapter.
    ou alors va faire un tour sur les sites de modeles réduits.

  7. A voir en vidéo sur Futura
  8. #6
    michelcreuse

    Re : Projet transmission sans fil

    Bonsoir à vous tous,
    le programme fonctionne avec l'Attiny85 en connectant la led en // avec CE (sur broche 3).
    Rappelons que le module RF24 comporte 7 broches à connecter à l'attiny (avec le + et le -.
    La broche 1 de l'attiny est réservée au RESET donc pas utilisable.
    Ce qui fait qu'aucune pin libre n'est disponible. C'est pour çà que je voudrai passer à l'Attiny84 (14 pins).
    Quelles sont les 2 erreurs que vous avez repérées?
    J'ai bien vérifié les positions de MOSI, MISO et SCK pour chaque éléments:
    (ATTINY84 sur la plaque d'essai, sur la plaque de téléversement, sur l'ARDUINO UNO et le NRF24L01+)
    tout semble OK.
    La librairie SPI est incluse dans le hardware IDE ARDUINO 1.6.5 R5, d'ailleurs elle est bien appelée
    lors de la compression en hexa.
    Je cherche de plus de 3 semaines des programmes, des exemples, tant pour le 85 que pour le 84
    et même pour l'Arduino, mais il n'y a pas grand chose que je pourrai exploiter.
    C'est pour cela que je fais appel à vos connaissances et par la-même à votre aide.
    J'ai pas envie de programmer avec MIRF parce que j'ai déjà appris à programmer les PICs 10F 12F 16F de chez Microchip,
    là je viens d'assimiler la librairie RF24 que je ne maitrise pas vraiment alors s'il faut recommencer avec Mirf,
    je n'ai pas trop envie, mais bon....
    En plus quand je maitriserai l'allumage de la led, j'ai sous le coude les programmes pour endormir et réveiller tout ce petit monde
    ainsi que le moyen de gérer le changement d'état d'une pin pour déclencher mon alarme.
    J'ai vraiment besoin d'un coup de main de votre part pour débloquer la situation.
    Je vous remercie beaucoup par avance,
    michel.

  9. Publicité
  10. #7
    picvert60

    Re : Projet transmission sans fil

    bonsoir
    les deux erreurs sont celles que j'ai signalées.
    a tord d'ailleurs car il se trouve , et c'est bien le probleme arduino,
    que selon l'origine de la librairie ( de même nom) les affectations sont différentes.
    (cas de SPI )
    à la lecture de ton dernier message , je ne peux pas t'aider en programmation , je maitrise certainement plus mal que toi.
    reste l'aspect hard .
    les nrf sont des betes tres sensibles il y a lieu de verifier qu'il sont toujours vivants ,par détection de l'intensité ou
    du fonctionnement sur un autre montage réputé bon.
    si les 3.3V sont pris sur l'arduino mettre une capa de 10 µF en // sur le nrf.
    l'idéal est d'utiliser de ams1117.
    verifier les contacts alimentation de la plaque d'essai , avoir 3.3v au multimetre
    ne signifie pas que les qq ma nécessaires puissent être disponibles en qq microsecondes.
    d'ou ma mise en garde sur les contacts qui m'ont fait perdre beaucoup de patience.
    ne sois pas vexé de mes remarques sur un forum on ne connais pas le niveau de celui
    qui demande de l'aide.
    voila je suis arrivé au bout de ce que je peux apporter
    peut etre des réponses ici :
    http://forum.arduino.cc/index.php?topic=254785.0
    denis

  11. #8
    michelcreuse

    Re : Projet transmission sans fil

    Bonsoir,
    je vous remercie pour votre réponse, j'ai déjà vécu aussi le problème des librairies qui n'arrêtent pas d'être
    modifiées sans tenir compte de l'influence sur les projets en cours, surtout quand on télécharge les dernières
    versions du hardware IDE ARDUINO pour rester à jour.
    Je vais tout de même vérifier sérieusement quelques librairies au cas où.
    J'ai bien vérifié le bon fonctionnement des NRF24 sur un autre montage ainsi que les Attiny's que je remplace souvent.
    J'ai bien mis aussi la capa 10µF sur l'arduino uno et la capa de 100nF aux bornes de l'alim.
    Je vais aussi remettre le montage sur une plaque d'essai neuve.
    Pour la vexation, pas de problème, à 68ans il y a longtemps que je l'ai laissée derrière moi et puis un forum, c'est fait justement fait pour se remettre en cause.
    Citation: Le sage s'interroge lui-même, le sot interroge les autres.
    Merci pour le lien, celui-là je ne l'avais pas trouvé.
    Une dernière pour le souvenir: Le sage montre la lune, le sot regarde le doigt.
    A bientôt,
    michel

  12. #9
    picvert60

    Re : Projet transmission sans fil

    Bonjour
    une derniere pour la route,
    peut être introduire dans le setup:
    pinMode(led, OUTPUT);

Sur le même thème :

Discussions similaires

  1. Projet Transmission Hybride
    Par Vettel13 dans le forum Technologies
    Réponses: 11
    Dernier message: 12/10/2015, 19h29
  2. transmission usb sans fil
    Par areo dans le forum Électronique
    Réponses: 13
    Dernier message: 07/12/2014, 16h42
  3. Projet de radio transmission
    Par Sandogo dans le forum Électronique
    Réponses: 11
    Dernier message: 03/07/2014, 15h14
  4. transmission sans fil
    Par LTHOMAS dans le forum Électronique
    Réponses: 2
    Dernier message: 22/11/2008, 18h57
  5. Transmission sans fil
    Par inoxxam dans le forum Électronique
    Réponses: 4
    Dernier message: 14/04/2008, 18h36