Não consigo colocar botão para controlar movimento automático do braço robotico

Boa tarde Alguém poderia me ajudar, preciso colocar um botão para acionar o movimento programado do braço robótico, o código funcionar normal sem o botão, mas se acrescento o botão da erro.
segue o código que estou usando esse código aciona o braço mas sem um botão para dar start nesta posição programada do braço,.

#include <Servo.h>

#define pot1 A0
#define pot1 A1
#define pot1 A2
#define pot1 A3
#define botao1 8
#define botao2 9

Servo s1,s2,s3,s4;

int angs1,angs2,angs3,angs4;
int tmp=1000;

void setup() {
s1.attach(2);
s2.attach(3);
s3.attach(4);
s4.attach(5);
Serial.begin(9600);
}

void loop() {
/*
angs1=map(analogRead(pot1),0,1023,0,180);
angs2=map(analogRead(pot2),0,1023,0,180);
angs3=map(analogRead(pot3),0,1023,0,180);
angs4=map(analogRead(pot4),0,1023,0,180);
s1.write(angS1);
s2.write(angS2);
s3.write(angS3);
s4.write(angS4);
servosPos();
*/

p1();
delay(tmp);
p2();
delay(tmp);
p3();
delay(tmp);
p4();
delay(tmp);
p5();
delay(tmp);
p6();
delay(tmp);
p7();
delay(tmp);

}

void servosPos() {

Serial.println("---------------------------------------------------------");
Serial.print(s1.read());
Serial.print("-");
Serial.print(s2.read());
Serial.print("-");
Serial.print(s3.read());
Serial.print("-");
Serial.print(s4.read());
Serial.println("---------------------------------------------------------");

}

//s1=Garra │ 53=Aberta, 140=Fechada
//s2=Braco2 │ 176=Esticado, 77=Dobrado
//s3=Braco1 │ 85=Cima, 150=Baixo
//s4=Base │ 8=Direita, 90=Frente, 170=Esquerda

void p1() { //padrao - garra fechada
s1.write(140);
s2.write(167);
s3.write(74);
s4.write(97);
servosPos();
}

void p2() { //padrao - garra aberta
s1.write(53);
s2.write(167);
s3.write(74);
s4.write(97);
servosPos();
}

void p3() {
s1.write(53);
s2.write(111);
s3.write(118);
s4.write(97);
servosPos();
}

void p4() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(97);
servosPos();
}

void p5() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}

void p6() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}

void p7() {
s1.write(53);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}

Olá @maelbn ,
ao postar sketch no tópico use o recurso de tags </> que existe na Barra de ferramentas.
Assim fica mais fácil copiar seu sketch para testar e melhora muito a navegação no tópico.
Por favor corrija se post.

Você informa que com o botão o sketch não funciona, mas sem ele funciona normal. Certo?
Então postou o sketch sem o botão.
Como vamos saber o problema no sketch com botão?

RV mineirin

#include <Servo.h>

#define pot1 A0
#define pot1 A1
#define pot1 A2
#define pot1 A3
#define botao1 8
#define botao2 9

Servo s1,s2,s3,s4;

int angs1,angs2,angs3,angs4;
int tmp=1000;
int enable = 0, botao = 0;

void servosPos() {

Serial.println("---------------------------------------------------------");
Serial.print(s1.read());
Serial.print("-");
Serial.print(s2.read());
Serial.print("-");
Serial.print(s3.read());
Serial.print("-");
Serial.print(s4.read());
Serial.println("---------------------------------------------------------");

}

//s1=Garra │ 53=Aberta, 140=Fechada
//s2=Braco2 │ 176=Esticado, 77=Dobrado
//s3=Braco1 │ 85=Cima, 150=Baixo
//s4=Base │ 8=Direita, 90=Frente, 170=Esquerda

void p1() { //padrao - garra fechada
s1.write(140);
s2.write(167);
s3.write(74);
s4.write(97);
servosPos();
}

void p2() { //padrao - garra aberta
s1.write(53);
s2.write(167);
s3.write(74);
s4.write(97);
servosPos();
}

void p3() {
s1.write(53);
s2.write(111);
s3.write(118);
s4.write(97);
servosPos();
}

void p4() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(97);
servosPos();
}

void p5() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}

void p6() {
s1.write(140);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}

void p7() {
s1.write(53);
s2.write(111);
s3.write(118);
s4.write(178);
servosPos();
}
void setup() {
s1.attach(2);
s2.attach(3);
s3.attach(4);
s4.attach(5);
pinMode(6,INPUT_PULLUP);
Serial.begin(9600);
}

void loop() 
{
/*
angs1=map(analogRead(pot1),0,1023,0,180);
angs2=map(analogRead(pot2),0,1023,0,180);
angs3=map(analogRead(pot3),0,1023,0,180);
angs4=map(analogRead(pot4),0,1023,0,180);
s1.write(angS1);
s2.write(angS2);
s3.write(angS3);
s4.write(angS4);
servosPos();
*/
botao = digitalRead(6);
if(botao == LOW)
{
  p1();
  delay(tmp);
  p2();
  delay(tmp);
  p3();
  delay(tmp);
  p4();
  delay(tmp);
  p5();
  delay(tmp);
  p6();
  delay(tmp);
  p7();
  delay(tmp);
}
}



This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.