top of page

Servo controlado por 4 botões mais 1 de informação

Material
-
Arduíno Uno
-
5 Botões
-
14 Jumper
-
Protoboard
-
1 Servo Motor
Montagem
Código
outros exemplos de projetos com arduino

#include <Servo.h>
#define pinServo0 7
#define pinBotao1 2
#define pinBotao2 3
#define pinBotao3 4
#define pinBotao4 5
#define pinBotao5 6
Servo servo;
int angulo = 0;
boolean estadoBotao1 = true;
boolean estadoBotao2 = true;
boolean estadoBotao3 = true;
boolean estadoBotao4 = true;
boolean estadoBotao5 = true;
boolean estAntBotao1 = true;
boolean estAntBotao2 = true;
boolean estAntBotao3 = true;
boolean estAntBotao4 = true;
boolean estAntBotao5 = true;
void setup() {
Serial.begin(9600);
Serial.println("A iniciar programa");
delay(200);
Reconectar:
Serial.println("Processo interrumpido");
Serial.println("Para Reconectar pressione o botao 5");
Serial.print(".");
delay(200);
Serial.print(".");
delay(200);
Serial.println(".");
delay(200);
estadoBotao5 = digitalRead(pinBotao5);
if (!estadoBotao5 && estAntBotao5) {
}else{
goto Reconectar;
}
servo.attach(pinServo0);
pinMode(pinBotao1, INPUT_PULLUP);
pinMode(pinBotao2, INPUT_PULLUP);
pinMode(pinBotao3, INPUT_PULLUP);
pinMode(pinBotao4, INPUT_PULLUP);
pinMode(pinBotao5, INPUT_PULLUP);
}
void loop() {
estadoBotao5 = digitalRead(pinBotao5);
if (!estadoBotao5 && estAntBotao5) {
Serial.print("Informação de pinServo0 : ");
Serial.println(pinServo0);
delay(200);
Serial.print("Angulo do servo : ");
Serial.println(angulo);
delay(200);
Serial.print("Informação do botão 1 : ");
Serial.println(digitalRead(pinBotao1));
delay(200);
Serial.print("Informação do botão 2 : ");
Serial.println(digitalRead(pinBotao2));
delay(200);
Serial.print("Informação do botão 3 : ");
Serial.println(digitalRead(pinBotao3));
delay(200);
Serial.print("Informação do botão 4 : ");
Serial.println(digitalRead(pinBotao4));
delay(200);
Serial.print("Informação do botão 5 : ");
Serial.println(digitalRead(pinBotao5));
delay(200);
Serial.println("********************************************");
delay(400);
Serial.println("By Pedro Lucas");
Serial.println();
delay(200);
}
estadoBotao1 = digitalRead(pinBotao1);
if (!estadoBotao1 && estAntBotao1) {
angulo = 0;
servo.write(0);
delay(1000);
}
estadoBotao2 = digitalRead(pinBotao2);
if (!estadoBotao2 && estAntBotao2) {
angulo = 45;
servo.write(45);
delay(1000);
}
estadoBotao3 = digitalRead(pinBotao3);
if (!estadoBotao3 && estAntBotao3) {
angulo = 135;
servo.write(135);
delay(1000);
}
estadoBotao4 = digitalRead(pinBotao4);
if (!estadoBotao4 && estAntBotao4) {
angulo = 180;
servo.write(180);
delay(1000);
}
}
Resultado Final
bottom of page





