Servo im Programm über einen Taster betätigen
|
08.12.2020, 09:20
(Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2020 11:23 von CB2311.)
Beitrag #1
|
|||
|
|||
Servo im Programm über einen Taster betätigen
Guten Morgen zusammen.
Ich bräuchte mal euer Wissen . Bin absoluter Anfänger und beiße mir gerade die Zähne aus . Ich habe einen fertigen Sketch in dem ein Servo nach einer Spiel Reihenfolge kurz angesteuert wird . Ich möchte den Servo aber separat noch über einen Taster oder reedkontakt ansteuern können. Vielleicht könnt ihr mir helfen Code: #include <Servo.h> |
|||
08.12.2020, 09:48
Beitrag #2
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
Stelle Deinen Sketch bitte in Codetags.
Wie das geht, steht hier. Das kannst Du auch noch nachträglich ändern. Bitte formatiere ihn auch ordentlich (<Strg>+T in der IDE hilft Dir dabei) Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
08.12.2020, 10:37
Beitrag #3
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
Und evtl. könntest du dein Problem etwas genauer beschreiben.
Weißt du nicht, wie ein taster abgefragt wird ? Oder findest du nicht die genaue Position, wo die Abfrage statt finden muss ? Du könntest es etwas spezifizieren, wenn du deine Versuche uns mitteilst. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
08.12.2020, 11:32
Beitrag #4
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
So hab den Sketch jetzt in Codetags gestellt.
Der Sketch ist ein Spiel in dem man verschiedenen Farben nach vorgabe drücken muss. Wenn das spiel gewonnen ist ( 13 Richtige wiederholungen ) wird ein Winner Sound abgespielt und ein Servo aktiviert . Dieser Servo öffnet eine kleine klappe. Ich möchte mit einen Reedkontakt und einen magnetten den Servo ansteuern wie beim gewinnen , möchte für wartungsarbeiten die klappe öffnen können ohne das spiel zu spielen. Habe schon einiges versucht aber egal wie ich es anstelle fährt der Servo ständig oder er wird garnicht angesteuert. Einen Taster zu Programmieren bekomme ich schon hin aber ihn so in die vorhandene Programmierung einzufügen das er nur den Servo kurz auf und zu fährt gelingt mir leider nicht . Gruss Carsten |
|||
08.12.2020, 12:32
(Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2020 12:33 von Tommy56.)
Beitrag #5
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
Durch Deine Schleifen und das delay(1000) blockierst Du Dir die Abläufe. Dadurch kann der Taster nicht zu jeder Zeit erkannt werden.
Schau Dir nochmal BlinkWithoutDelay in der IDE ab, wie das richtig funktioniert. Soll der Wartungstaster ein extra Taster sein? Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
08.12.2020, 12:53
Beitrag #6
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
Bedingt durch die zahlreichen Schleifen im Sketch ist es tatsächlich nicht ganz trivial. Solltest du das nicht ändern können, dann versuche einfach am Anfang der Loop() die Tasterabfrage einzubinden. Dann wenn der Taster gedrückt wird, den Servo entsprechend deinen Vorgaben zu bewegen.
Du solltest allerdings während dieser Aktion verhindern, dass er in der loop weiter läuft, damit nur die Funktion manuelle Servosteuerung aktiv ist. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
08.12.2020, 17:02
Beitrag #7
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
Ja es soll ein extra Taster sein .
Ich hatte es am Anfang von Loop schon mal versucht , aber da war es so das halt der Servo durch weg auf und zu gemacht hat . Und an anderer Stelle hat der Taster überhaupt nicht reagiert. Schon mal vielen Dank für eure Antworten! Bin schon seit Tagen am ausprobieren wie ich es hinbekomme . Aber komme da leider zu keiner Lösung . Ich schaue mir mal BlinkwhithoutDelay an . Habe den Sketch leider nicht selber geschrieben |
|||
08.12.2020, 17:13
(Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2020 17:15 von Tommy56.)
Beitrag #8
|
|||
|
|||
RE: Servo im Programm über einen Taster betätigen
(08.12.2020 17:02)CB2311 schrieb: Habe den Sketch leider nicht selber geschriebenUm einen fremden Code zu ändern, muss man ihn verstanden haben und der Code ist nicht sehr gut verstandlich. Deshalb würde ich Dir empfehlen, von vorn anzufangen und erst mal die Grundfunktionalitäten zu schreiben und auszutesten. a) Tastereingabe mit entprellen b) Servo auf, Servo zu c) Wartungstaster mit Funktion Das alles ohne eigene Schleifen! Du hast doch loop. Wenn Du das hast, fannst Du die Spielfunktionalität hinzu bauen. Evtl. Kannst Du Dir auch mal die MoBaTools anschauen, die bieten Einiges Deiner Grundfunktionen. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste