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 :

Commande Bluetooth Arduino


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut Commande Bluetooth Arduino
    Bonjour a vous !

    Je viens ici car j'ai une problème. Je dois commander un moteur pour un projet. Le but est qu'il tourne dans les deux sens, ce que j'ai réussis a faire en y intégrant des relais sur mon montage. Le bémol c'est que maintenant je dois y intégrer du bluetooth.

    Voici un code qu'on ma proposé :

    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
    void __ardublockDigitalWrite(int pinNumber, boolean status)
    {
      digitalWrite(pinNumber, status);
    }
     
    void setup()
    {
      pinMode(2, OUTPUT);
      pinMode(3, OUTPUT);
      __ardublockDigitalWrite(2, LOW);
      __ardublockDigitalWrite(3, LOW);
      Serial.begin(9600); // Demarrer la liaison a 9600bauds
     
    }
     
    void loop()
    {
      if (Serial.available()) { // Attendre de recevoir des caracteres
        char c = Serial.read(); // Lire les caracteres recus et les stocker dans c
     
        if (c == '1') // Si c = 1
        {
          __ardublockDigitalWrite(2, HIGH);
          __ardublockDigitalWrite(3, LOW);// Ouvrir le relais
        }
     
        else if (c == '2') // Si c = 0
        {
          __ardublockDigitalWrite(2, LOW);
          __ardublockDigitalWrite(3, HIGH); // Fermer le relais
        }
     
        else if (c == '0') // Si c = 0
        {
          __ardublockDigitalWrite(2, LOW);
          __ardublockDigitalWrite(3, LOW); // Ouvrir le relais
        }
      }
    }
    Mais le problème c'est que quand je téléverse, ça m'envoie comme erreur ceci :

    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
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x59
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x59
    Pouvez-vous m'aider svp ?

  2. #2
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    débranchez l'adapteur bluetooth des pins 0 et 1 pendant que vous téléversez le code


    pourquoi faire une fonction qui ne fait qu'appeler la fonction standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void __ardublockDigitalWrite(int pinNumber, boolean status)
    {
      digitalWrite(pinNumber, status);
    }
    autant appeler directement digitalWrite() tout de suite...


    attention a bien penser à déconnecter le relais avant de connecter le second, sinon pendant quelques fractions de secondes vous vous trouvez avec les 2 relais actifs.

  3. #3
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Alors je suis pas branché en pins mais sur le port Uart (Avec le shield d'arduino).

    Oui c'est vrai je me m'y connais pas vraiment assez en C pour savoir comment le modifier 😅

  4. #4
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Citation Envoyé par Heisenberg39 Voir le message
    Alors je suis pas branché en pins mais sur le port Uart (Avec le shield d'arduino).
    le shield d'arduino ça peut être n'importe quoi.. Quel Arduino ? quel shield ? il faut être le plus précis possible dans vos demandes sinon on ne pourra pas vous aider...

    En pratique il y a bcp de chances pour que ce port UART ce soit les pins 0 et 1. débranchez le pendant le chargement.

    Oui c'est vrai je me m'y connais pas vraiment assez en C pour savoir comment le modifier 😅
    c'est tout simple, au lieu d'appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     __ardublockDigitalWrite(2, LOW);
    vous appelez par exemple...

  5. #5
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Ah oui désolé, c'est une arduino uno avec un shield grove base

    Merci pour le code

  6. #6
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Citation Envoyé par Heisenberg39 Voir le message
    Ah oui désolé, c'est une arduino uno avec un shield grove base
    OK oui donc ce sont bien les pins 0 et 1 qui sont reprises dans ce port là
    ces pins sur un UNO sont partagées avec la communication USB et donc quand vous téléchargez ça met le bazar parce que le module bluetooth intercepte la communication

  7. #7
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Les pins sont connectés ou et comment ? Un petit schéma aiderait...

  8. #8
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Nom : Cablage.png
Affichages : 316
Taille : 20,0 Ko

    Voici mon câblage, (Le bluetooth n'est plus sur D1 mais sur Uart, qui posède les pins GND, VCC, TX et RX)

  9. #9
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Citation Envoyé par Heisenberg39 Voir le message
    Voici mon câblage, (Le bluetooth n'est plus sur D1 mais sur Uart, qui posède les pins GND, VCC, TX et RX)
    OK donc votre bluetooth est bien sur 0 et 1, soit vous débranchez pour charger le code, soit vous utilisez Software Serial pour le mettre sur d'autres broches, comme D2 et D3.

    ensuite si rien ne se passe c'est peut-être parce que vous n'avez pas apparié votre smartphone avec le BT ou qu'il n'est pas au bon débit ? (j'ai pas regardé en détail votre montage côté relais, je suppose que vous avez testé "à la main" et que ça marche)

  10. #10
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Alors justement ce matin je viens de réessayer sur un autre port (D4), toujours rien, pareil en attendant que le programme soit téléversé.
    L'application mobile précise quand le bluetooth est bien appareillés ou non, et a chaque essaie il était bien appareillé.
    Après, concernant le débit, c'est celui qu'on conseillé de mettre mais je ne sais pas si c'est le bon.
    Et sinon oui, le moteur tournais bien dans les deux sens avant d'y intégrer le bluetooth.

  11. #11
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    postez tous les codes et des infos sur l'application de contrôle... là on est un peu dans le vide...

    en enlevant le module, vous devriez pouvoir uploader le code. ensuite vous débranchez le câble USB, branchez le module USB sur UART et alimentez l'arduino par le jack.

  12. #12
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Voilà mon ancien programme avant le bluetooth :

    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
     
    void __ardublockDigitalWrite(int pinNumber, boolean status)
    {
      pinMode(pinNumber, OUTPUT);
      digitalWrite(pinNumber, status);
    }
     
     
    void setup()
    {
    }
     
    void loop()
    {
      __ardublockDigitalWrite(2, HIGH);
      __ardublockDigitalWrite(3, LOW);
      delay( 3 * 1000);
      __ardublockDigitalWrite(2, LOW);
      __ardublockDigitalWrite(3, HIGH);
    }
    Jusque là, mon moteur tournais bien dans les deux sens.

    Concernant l'application, je ne sais pas grand de celle-ci, au départ j'avais fait une appli via appinventor mais aucun résultat. On me la conseillé car elle envoie a coup sûr la donné qu'on veut.

  13. #13
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    vous codez en "ardublock" ou à la main ?

  14. #14
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    En ardublock

  15. #15
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Je ne l’utilise pas donc je ne suis pas bien placé pour vous aider

  16. #16
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Mais j'essaie d'apprendre le C, je ne le maîtrise pas encore bien. Ardublock m'aide dans l’apprentissage

  17. #17
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    si tout est branché correctement et que le module BT est apparié à 9600 bauds sur UART, alors ce code doit fonctionner
    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
    const byte relais1 = 2;
    const  byte relais2 = 3;
     
    void relaisSens1()
    {
      digitalWrite( relais2, LOW);
      digitalWrite( relais1, HIGH);
    }
     
    void relaisSens2()
    {
      digitalWrite( relais1, LOW);
      digitalWrite( relais2, HIGH);
    }
     
    void relaisStop()
    {
      digitalWrite( relais1, LOW);
      digitalWrite( relais2, LOW);
    }
     
    void setup()
    {
      Serial.begin(9600);
      pinMode(relais1, OUTPUT);
      pinMode(relais2, OUTPUT);
      relaisStop(); // au début tout est arrêté
    }
     
    void loop()
    {
      if (Serial.available()) { // si un octet est en attente
        byte c = Serial.read(); // on le lit
        if (c == '1') relaisSens1();
        else if (c == '2') relaisSens2();
        else relaisStop(); // commande inconnue on arrête
      }
    }

  18. #18
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Merci beaucoup pour le code, malheureusement ça ne marche toujours pas ...
    Je ne comprends vraiment pas

  19. #19
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    vous pouvez tester le code en enlevant le module BT et branchant votre arduino en USB au PC. vous ouvrez la console série à 9600 bauds et vous tapez 1 ou 2 et validez. les relais devraient changer.

    si ça fonctionne, c'est que vous avez sans doute un soucis d'appairage ou de branchement ou que vous n'envoyez pas '1' ou '2' en ASCII (peut être 1 ou 2 en numérique ?)

  20. #20
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 11
    Par défaut
    Non ça ne marche toujours pas. J'ai plusieurs amis qui on le même problèmes.
    Ma prof ma confirmé que j'envoyais les bon caractère. L'erreur viendrais de l'arduino ou du bluetooth, on ne sait pas :/
    Je crois que je vais abandonner le bluetooth et opter pour ne commande vocale ...

    Je vous remercie énormément d'avoir pris votre temps pour m'aider

Discussions similaires

  1. [Bluetooth] Arduino 101 BLE et les UUID
    Par Auteur dans le forum Protocoles
    Réponses: 1
    Dernier message: 11/10/2017, 20h54
  2. Command AT & Arduino : détecter la reception de SMS
    Par zebulon36 dans le forum Développement
    Réponses: 0
    Dernier message: 20/04/2013, 00h22
  3. Réponses: 0
    Dernier message: 08/02/2008, 10h10
  4. pb: erreur inconnue! (thread? command action?)Bluetooth
    Par corseb-delete dans le forum Java ME
    Réponses: 1
    Dernier message: 12/03/2007, 12h57

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