Ir ao conteúdo
  • Cadastre-se

Gui Fernandes Rocha

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Reputação

0
  1. mudei apenas para a programação do meu servo e continua 1 ciclo e meio com a alimnetação exter while(rep<5) { for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(1000); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } rep++; } } de fato essa é a intenção, mas o problema acredito ser no meu servo ... que não responde pela alimentação externa (atraves de uma bateria lipo) no arduino, somente a quando usado USB no arduino.
  2. Estou com um problema com um problema e não sei se é a programção, pois meu servo motor não esta completando a programação fazendo o movimento apenas uma vez e meia, enquanto todo o resto esta a funcionar normalmente. adicionado 7 minutos depois /*Pinagem do arduino*/ #include <Servo.h> #define SERVO 3 // Porta Digital 3 Servo s ; // Variável Servo int pos; // Posição Servo int rep = 0; int rep2 = 0; int curvaa = 0; int curvaaa = 0; //motor_A int IN1 = 6 ; int IN2 = 7 ; int velocidadeA = 5; //motor_B int IN3 = 9 ; int IN4 = 10; int velocidadeB = 11; //variavel auxiliar int velocidade = 0; //------------------------------------------------- //Inicializa Pinos void setup() { pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); pinMode(velocidadeA,OUTPUT); pinMode(velocidadeB,OUTPUT); s.attach(SERVO); Serial.begin(9600); s.write(0); } void loop() { while(rep < 3){ for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(10); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } delay(50); retoo(); rep++; } delay (150); // curva 1 <--------------------------------------- while(curvaa < 4){ curvaaa1(); delay(50); curvaa++; } while(rep2 < 3){ for(pos = 0; pos < 180; pos++) { s.write(pos); delay(5); } delay(5); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(5); } delay(10); retoo2(); rep2++; } // curva 2 >--------------------------------------- while(curvaaa < 4){ curvaaa2(); delay(50); curvaaa++; } for (int i=1; i>0; i++);{} } //--------------------------------------------------- //--------------------------------------------------- //--------------------------------------------------- void retoo(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,140); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,75); delay(50); } //--------------------------------------------------- void retoo2(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,140); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,75); delay(50); } //--------------------------------------------------- void servo() { for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(10); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } } //--------------------------------------------------- void curva2(){ digitalWrite(IN1,HIGH); digitalWrite(IN2,LOW); analogWrite(velocidadeA,125); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); analogWrite(velocidadeB,250); } //---------------------------------------------------- void curva1(){ digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(velocidadeA,200); digitalWrite(IN3,HIGH); digitalWrite(IN4,LOW); analogWrite(velocidadeB,100); } //---------------------------------------------------- void curvaaa2(){ curva2(); delay(1500); retoo2(); delay(1500); } //---------------------------------------------------- void curvaaa1(){ curva1(); delay(1500); retoo(); delay(1500); } //---------------------------------------------------- void re(){ digitalWrite(IN1,LOW); digitalWrite(IN2,HIGH); analogWrite(velocidadeA,140); digitalWrite(IN3,LOW); digitalWrite(IN4,HIGH); analogWrite(velocidadeB,75); } //---------------------------------------------------- adicionado 30 minutos depois mudei apenas para a programação do meu servo e continua 1 ciclo e meio com a alimnetação externa enquanto por usb esta normal ...... #include <Servo.h> #define SERVO 3// Servo s; // Variável Servo int pos; // Posição Servo int rep = 0; void setup () { s.attach(SERVO); Serial.begin(9600); s.write(0); // Inicia motor posição zero } void loop(){ while(rep<5) { for(pos = 0; pos < 180; pos++) { s.write(pos); delay(15); } delay(1000); for(pos = 180; pos >= 0; pos--) { s.write(pos); delay(15); } rep++; } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...