Arduino Serial + VB
Comunicação Serial com o arduino MEGA
A comunicação serial com o arduino mega é muito facil de ser feita! vaja o exemplo.
O arduino mega tem um led para testes, vc pode setar ele como output para testar seu codigo, o legal é que voce não precisa de nenhum tipo de shield, a comunicação é feita pela propria usb do arduino mega, então vamos ao código do arduino:
int led=13; // só para setar o led
char variavel; // uma variável do tipo char para não ter complicações na hora de mudar de int para char
void setup ()
{pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop()
{
variavel =0; // setamos a variavel em 0 se não o loop fica infinito
if (Serial.available()>0){
variavel = Serial.read();
}
if (variavel=='a') // aqui é só um exemplo, voce pode colocar de acordo com o que vc quiser
{
Serial.print("led piscou 5 vezes"); // esta será a resposta do arduino via serial
for (int i = 0; i <5; i++)
{
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000);
}
}
}
feito isso crie um projeto no vb com um botão e um textbox
o textbox irá mostrar a resposta do arduino, no nosso exemplo será: led piscou 5 vezes
dentro do botão coloque o seguinte código:
Dim receber As String 'criando uma variavel do tipo string'
SerialPort1.Open() 'abrindo a porta serial'
SerialPort1.Write("a") ' enviando a informação para o arduino, no caso do nosso exemplo a letra a'
Threading.Thread.Sleep(100) ' essa linha é para dar uma espera, caso contrário, iremos ler muito rapido a porta e ela ainda não terá nenhuma informação'
receber = SerialPort1.ReadExisting() 'le a resposta do ino'
If receber = "" Then
TextBox1.Text = "sem resposta"
SerialPort1.Close()
Else
TextBox1.Text = receber
SerialPort1.Close()
End If
feito isso o código está pronto, só não esqueçam de incorporar uma porta serial no projeto, e renomear a portname igual a porta que o arduino está conectado, no meu caso é a com3, a mesma porta que vc usou para gravar o código no arduino.
pessoal, alguma dúvida postem ai, vlw e grande abraço.
Comentários