Communication Arduino

  • Initiateur de la discussion Initiateur de la discussion tbft
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tbft

XLDnaute Accro
Bonsoir

Je souhaiterai faire communiquer Excel et un Arduino via le la liaison série (USB).
Le transfert des données doit se faire dans les deux sens.
J'ai fait des recherches sur le net et à chaque fois il faut installer un "truc".

Est ce que quelqu'un s'est déjà confronté à un projet similaire ?

D'avance merci pour votre aide.
 
Bonjour JM

Merci pour ton aide.
J'ai commencé à regarder hier soir.
J’espère avoir du temps se soir pour essayer la dernier méthode car apparemment il n'y a rien besoin d'installer.
Même si ça marche, je pense essayer les autres.
Je te tiens informé de l'avancé du projet
 
Bonsoir

Je suis en train d'essayer de faire tourner la troisième méthode de JM.
Mais, je bloque sur l'instruction :
Open COMstring For Random As #COMfile Len = 1
VBA m'indique : Erreur exécution 53 Fichier introuvable...

Je dis aussi fichier mais en plusieurs mots...

Avez-vous une idée, svp?

Pour information j'ai du changer la ligne sleep 20 par application.wait 20.
 
Rectification
J'ai fait ma blonde...
J'avais oublier de rebrancher l'arduino....
Je continue
J'ai l'impression que c'est l'instruction :"Get #COMfile, , record " qui me fait planté Excel...

Après plusieurs relance d'Excel, ben , c'est tombé en marche

Merci à tous les deux...
 
Dernière édition:
Bonjour JM

Je viens de jeter un coup d'œil vite fait sur "le fichier".
C'est du lourd.
Il faudrait que j'y regarde de plus près dés que j'aurais un moment.
En tout les cas, vous m'avez permis d'établir le premier contact, merci encore encore....
Je vous tiens informé de la suite de la progression de la communication
 
Bonjour

Je cherche le code équivalent (pour écrire au lieu de lire) au code suivant:
VB:
Sub ReadCommPC()
  Dim COMfile As Integer
  Dim COMstring As Variant
  Dim baudrate As Long
  Dim record_cat As Variant
  Dim record As String * 1
'  Dim record As String
  Dim emptyRecord As String * 1
  COMport = "COM3"   'Enter the COM port here.
  baudrate = 9600       'Enter the baud rate here.
  'Open COM port with baud rate, no parity, 8 data bits and 1 stop bit
  COMfile = FreeFile
  COMstring = COMport & ":" & baudrate & ",N,8,1"
  '    Open COMstring For Random As #COMfile Len = 1
  Open COMstring For Random As #COMfile Len = 1
  record = ""
  record_cat = ""
  Do
    DoEvents   'Don't lock up excel while waiting
    Get #COMfile, , record      'data is read in 1 character at a time
    If record <> "," And Asc(record) <> 13 And Asc(record) <> 10 And record <> emptyRecord Then
      record_cat = record_cat & record
    End If
    If Asc(record) = 13 Then   ' if carriage return
      MsgBox (Trim(record_cat))
      record_cat = ""
      record = ""
    ElseIf record = "," Then     ' if comma
      MsgBox (Trim(record_cat))
      record_cat = ""
    End If
    Application.Wait 20 'sleep 20
  Loop
  Close #COMfile
End Sub
 
Bonjour JM

yes j'y suis arrivé et ça grâce à toi mille merci ne suffirait pas.
En partant de l'exemple de ton lien https://playground.arduino.cc/Main/Excel, j'ai pu lire l'horloge.
J'ai modifié le programme de l'arduino pour qu'il lise l'heure que sur ordre (via le port série).
J'ai essayé avec l'interface de programmation arduino et l'interface com
Puis j'ai ajouté la macro suivante. Elle envoi l'ordre et "tends l'oreille" pour récupérer l'heure.
Oui il y a pas grand intérêt de récupérer l'heure... ce n'est pas le but final du projet mais une étape.
VB:
sub WriteCommPC()
  Dim COMfile As Integer
  Dim COMstring As Variant
  Dim baudrate As Long
  Dim record_cat As Variant
  Dim record As String * 1
'  Dim record As String
  Dim emptyRecord As String * 1
  COMport = "COM3"   'Enter the COM port here.
  baudrate = 9600       'Enter the baud rate here.
  'Open COM port with baud rate, no parity, 8 data bits and 1 stop bit
  COMfile = FreeFile
  COMstring = COMport & ":" & baudrate & ",N,8,1"
  '    Open COMstring For Random As #COMfile Len = 1
  Open COMstring For Random As #COMfile Len = 1
  record = "d"
  Put #COMfile, , record
  Close #COMfile
  ReadCommPC
End Sub

Ce code sera modifié trituré malmené pour être adapté à mon projet.
Mais encore merci pour l'aide

Oups :
J'ai oublié de répondre à la question : dans les deux sens mais avec Excel comme maître et l'arduino en esclave
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
819
Réponses
14
Affichages
702
Retour