IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

PWM D3 sur un Nano


Sujet :

Arduino

  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    928
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 928
    Par défaut PWM D3 sur un Nano
    Bonjour à tous,

    J'essaie de tester une liaison avec 2 LoRa RA-01

    Emetteur avec UNO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    #include <SPI.h>
    #include <LoRa.h> 
    int pot = A0;
     
    void setup() {
      Serial.begin(9600);
      pinMode(pot,INPUT);
     
      while (!Serial);  
      Serial.println("LoRa Sender");
      if (!LoRa.begin(433E6)) { // or 915E6, the MHz speed of yout module
        Serial.println("Starting LoRa failed!");
        while (1);
      }
    }
     
    void loop() {
      int val = map(analogRead(pot),0,1024,0,255);
      Serial.println(val);
      LoRa.beginPacket();  
      LoRa.print(val);
      LoRa.endPacket();
     
     
    }
    Récepteur avec un Nano
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    #include <SPI.h>
    #include <LoRa.h> 
    int LED =5;
    String inString = "";    // string to hold input
    int val = 0;
     
    void setup() {
      Serial.begin(9600);
      pinMode(LED,OUTPUT);
     
      while (!Serial);
      Serial.println("LoRa Receiver");
      if (!LoRa.begin(433E6)) { // or 915E6
        Serial.println("Starting LoRa failed!");
        while (1);
      }
    }
     
    void loop() {
     
      // try to parse packet
      int packetSize = LoRa.parsePacket();
      if (packetSize) { 
        // read packet    
        while (LoRa.available())
        {
          int inChar = LoRa.read();
          inString += (char)inChar;
          val = inString.toInt();       
        }
        inString = "";     
        LoRa.packetRssi();    
      }
     
      delay(500);
      Serial.println(val);  
      analogWrite(LED, val);
    }
    J'utilise une LED sur la sortie Pin5 qui semble fonctionner correctement
    mais si j'utilise la sortie Pin3 celle-ci ne fonctionne plus , il s'agit pourtant de 2 sorties PWM

    quelle en serait la raison svp ?

    Cordialement

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    ça parait bizarre

    votre émetteur fonctionne en mode "mitrailleuse", rajoutez un bout de code qui fait que la valeur est émise que si elle change.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <SPI.h>
    #include <LoRa.h>
    const byte potPin = A0;
     
    void setup() {
      Serial.begin(115200);
      pinMode(potPin, INPUT);
     
      while (!Serial);
      Serial.println("LoRa Sender");
      if (!LoRa.begin(433E6)) {
        Serial.println("Starting LoRa failed!");
        while (1) yield();
      }
    }
     
    void loop() {
      static int valPrecedente = -1;
      int val = map(analogRead(potPin), 0, 1023, 0, 255);
      if (val != valPrecedente) {
        Serial.println(val);
        LoRa.beginPacket();
        LoRa.print(val);
        LoRa.endPacket();
        valPrecedente = val;
      }
    }
    pour le code côté réception il y a quelques erreurs dans la structure du code (on lit le buffer et ensuite vous convertissez). De même on met à jour que si on a reçu un message, pas en permanence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    #include <SPI.h>
    #include <LoRa.h>
    const byte ledPin = 5;
     
    void setup() {
      Serial.begin(115200);
      pinMode(ledPin, OUTPUT);
     
      while (!Serial);
      Serial.println("LoRa Receiver");
      if (!LoRa.begin(433E6)) {
        Serial.println("Starting LoRa failed!");
        while (true) yield();
      }
    }
     
    void loop() {
      int packetSize = LoRa.parsePacket();
      if (packetSize) {
        String inString = "";
        while (LoRa.available())inString += (char) LoRa.read();
        int val = inString.toInt();
        Serial.println(val);
        analogWrite(ledPin, val);
      }
    }

  3. #3
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    928
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 928
    Par défaut
    merci Jay M pour ces modifications

    effectivement on met à jour que lors de changement c'est plus efficace

    Sur Pin D5 => c'est Ok
    mais pour Pin D3 => çà ne fonctionne pas (?)
    je vais peut-être faire un test avec un autre Nano

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    ou vérifiez avec un petit code que cette pin fonctionne correctement

  5. #5
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    928
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 928
    Par défaut
    Ok , j'essaie ...
    merci

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    928
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 928
    Par défaut
    Vu
    faux problème effectivement
    plaque essai avec un faux contact

    merci bien Jay M
    Bonne Fin de WE

    PS: une dernière question
    Est-ce nécessaire d'adapter les niveaux de tension entre le LoRa et l'Arduino
    hormis le 3.3v d'alimentation du LoRa

  7. #7
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 884
    Par défaut
    la majorité des modules LoRa que je connais sont effectivement en 3.3V et n'ont pas de hard pour passer de 5V à 3.3V ni en alim, ni pour la communication ==> donc oui il faut adapter la tension
    (lire la doc de votre module)

  8. #8
    Membre éprouvé
    Inscrit en
    Juillet 2004
    Messages
    928
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 928
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/08/2022, 19h05
  2. Traitement des fichiers BMP sur le NANO
    Par cobra38 dans le forum Arduino
    Réponses: 15
    Dernier message: 05/04/2022, 17h15
  3. Problème de stabilité sur Arduino Nano
    Par jeremy66 dans le forum Arduino
    Réponses: 2
    Dernier message: 21/04/2021, 21h09
  4. Généralité sur la nano station
    Par Pascal ziha dans le forum Hardware
    Réponses: 0
    Dernier message: 21/08/2017, 12h03
  5. A propos de LED_BUILTIN sur Arduino Nano
    Par Chamac dans le forum Arduino
    Réponses: 10
    Dernier message: 10/01/2017, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo