Bom dia,eu queria que alguém me ajudasse!! Quero ligar meu servo motor pela porta serial,como que eu faço ? eu consigo ligar por um botão,agora quando tento pela porta serial,não dá..

Segue o código com o botão

#include
int botao=12;
int var=0;
int var2=0;
int estado=0;
Servo motor;

void setup()
{
motor.attach(3);
pinMode(botao,INPUT);
}
void loop()
{

var=digitalRead(botao);
if ((var == HIGH) && (var2 == LOW)) {
estado = 1 - estado;
delay(20);
}
var2=var;
if (estado == 1) {

motor.write(160);
delay(10);
}else{
motor.write(16);
delay(10);
}

}

Exibições: 888

Responder esta

Respostas a este tópico

Espero que ajude vc:

#include <Servo.h>

Servo servo1;

int posicao = 90; //centraliza-se na posicao 90 (0-89|90-179)

char LeftRight; //cria-se uma variavel para esquerda e direita


void setup()
{
servo1.attach(8);  // Pino onde sera ligado o servo


Serial.begin(9600); // inicializar porta serial
}

void loop(){

LeftRight = Serial.read();  //Faz-se uma leitura serial:


// os comando são recebidos de acordo com a tabela da ASCII


if (LeftRight == 108 && posicao < 175){   //se digitado ' l ' e a posicao for menor que o maximo... (108 = L)

posicao += 5;  //add 5 da posicao (direita)
}
else if (LeftRight == 114 && posicao >0){  //se digitado ' r ' e a posicao for menor que o maximo... (114 = R)

posicao -=5;
}

Serial.println(int(LeftRight));   //imprime o valor decimal do byte digitado via seria

LeftRight = 'z';   //trocando o valor de LeftRight para nao cair na condicao

servo1.write(posicao);  //troca-se a posicao do servo conforme a condicao

delay(300); //pausa de 0.3s
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço