Differenze tra le versioni di "Inviare dati ad Arduino"

Da Gambas-it.org - Wikipedia.
 
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 35: Riga 34:
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   With Slider1
 
   With Slider1
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