boa tarde pessoal ... estou tentando fazer o uso de um servo motor p/ simular um portão de uma garagem ... para tanto gostaria que o mesmo fosse acionado via botão e bluetooth, ou seja, gostaria tando te abrir  ou fechar o protão tanto pelo botão ou mesmo pelo bluetooth.  Nós meus resultados ou consigo acionar via bluetooth, ou via botão, contudo nunca os dois juntos ... Alguém poderia me ajudar?

Segue abaixo meu código separado (BLUETOOTH / BOTÃO), GOSTARIA DE JUNTAR OS DOIS CÓDIGOS

// ########### CÓDIGO VIA BLUETOOTH ###########

#include <SoftwareSerial.h> // biblioteca para bluetooth
#include <Servo.h> // biblioteca do servo motor

SoftwareSerial comunicacao (0, 1); // RX ; TX
int caractere;


Servo motor; // objeto motor do tipo Servo
byte botao = 8;
boolean estadobotao = LOW;

void setup() {
comunicacao.begin(9600);
pinMode(pinRele,OUTPUT);
delay(1000);
motor.detach();
delay(500);
}

void loop() {

if (comunicacao.available() > 0) // se comunicado com o bluetooth faça
{

caractere = comunicacao.read(); // leia o caracter da comunicação
if(caractere == 'L') { // abrir portão
motor.attach(5);
motor.write(90);
}
else if (caractere == 'D') // fechar portão
{
motor.attach(5);
motor.write(0);
}
}
delay(100);
}

// ########### CÓDIGO VIA BOTÃO ###########

#include <Servo.h> // biblioteca do servo motor


Servo motor; // objeto motor do tipo Servo
byte botao = 8; // pino digital definido para botão de interação com o motor
boolean estadobotao = LOW;

void setup()
{

motor.detach();
pinMode(botao, INPUT);
delay(1000);
}

void loop()
{

delay(10);

estadobotao = digitalRead(botao);
if (estadobotao == HIGH)
{
motor.attach(5);
motor.write(90);
delay(15);
} else if (estadobotao == LOW)
{
motor.attach(5);
motor.write(0);
delay(15);
}
delay(20);
}

Exibições: 2397

Responder esta

Respostas a este tópico

Seria possivel vc mandar uma foto de como foi feita as ligaçoes no arduino e no protoboard??

amigo seu código está com vários erros, juntei e vc testa aí. é para funcionar!

#include <Servo.h> // biblioteca do servo motor

Servo motor; // objeto motor do tipo Servo
byte botao = 8; // pino digital definido para botão de interação com o motor

void setup() {
  Serial.begin(9600);
  //pinMode(pinRele,OUTPUT);
  motor.detach();
  pinMode(botao, INPUT);
  delay(1000);
}

void loop() {
  char caractere = Serial.read();
  int estadobotao = digitalRead(botao);

  if (caractere == 'L') { // abrir portão
    motor.attach(5);
    motor.write(90);
  }
  if (caractere == 'D') // fechar portão
  {
    motor.attach(5);
    motor.write(0);
  }

  if (estadobotao == HIGH)
  {
    motor.attach(5);
    motor.write(90);
    delay(15);
  } else if (estadobotao == LOW)
  {
    motor.attach(5);
    motor.write(0);
    delay(15);
  }
  delay(20);
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço