Ir ao conteúdo
  • Cadastre-se

Arduino Recebendo valor alto através do Serial


Posts recomendados

Oi, boa noite.. Então, estou precisando fazer o seguinte:

Receber um valor maior que 30000 (Valor que será um Tempo em milissegundos) através do serial e fazer com que um led fique aceso por essa quantidade de tempo definido pelo usuário.

Se alguém souber como faço para simplificar melhor essa programação também , agradeço.

 

Até então, minha prog. está assim:

 

#include <Servo.h>

Servo meuServo;
char caracter;
int JanelaSala      = 4;
int LampadaEntrada  = 5;
int LampadaSala     = 6;
int LampadaCozinha  = 7;
int LampadaBanheiro = 8;
int estado          = 0;
bool a,b,c,d        = LOW;

void setup()
{
  Serial.begin(9600);
  pinMode(LampadaEntrada  ,OUTPUT);
  pinMode(LampadaSala     ,OUTPUT);
  pinMode(LampadaCozinha  ,OUTPUT);
  pinMode(LampadaBanheiro ,OUTPUT);
  meuServo.attach(JanelaSala);
}

void loop()
{
  if(Serial.available() > 0){
    delay(100);
    caracter = Serial.read();
    
    switch(caracter){
      case '1':
        a = !a;
        digitalWrite(LampadaEntrada, a);
      break;
      case '2':
        b = !b;
        digitalWrite(LampadaSala, b);
      break;
      case '3':
        c = !c;
        digitalWrite(LampadaCozinha, c);
      break;
      case '4':
        d= !d;
        digitalWrite(LampadaBanheiro, d);
      break;
      case '5':
        if(estado == 0){
          meuServo.write(90);
          estado = 1;
        }
        else if(estado == 1){
          meuServo.write(0);
          estado = 0;
        }
      break;
   }
  }
 delay(10);
}

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
  • 2 semanas depois...
  • Membro VIP

se for receber em binário, pode fazer o seguinte:

void loop() {

  while(Serial.available() < 2) {}   //Waiting for packets

  int input1 = Serial.read(); // lê 1° byte

  int input2 = Serial.read(); // lê 2° byte

 

  int  tempo= ( input1 * 256 )+ input2);

  //ou  tempo= ( input1 <<8 ) + input2);

  delay(tempo);

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...