Arduino code Servo wird nicht angesteuert?

2 Antworten

Wie schon geschrieben, der servoblau.write(0) gehört nicht in Loop, sondern in Setup.

Die Abfragen da mit "ist größer 0 und kleiner 95" sind total verzichtbar. Du fragst ab auf == 69, und gut ist...

Dann musst Du noch festlegen, wann das Servo wieder zurückdrehen soll.

du hast servo.write(0) im main loop. und kein delay nach dem servo.write(90). das kann nicht funktionieren. der servo wird zurückgesetzt bevor er sich überhaupt bewegen kann... vllt machst du erstmal nen Grundkurs, bevor du dir code zusammen kopierst ;)

pack ein delay hinter servo.write(90) von bspw. 5000ms oder nimm servo.write(0) aus dem main loop und packs in die setup funktion wo es hingehört.

Woher ich das weiß:Berufserfahrung – Backend Developer

Ian38 
Beitragsersteller
 27.09.2024, 13:28

Das mit dem delay hab ich auch schon versucht aber das servo.write 0 ins setup muss wusste ich nicht vielen dank. (die codes sind aus dem funduino erklärheftchen hab versucht die zusammenzufügen)

Ginpanse  27.09.2024, 13:44
@Ian38

Deswegen empfehle ich einen Grundlagen-Kurs, damit du auch verstehst, was die einzelnen Befehle machen. der main loop wird permanent immer wieder wiederholt. servo.write(0) setzt deinen servo auf 0. danach fragst du ab ob ein entsprechender code vom ir decoder empfangen wird und setzt dann den servo mit servo.write(90) auf 90 grad. aber direkt danach startet dein main loop wieder von vorne und servo.write(0) setzt ihn auf 0. Das geht extrem schnell, so schnell kann sich kein Servo der Welt bewegen. die setup funktion wird nur einmal ausgeführt beim Start des Microcontrollers. Deswegen macht es Sinn, servo.write(0) da rein zu packen, damit er nur einmalig am Programmstart auf 0 gesetzt wird.

Ian38 
Beitragsersteller
 27.09.2024, 13:49
@Ginpanse

Perfekt vielen Dank hab den code angepasst und jetzt gehts. 😁