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

VB.NET Discussion :

Contrôle clavier interface visual studio et arduino [Débutant]


Sujet :

VB.NET

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Contrôle clavier interface visual studio et arduino
    Bonjour à tous, dans le cadre d'un projet arduino, j'aimerais faire une interface graphique pour contrôler ce projet.

    Pour mes tests, j'ai voulu contrôler l'allumage et l'extension d'une LED en appuyant sur les boutons que j'ai créés.
    Pour ça pas de soucis, tout fonctionne.

    Après ça, j'ai voulu contrôler le tout avec l'appui d'une touche de mon clavier, mais je bloque complètement.
    voici mon code arduino et visual si ça peut aider.
    Si quelqu'un a déjà fait ce genre de contrôle je suis preneur de conseils car je suis bloqué et je deviens fou

    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
     
    Imports System.IO
    Imports System.IO.Ports
    Imports System.Threading
     
    Public Class Form1
     
        Shared _continue As Boolean
        Shared _serialPort As SerialPort
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            SerialPort1.Close()
            SerialPort1.PortName = "com6"
            SerialPort1.BaudRate = 9600
            SerialPort1.DataBits = 8
            SerialPort1.Parity = Parity.None
            SerialPort1.StopBits = StopBits.One
            SerialPort1.Handshake = Handshake.None
            SerialPort1.Encoding = System.Text.Encoding.Default
        End Sub
     
        Private Sub btnOn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOn.Click
     
            SerialPort1.Open()
            SerialPort1.Write("a")
            SerialPort1.Close()
        End Sub
     
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            SerialPort1.Open()
            SerialPort1.Write("b")
            SerialPort1.Close()
        End Sub
    End Class
    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
     
     
    int led=6;    // led sur port6
    int val;
     
     
    void setup() 
    {
     
      Serial.begin(9600);   // INITIALISE l'interface serie à 9600
      pinMode (led,OUTPUT);  // broche 6 en sortie
      digitalWrite(led,HIGH);  // INITIALISE LED A L'ETAT coupé
     
     
    }
     
    void loop() {
     
     
     
     
     
      if( Serial.available() )       // vérifie si des données sont disponible pour la lecture
      {;}
        val = Serial.read();         // stocke la donnée reçu dans la variable "val"
     
      if( val == 'a' )              
     
      {
         digitalWrite(led,HIGH);  
      }
     
        if( val == 'b' )              
     
      {
         digitalWrite(led,LOW);  
      }
     
    }

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,


    Tu en es ou ?
    Cela ne marche pas cote arduino, cote dontet ?

    T'es sur de ce if ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if( Serial.available() )       // vérifie si des données sont disponible pour la lecture
      {;}

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonsoir,
    la partie code arduino est ok car j'arrive à communiquer avec mon interface visual mais seulement en cliquant sur le bouton, moi j'aimerais pouvoir faire l'action en appuyant sur la touche de mon clavier, mais je ne comprend pas comment faire coté visual.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Ca doit etre l'evenemtn keydown qure tu cherches:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
            If e.Control AndAlso e.KeyCode = Keys.A Then
     
                SerialPort1.Open()
                SerialPort1.Write("a")
                SerialPort1.Close()
            End If
        End Sub

  5. #5
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    j'avais déjà été avec cet événement mais rien n'y fais, que ce soit avec ta version ou la mienne rien ne se passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub button1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
            If e.Control AndAlso e.KeyCode = Keys.A Then
                SerialPort1.Open()
                SerialPort1.Write("a")
                SerialPort1.Close()
            End If
        End Sub
    End Class

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    mettre keyupreview à true sur le form, et voir s'il y a un event previewkeydown

    par défaut c'est le control ayant le focus qui recoit le keydown
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    BOnjour, voici ce que je viens de faire,
    j'ai été dans les paramètre et et pour l'action KeyDown j'ai lié "Form1_KeyDown"
    Nom : 1.JPG
Affichages : 887
Taille : 45,1 Ko
    pour keyupreview à mettre sur true, je ne voit pas comment faire et pour l'action previewkeydown, je dois mettre quoi?

    En tous cas merci de m'aider, mais je suis totalement perdu et j'ai impression que ça n'ira jamais

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,
    KeyPreview est une propriété de la Form. Il faut la mettre à True pour que l'évènement KeyDown de la Form soit levé.
    Concernant PreviewKeyDown, regarde du côté de Msdn

  9. #9
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Pour PreviewKeyDown j'ai fait comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub button1_PreviewKeyDown(ByVal sender As Object, ByVal e As PreviewKeyDownEventArgs)
            Select Case (e.KeyCode)
                Case Keys.B, Keys.A
                    e.IsInputKey = True
            End Select
        End Sub
    mais je ne trouve pas KeyPreview dans les propriétés

    pour KeyPreview, je l'ai mit là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            SerialPort1.Close()
            SerialPort1.PortName = "com6"
            SerialPort1.BaudRate = 9600
            SerialPort1.DataBits = 8
            SerialPort1.Parity = Parity.None
            SerialPort1.StopBits = StopBits.One
            SerialPort1.Handshake = Handshake.None
            SerialPort1.Encoding = System.Text.Encoding.Default
            KeyPreview = True
    mais cela ne va toujours pas

  10. #10
    En attente de confirmation mail
    Homme Profil pro
    Etudiant
    Inscrit en
    Novembre 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    erreur de port com, ça fonctionne.
    merci de votre aide à tous, et aussi pour les cours et tutoriels pour apprendre Arduino

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

Discussions similaires

  1. [Débutant] Importer des données Excel sur une interface Visual Studio
    Par Nicoow44 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 07/07/2014, 11h48
  2. Raccourci clavier dans Visual Studio 2010
    Par dvdavid dans le forum Visual Studio
    Réponses: 7
    Dernier message: 03/08/2011, 18h07
  3. Réponses: 4
    Dernier message: 01/07/2009, 19h20
  4. Supprimer TOUS les raccourcis clavier dans Visual Studio
    Par jo_dalton dans le forum Visual Studio Team System
    Réponses: 5
    Dernier message: 05/08/2008, 00h01

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