RumbaKing wrote:Novi momenat! Proradilo je delimicno, konacno reaguje na promene delay i kada je
PIN 4 na HIGH (+5V) pomeri se polako na 180 stepeni i stane. To radi.
Problem je kad je PIN 4 NA LOW (0V), i onda pocne stalno isto da radi: ide polako od 360 stepeni ka nuli, stigne polako do nule ali se odmah brzo vraca na 360 pa opet polako do nule pa brzo do 360 i sve tako
Cim mu dovedem pin 4 na HIGH polako ode na 360 kao sto treba i stoji tu.Code: Select all
//RumbaKing servo #include <Servo.h> int button1 = 4; //button pin, connect to +5V to move servo int press1 = 0; Servo servo1; int pos = 0; void setup() { pinMode(button1, INPUT); servo1.attach(7); digitalWrite(4, LOW); // make pin low } void loop() { press1 = digitalRead(button1); if (press1 == HIGH) { for (pos=0; pos<=180; pos+=1); servo1.write(pos); delay(50); } else { for (pos=180; pos>1 ; pos-=1){ servo1.write(pos); delay(50);} } }
Radi točno ono što si mu naredio
Code: Select all
//RumbaKing servo
#include <Servo.h>
int button1 = 4; //button pin, connect to +5V to move servo
int press1 = 0;
Servo servo1;
int pos = 0;
byte flag_za_res;
void setup()
{
pinMode(button1, INPUT);
servo1.attach(7);
digitalWrite(4, LOW); // make pin low
}
void loop()
{
press1 = digitalRead(button1);
if (press1 == HIGH)
{
flag_za_res=0;
for (pos=0; pos<=180; pos+=1);
servo1.write(pos);
delay(50);
}
else if(flag_za_res==0) {
flag_za_res=1;
for (pos=180; pos>1 ; pos-=1){
servo1.write(pos);
delay(50);}
}
}
probaj ovo, nemam sad na laptopu arduina pa da testiram kod