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

Raspberry Pi Discussion :

Connexion Arduino & Raspberry en USB avec Serial


Sujet :

Raspberry Pi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut Connexion Arduino & Raspberry en USB avec Serial
    Bonjour les amis,

    Je suis actuellement en train de faire une machine à casino pour une de mes association.

    le tout fonctionne, et est fait à base d'Arduino. ça clignote partout, les moteurs s’enchaînent dans tous les sens, c'est super !

    Maintenant, j'aimerai que mon Raspberry Pi II lance un son lorsque mon Arduino lui envoi un ordre.

    Pour cela j'ai connecté l'Arduino et le Rpi ensemble avec une connexion serie USB :

    je reçoit donc les message de mon arduino avec script en python su le Rpi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/env python
    # -*- coding: latin-1 -*-
    
    import serial
    ser = serial.Serial('/dev/ttyACM0', 9600)
    while 1 :
      	print(ser.readline())
    Il faudrait que lorsque le message de mon Arduiino contient un code, du type "01000100" Mon raspberry exécute cette commande moc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mocp -p /home/pi/music/monson.mp3
    et si le code est "00021010" on joue un autre son.

    comment puis je m'y prendre ?

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    côté Arduino tu as la fonction Serial.println(). Vérifie que la vitesse du port USB Arduino soit la même que la vitesse du port USB du Py (dans ton code c'est à 9600 bauds).

    Côté Py, tu peux appeler des commandes shell avec Python :
    - Python 2 : https://docs.python.org/2/library/su...ule-subprocess
    - Python 3 :https://docs.python.org/3.6/library/...ule-subprocess

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut
    Salut Auteur et merci de ta réponse.

    Donc oui coté Arduino j'utilise bien Serial.print(). j'arrive meme à recevoir le contenu sur raspberry.

    c'est du coté de la condition en python que je bloque 😒

    je veut faire ça enfaite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si dans Serial.print de mon arduino il y a 1, alors je fait cette ACTION, sinon, RIEN

  4. #4
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Je ne connais pas tellement Python. Essaye ceci :
    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ser = serial.Serial('/dev/ttyACM0', 9600)
    data = ser.readline()
    if (data == "01000100"):
        subprocess.run("mocp -p /home/pi/music/monson.mp3")

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 17
    Par défaut
    J'avais déjà essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system(mocp -p .......)
    et ça ne fonctionnait pas.

    J'essaye tout à l'heure ton code. merci

  6. #6
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Citation Envoyé par Alexis55000 Voir le message
    J'avais déjà essayé avec
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system(mocp -p .......)
    avec les guillemets ?
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    os.system("mocp -p .......")

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

Discussions similaires

  1. probleme USB avec SAGEM FAST 800
    Par k_boy dans le forum Périphériques
    Réponses: 9
    Dernier message: 13/12/2005, 17h12
  2. [Système] Trouver une clef USB avec PHP
    Par chico_du_33 dans le forum Langage
    Réponses: 8
    Dernier message: 05/10/2005, 17h29
  3. Réponses: 1
    Dernier message: 25/09/2005, 16h18
  4. Erreur de connexion à une BDD SQL Server 2000 avec BDE
    Par SchpatziBreizh dans le forum Bases de données
    Réponses: 3
    Dernier message: 17/06/2005, 11h22

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