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);
}
Tags:
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);
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por