Ir ao conteúdo

Posts recomendados

Postado

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);
}

 

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

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);

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...