Differenze tra le versioni di "Inviare dati ad Arduino"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 2: | Riga 2: | ||
In particolare il programma Gambas invierà ad Arduino dei valori mediante uno ''Slider'', il cui valore massimo è posto a 255 ed il minimo a zero. Arduino accenderà un diodo-led, posto sui piedini ''gnd'' ed 11, la cui intensità di luminescenza sarà determinata dal valore inviato mediante lo ''Slider'' da Gambas. | In particolare il programma Gambas invierà ad Arduino dei valori mediante uno ''Slider'', il cui valore massimo è posto a 255 ed il minimo a zero. Arduino accenderà un diodo-led, posto sui piedini ''gnd'' ed 11, la cui intensità di luminescenza sarà determinata dal valore inviato mediante lo ''Slider'' da Gambas. | ||
− | |||
Il codice presente in Arduino sarà dunque il seguente: | Il codice presente in Arduino sarà dunque il seguente: | ||
Riga 31: | Riga 30: | ||
− | Il codice | + | 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 | Private SerialPort1 As SerialPort | ||
− | + | Public Sub Button1_Click() | |
With Slider1 | With Slider1 | ||
Riga 43: | Riga 42: | ||
With SerialPort1 = New SerialPort | With SerialPort1 = New SerialPort | ||
− | .PortName = "/dev/ttyUSB0" <FONT Color=gray>' ''Questa porta seriale o quella | + | .PortName = "/dev/ttyUSB0" <FONT Color=gray>' ''Questa porta seriale o quella disponibile''</font> |
.Speed = 57600 | .Speed = 57600 | ||
.Parity = 0 | .Parity = 0 | ||
Riga 52: | Riga 51: | ||
End With | End With | ||
− | + | End | |
− | + | Public Sub Slider1_Change() | |
Write #SerialPort1, CByte(Slider1.Value) As Byte | Write #SerialPort1, CByte(Slider1.Value) As Byte | ||
Riga 61: | Riga 60: | ||
ValueBox1.Value = Slider1.Value | ValueBox1.Value = Slider1.Value | ||
− | + | End | |
− | + | Public Sub Form_Close() | |
If SerialPort1.Status = Net.Active Then SerialPort1.Close | If SerialPort1.Status = Net.Active Then SerialPort1.Close | ||
− | + | End |
Versione attuale delle 15:02, 25 giu 2024
Mostriamo un esempio pratico per inviare dei dati ad Arduino. E' necessario attivare il Componente gb.net .
In particolare il programma Gambas invierà ad Arduino dei valori mediante uno Slider, il cui valore massimo è posto a 255 ed il minimo a zero. Arduino accenderà un diodo-led, posto sui piedini gnd ed 11, la cui intensità di luminescenza sarà determinata dal valore inviato mediante lo Slider da Gambas.
Il codice presente in Arduino sarà dunque il seguente:
int led = 11; byte SerialIn; void setup() { Serial.begin(57600); } void loop() { if (Serial.available() > 0) { SerialIn = Serial.read(); // Legge il valore ricevuta da Gambas Serial.println(SerialIn, DEC); // Scrive in rappresentazione decimale nel "monitor seriale" il valore ricevuto da Gambas analogWrite(led, SerialIn); // Assegna alla varibile "led", per modificare l'intensità di luminescenza del led, il valore ricevuto da Gambas } }
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 Slider1 .MinValue = 0 .MaxValue = 255 End With With SerialPort1 = New SerialPort .PortName = "/dev/ttyUSB0" ' Questa porta seriale o quella disponibile .Speed = 57600 .Parity = 0 .DataBits = 8 .StopBits = 1 .FlowControl = 0 .Open End With End Public Sub Slider1_Change() Write #SerialPort1, CByte(Slider1.Value) As Byte ValueBox1.Value = Slider1.Value End Public Sub Form_Close() If SerialPort1.Status = Net.Active Then SerialPort1.Close End