servo ovládané senzorem s použitím millis
Napsal: 02 led 2025, 17:59
				
				Ahoj všem.Už několik dní se snažím ovládat servo po spuštění tlačítkem,při zapnutí doleva,při vypnutí doprava,ale bez použití delay,takže millis,protože chci do budoucna ovládat i jiné věcí.
Jde mi hlavně o to aby se pohybovalo mnou určenou rychlostí,což nemůžu docílit.Funguje mi to pouze když podržím tlačítko a resetartuji Arduino.Prosím tedy o radu,snad jsem to vysvětlil srozumitelně
 
Zde je kod:
			Jde mi hlavně o to aby se pohybovalo mnou určenou rychlostí,což nemůžu docílit.Funguje mi to pouze když podržím tlačítko a resetartuji Arduino.Prosím tedy o radu,snad jsem to vysvětlil srozumitelně
Zde je kod:
Kód: Vybrat vše
# include <Servo.h>
Servo myservo;
unsigned long MOVING_TIME = 1500;
unsigned long moveStartTime;
const int cidlo1 = 13;
int startAngle = 0;
int stopAngle  = 40;
void setup() {
  myservo.attach(9); 
}
void loop() {  
if (digitalRead(cidlo1) == LOW) { 
unsigned long progress = millis()-  moveStartTime;
  if (progress <= MOVING_TIME) {
    long angle = map(progress, 0, MOVING_TIME, stopAngle, startAngle);
    myservo.write(angle);   
  }
 }
 else {
unsigned long progress = millis()-  moveStartTime; 
  if (progress <= MOVING_TIME) {
    long angle = map(progress, 0, MOVING_TIME, startAngle, stopAngle);
    myservo.write(angle);   
  }
 }  
}