Comunicazione Seriale Con Visual Basic .NET

Salve a tutti. Ho creato un piccolo progetto per comunicare da Arduino a Visual Basic .Net. il progetto consiste nel collegare due o più tasti ad Arduino, ogni tasto scrive un carattere sulla seriale. es. tasto 1 quando viene premuto scrive "a". tasto 2 quando viene premuto scrive "d".

CODICE (Arduino):

#define pulsante_A 3
#define pulsante_D 4
int stato_pulsante_A;
int stato_pulsante_D;
void setup() {
 Serial.begin(9600);
 pinMode(pulsante_A, INPUT);
 pinMode(pulsante_D, INPUT);
 }

void loop() {
stato_pulsante_A = digitalRead(pulsante_A);
 if(stato_pulsante_A == HIGH){
 Serial.println("a");
 }
stato_pulsante_D = digitalRead(pulsante_D);
 if(stato_pulsante_D == HIGH){
 Serial.println("d");
 }
}

Tramite visual basic ho creato un lettore della seriale.

CODICE (Visual Basic):

Public Class Form1
   Dim tasto_1 As Object
   Dim tasto_2 As Object
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
       SerialUsb4.Close()
       SerialUsb4.PortName = "COM4"
       SerialUsb4.BaudRate = 9600
       SerialUsb4.Parity = IO.Ports.Parity.None
       SerialUsb4.DataBits = 8
       SerialUsb4.StopBits = IO.Ports.StopBits.One
       SerialUsb4.ReceivedBytesThreshold = 1
       SerialUsb4.Open()
       Timer1.Enabled = True
       Timer2.Enabled = True
   End Sub

   Private Sub SerialUsb4_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialUsb4.DataReceived
       tasto_1 = SerialUsb4.ReadByte = 97 ''a
       SerialUsb4.DiscardInBuffer()

       tasto_2 = SerialUsb4.ReadByte = 100 ''d
       SerialUsb4.DiscardInBuffer()

   End Sub

   Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
       If tasto_1 = True Then
           My.Computer.Keyboard.SendKeys("a")
       End If
   End Sub

   Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
       If tasto_2 = True Then
           My.Computer.Keyboard.SendKeys("d")
       End If
   End Sub
End Class

Simulo la pressione di un tasto della tastiera. Testato correttamente con un Word e Notepad. il progetto funziona, ma ho comunque un problema.

fin che utilizzo tale programma come tastiera per scrivere è tutto oK. Ma se voglio usare tale programma per un Videogioco non funziona correttamente. l'animazione del personaggio rimane incompleta, è pari a premere più volte il tasto sulla tastiera. non so come risolvere questo errore. Sono un autodidatta e non sono molto sicuro se è colpa di Arduino e del progetto di visual basic. Vi ringrazio in anticipo. (Arduino che mondo meraviglioso).

Buongiorno e benvenuto sul forum,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO

dopo di che, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

Grazie,

Guglielmo

Grazie per il consiglio, modifica fatta.

per la mia presentazione ho già buttato due righe su un word. stasera la modifico e la pubblico. ;)