Differenze tra le versioni di "Inviare dati ad Arduino"

Da Gambas-it.org - Wikipedia.
Riga 43: Riga 43:
 
    
 
    
 
   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

Versione delle 09:59, 20 nov 2015

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 presente nell'applicativo Gambas sarà invece il seguente:

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