Olá, estou fazendo um projeto TCC e preciso de adicionar comando de um servo para girar 90 graus

estou fazendo um projeto TCC e preciso de adicionar comando de um servo para girar 90 graus com o comando "dev6open" para virar 90 graus e o "dev7close" voltar a 0 pelo bluetooth. se puderem me ajudar agradeço. 

esse e o codigo

#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11); //TX, RX
String device;
const int dev1 = 3; //PWM
const int dev2 = 4; //PWM
const int dev3 = 5; //PWM
const int dev4 = 6; //PWM
const int dev5 = 7; //PWM
const int dev6 = 8; //PWM
const int dev7 = 9; //PWM

void setup()
{
BT.begin(9600);
Serial.begin(9600);
pinMode(dev1, OUTPUT);
pinMode(dev2, OUTPUT);
pinMode(dev3, OUTPUT);
pinMode(dev4, OUTPUT);
pinMode(dev5, OUTPUT);
pinMode(dev6, OUTPUT);
pinMode(dev7, OUTPUT);
}

void loop()


{
while (BT.available()) //Verificar se existe um byte disponível para ler
{
delay(10); //Daley adicionado para fazer coisa estável
char c = BT.read(); //Realizar uma leitura de série
device += c; //build the string.
}


// Controle Botao:
if (device == "dev1on") {digitalWrite(dev1, HIGH);}
else if (device == "dev1off") {digitalWrite(dev1, LOW);}
else if (device == "dev2on") {digitalWrite(dev2, HIGH);}
else if (device == "dev2off"){digitalWrite(dev2,  LOW);}
else if (device == "dev3on") {digitalWrite(dev3, HIGH);}
else if (device == "dev3off") {digitalWrite(dev3, LOW);}
else if (device == "dev4on") {digitalWrite(dev4, HIGH);}
else if (device == "dev4off") {digitalWrite(dev4, LOW);}
else if (device == "dev5on") {digitalWrite(dev5, HIGH);}
else if (device == "dev5off") {digitalWrite(dev5, LOW);}
else if (device == "dev6open") {digitalWrite(dev6, HIGH);}
else if (device == "dev7close") {digitalWrite(dev7, HIGH);}

// Controle Voice:
else if (device == "ligar um" || device == "Ligar 1") {digitalWrite(dev1, HIGH);}
else if (device == "desligar um" || device == "desligar 1") {digitalWrite(dev1, LOW);}
else if (device == "ligar som" || device == "Ligar som") {digitalWrite(dev2, HIGH);}
else if (device == "desligar som" || device == "Desligar som") {digitalWrite(dev2, LOW);}
else if (device == "ligar TV" || device == "Ligar TV") {digitalWrite(dev3, HIGH);}
else if (device == "desligar TV" || device == "Desligar TV") {digitalWrite(dev3, LOW);}
else if (device == "ligar quarto" || device == "Ligar quarto") {digitalWrite(dev4, HIGH);}
else if (device == "desligar quarto" || device == "Desligar quarto") {digitalWrite(dev4, LOW);}

}

Exibições: 203

Responder esta

Respostas a este tópico

Só adicionar a biblioteca do servo e adaptar o código.

Ja tentei e no programa no celular o servo so da uma oscilação

Esta usando Arduino Uno ?
Use o servo motor no pino 9, por exemplo , pois esse port aceita PWM.
Adapte ao seu programa.

#include // inclua essa biblioteca

Servo myservo; // crie um objeto servo para controlar o servo motor

Setup

myservo.attach(9); // use o pino 9 para o servo motor

Loop

myservo.write(180); // gira para 180 graus
delay(15); // aguarda 15 milisegundos

myservo.write(0); // gira para 0 graus
delay(15); // aguarda 15 milisegundos

https://www.arduino.cc/en/Reference/Servo
https://www.arduino.cc/en/Tutorial/Knob
https://www.arduino.cc/en/Tutorial/Sweep

Arduino Leonard que estou usando.

https://www.arduino.cc/en/Main/ArduinoBoardLeonardo

Portas PWM no Leonardo :

  • PWM: 3, 5, 6, 9, 10, 11, and 13. Provide 8-bit PWM output with the analogWrite() function.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço