Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problemas com o Serial

Bom Dia Boa Tarde Boa Noite

pretendo fazer uma maquete com arduinos onde sera controlado pelo computador

Criei um programa c# que envia informacoes via serial para o arduino e ocorreu tudo certo, Liguei um led clicando um button. O problema acontece quando eu adiciono um if ou um novo pinMode no código do arduino onde acaba inutilizando o todo o código. Segue meu codigo tanto do arduino quanto do visualStudio

//Codigo Do Arduino
int valor;
void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  Serial.begin(9600); 

}

void loop() {
      valor = Serial.read();
      if (valor == 1){
        digitalWrite(2, !digitalRead(2));
      }
      else if(valor == 2){
        digitalWrite(3, !digitalRead(3));  
      }

}
 private void Form1_Load(object sender, EventArgs e)
        {

            try
            {
                Porta.Open();
            }
            catch
            {
                MessageBox.Show("Cabo desconectado", "Erro");
                Porta.Close();
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Porta.Write("1");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Porta.Write("2");
        }

Ate o momento só achei esse erro do PinMode e do if no arduino

Acho que seria uma boa ideia um novo curso de embarcados onde o professor ensina algo parecido, acho que ajudaria tanto a mim quanto a outros estudantes

Agradeço desde já por ler ate aqui e espero contar com a ajuda do forum para resolver meu problema

1 resposta
solução!

Oi Felipe tudo bom?

Pelo que eu consegui entender do que vc mandou, o código em C# manda uma informação para o Arduino através do comanndo Porta.write("X") correto?

E esse valor é lido pelo Arduíno dentro da função loop no momento em que você chama o comando Serial.read(); . É isso mesmo?

Me parece que o seu código C# está mandando uma "string" como informação, enquanto que o Arduíno está esperando um valor número para fazer as comparações e liga/desligar as portas que você quer.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software