Differenze tra le versioni di "Inviare dati ad Arduino"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 val...")
 
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
 
Mostriamo un esempio pratico per inviare dei dati ad Arduino. E' necessario attivare il Componente ''gb.net'' .
 
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 ''grd'' 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 presente nell'applicativo Gambas sarà invece il seguente:
+
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()
+
  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 corretta''</font>
+
     .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'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Slider1_Change()
+
  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'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Close()
+
  Public Sub Form_Close()
 
   
 
   
 
   If SerialPort1.Status = Net.Active Then SerialPort1.Close
 
   If SerialPort1.Status = Net.Active Then SerialPort1.Close
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 16: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