Ricevere dati da Arduino: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| (Una versione intermedia di uno stesso utente non è mostrata) | |||
| Riga 27: | Riga 27: | ||
Public Sub Button1_Click() | |||
With SerialPort1 = New SerialPort As "portaseriale" | With SerialPort1 = New SerialPort As "portaseriale" | ||
| Riga 39: | Riga 39: | ||
End With | End With | ||
End | |||
Public Sub portaseriale_Read() | |||
Dim b As Byte | |||
Read #SerialPort1, b | Read #SerialPort1, b | ||
| Riga 50: | Riga 50: | ||
ValueBox1.Value = b | ValueBox1.Value = b | ||
End | |||
Public Sub Form_Close() | |||
If SerialPort1.Status = Net.Active Then SerialPort1.Close | If SerialPort1.Status = Net.Active Then SerialPort1.Close | ||
End | |||
=Note= | =Note= | ||
[1] | [1] Vedere anche questa esposizione: http://www.gambas-it.org/smf/index.php?topic=2485.msg26661#msg26661 | ||
[2] Vedere anche: [[Accesso alle Porte Seriali]] | |||
Versione attuale delle 16:03, 25 giu 2024
Mostriamo un esempio pratico per ricevere dei dati da Arduino. E' necessario attivare il Componente gb.net .
In particolare Arduino invierà un valore progressivamente incrementato con il ciclo previsto dal suo codice, che qui mostriamo:
int val;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.write(val); // Invia il valore contenuto nella variabile "val"
delay(300); // Resta in attesa per ms 300
++val; // Incrementa il valore contenuto nella variabile "val"
}
Il codice dell'applicativo Gambas comunica con la porta seriale "/dev/ttyUSB0" o potrà essere anche “/dev/ttyACM0” (ovviamente il numero finale può essere anche diverso se sono stati connessi altri dispositivi analoghi.)
Private SerialPort1 As SerialPort
Public Sub Button1_Click()
With SerialPort1 = New SerialPort As "portaseriale"
.PortName = "/dev/ttyUSB0" ' Questa porta seriale o quella disponibile
.Speed = 9600
.Parity = 0
.DataBits = 8
.StopBits = 1
.FlowControl = 0
.Open
End With
End
Public Sub portaseriale_Read()
Dim b As Byte
Read #SerialPort1, b
ValueBox1.Value = b
End
Public Sub Form_Close()
If SerialPort1.Status = Net.Active Then SerialPort1.Close
End
Note
[1] Vedere anche questa esposizione: http://www.gambas-it.org/smf/index.php?topic=2485.msg26661#msg26661
[2] Vedere anche: Accesso alle Porte Seriali