Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    14

    [VB 2010 winform]Visual Basic e Arduino

    Salve a tutti, sto utilizzando vb2010 per inviare dei semplici comandi sul seriale di Arduino. Devo intercettare l'evento key down per muovere un servo e,per quanto riguarda la trasmissione, non ho problemi. Il problema nasce quando alla form, originariamente vuota e funzionante, aggiungo dei pulsanti (es.: selezionare la porta COM) e sembra che non intercetti più niente.
    I tasti in questione sono left e right arrow, ho pensato che magari non li intercettasse perchè premendoli sposto il focus sui vari bottoni ma non funziona neanche con "a" e "d".
    Consigli ?

  2. #2
    Fino a quando il form rimane vuoto, tutti gli eventi della tastiera arrivano al form. Quando inserisci un controllo e questo ha il focus, gli eventi della tastiera arrivano al controllo. Per risolvere il problema potresti provare impostando la proprietà del form KeyPreview=True. In questo modo gli eventi vengono inviati "in copia" anche al form, oltre che al controllo che ha il focus.
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    14
    Funziona

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    14
    Ora però il problema è un altro: quando una combobox è disabilitata l'evento keydown non viene intercettato. Ho provato a rimettere su False la proprietà keypreview ma è lo stesso..

  5. #5
    Ciaooo Sono nuovo nella programmazione di visual basic.
    Mi puoi dire come far comunicare vb e arduino?grazie mille

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    14
    Originariamente inviato da spank_78
    Ciaooo Sono nuovo nella programmazione di visual basic.
    Mi puoi dire come far comunicare vb e arduino?grazie mille
    Un metodo è quello di aggiungere il componente Serialport.
    La comunicazione avviene tramite seriale ovviamente e quindi dovrai inviare delle stringhe o caratteri su seriale di arduino in questo modo: Serialport1.write("c")
    Nelle proprietà del componente Serialport1 dovrai impostare lo stesso baud rate del seriale di arduino, lo stesso nome di porta e ovviamente abilitarlo. Per leggere i valori al contrario (cioè quelli inviati da arduino) non ci sono ancora riuscito.

    Il secondo metodo invece è quello di aggiungere il componente Microsoft Commmunications controls (che chiami arduino) e quindi fare arduino.output("c"), mentre per leggere, dentro l'evento arduino_OnComm, fai un arduino.input .
    Il settaggio del componente te lo vai a stabilire in un solo campo delle proprietà cioè settings dove hai i corrispondenti di Serialport1 (da sinistra verso destra):baud rate, parity,data bits, received bytes threshold.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.