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

Visual Studio Discussion :

Auto connexion Arduino


Sujet :

Visual Studio

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    ouvrier
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut Auto connexion Arduino
    Bonjour tous le monde

    Je souhaite trouver une solution pour connecter windows avec l'arduino mais je n'y arrive pas.

    J'ai essayé de créer un programme VS studio avec une connexion automatique comme expliqué ICI sans succès
    Le Programme VS:
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    Imports System.IO.Ports
     
     
    Public Class Form1
     
        Dim ArduinoConnected As Boolean
     
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            TimerConnect.Enabled = False
            ArduinoConnected = False
            Autoconnect()
        End Sub
     
        Private Sub BtnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
            If ArduinoConnected Then
                SerialPort1.Close()
                btnConnect.Text = "Connect"
            Else
                Autoconnect()
            End If
        End Sub
     
        Private Sub Autoconnect()
            For Each sp As String In My.Computer.Ports.SerialPortNames
                Try
                    SerialPort1.PortName = sp
                    SerialPort1.BaudRate = 9600
                    SerialPort1.DataBits = 8
                    SerialPort1.Parity = Parity.None
                    SerialPort1.StopBits = StopBits.One
                    SerialPort1.Handshake = Handshake.None
                    SerialPort1.Encoding = System.Text.Encoding.Default
                    SerialPort1.Open()
                    SerialPort1.Write("3/")
                    TimerConnect.Interval = 500
                    TimerConnect.Start()
                    While TimerConnect.Enabled And ArduinoConnected = False
                        Application.DoEvents()
                    End While
                    If ArduinoConnected Then
                        btnConnect.Text = "Disconnect"
                        Exit For
                    End If
                    SerialPort1.Close()
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try
            Next
            If ArduinoConnected = False Then
                MsgBox("Arduino failed to connect. Please check that it is plugged in.")
            End If
        End Sub
     
     
        Public Sub SerialPort_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
            Dim str As String = SerialPort1.ReadExisting()
            If str.Contains("Arduino") Then
                ArduinoConnected = True
                lstConsole.Items.Add("Arduino Connected")
     
            End If
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Shell("shutdown -s -t 100")
     
        End Sub
     
    End Class
    Programme Arduino
    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
     
    void setup()
    {
    Serial.begin(9600);
    }
     
    void loop()
    {
     
    if (Serial.read() == "3/")
     
    {
    Serial.print("Arduino");
    }
     
    }
    Le "Shell("shutdown -s -t 100")" pour le test avec un buton (fonctionnel).

    Si l'arduino n'est pas connecté il m'affiche bien l'erreur ""Arduino failed to connect..." mais si l'arduino est connecté le programme reste figé et sans erreur sans affiche le Form.
    Avez-vous des idées ?


    Merci d'avance pour votre aide

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    https://www.arduino.cc/en/Serial/Read
    serial.read a l'air de lire un byte, pas un string ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Homme Profil pro
    ouvrier
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut
    J'ai pas pensé à le stipulé mais j'ai essayé avec seulement un "1" sa n'a pas marché non plus .
    Je vois que l'arduino reçois bien quelque chose mais le logiciel VS "se perd"? Et n'affiche pas la "Fort1"

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    l'éditeur de code arduino (et peut etre le plugin pour vs) permet d'afficher les échanges RS232 donc ca te permettra de voir ce qui se passe

    après si tu envoies "1" ca reste un string, et .net transforme ca en ascii, donc ca ne sera pas 1 de l'autre côté
    et de l'autre côté il ne faut pas tester un string non plus
    (tu ne nous as pas remis le code que tu as testé)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre habitué
    Homme Profil pro
    ouvrier
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut
    Merci, d'accord je vais changer ça puis essayer. En fait si c'est bien la version que j'ai essayé (plusieurs d'ailleurs),
    mais comme il n'y avait aucun changement je suis retourné en arrière.

  6. #6
    Membre habitué
    Homme Profil pro
    ouvrier
    Inscrit en
    Septembre 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Septembre 2017
    Messages : 13
    Par défaut
    A partir des cours Arduino https://arduino.developpez.com/cours/ j'ai modifié le code arduino pour ressembler à un de mes code précédent et qui est fonctionnel :

    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
     
    void setup()
    {
      Serial.begin(9600);
    }
     
    void loop() {
      while (Serial.available() > 0) {
        int inByte = Serial.read(); // lire un premier caractère
     
        // filtrer : il doit etre une lettre majuscule
        if (inByte >= 'A') {
          int valeur = Serial.parseInt();
          Serial.read();
     
          // traitement
          switch (inByte) {
            case 'C'://Données commencant par "R" = RPM
              if (valeur == 1) {
                Serial.print("Arduino");
              }
              break;
          }
        }
      }
    }// End Loop
    Cette fois je suis sur du bon fonctionnement, testé au Serial moniteur et quand je simule avec VS l'arduino clignote sur la led Rx puis Tx mais le VS reste sans afficher le Windows Form1 :/

    Bien-sur, j'ai changé le "3/" en "C1" sur VS

Discussions similaires

  1. Connexion Arduino & Raspberry en USB avec Serial
    Par Alexis55000 dans le forum Raspberry Pi
    Réponses: 20
    Dernier message: 22/12/2016, 23h00
  2. Auto-connexion - Solutions
    Par Akryos-K dans le forum Général Java
    Réponses: 9
    Dernier message: 22/05/2011, 10h01
  3. Auto connexion sans stockage mot de passe
    Par K20 dans le forum Sécurité
    Réponses: 4
    Dernier message: 27/10/2008, 21h01
  4. [Mail] Gestion lien d'auto-connexion
    Par Fonzy17 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2006, 10h37

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