Hallo Leute,
ich habe ein Schulprojekt am Laufen, in dem ich ein Haus bauen soll mit einem microservo, einem Stepmotor und einem Ultraschallsensor. Der Ultraschallsensor steht vor dem Haus und sobald ich meine Hand hinhalte soll die Tür sich öffnen (Microservo) und der Tisch soll anfangen sich zu drehen (Stepmotor) (in eine Richtung und das ohne stopp). Der Tisch soll sich 1minute lang drehen und dann soll es aufhören sich zu drehen und die Tür schließt sich wieder. Nun zu meiner Frage. Der Ultraschallsensor und der microservo funktionieren, aber sobald ich den Stepmotor in mein Code mit reinschreibe funktionier mein microservo nicht mehr... Vergesse ich da etwas? Ich danke jetzt schon für eure Antworten.
Wenn mehrere Sachen gleichzeitig ablaufen sollen, kannst du nicht delay(6000); verwenden.
Bei BlinkWithoutDelay geht es nicht um "Blink", sondern um "WithoutDelay".
Für mehr Details sind die Tips von @my_xy_projekt natürlich sehr sinnvoll.
Und warum du es nicht hinbekommst, "den Schrittmotor mit einzubauen", könnest du auch genauer beschreiben...
pulseIn() blockiert den Arduino gleich wie delay()
In der Meßzeit kannst Du keine anderen Aktionen machen.
Du mußt die Länge des Impulses der Ultraschallsensors auf eine andere weise messen.
Muß es ein Ultraschallsensor sein? Könnte es auch ein Infrarotabstanssensor sein?
Wenn sich die Platte durchgehend drehen soll, warum dann einen Schrittmotor? Da ist dann doch ein einfacher Getriebemotor besser. Der dreht sich von alleine. Den müsste man dann nur gegebenenfalls ein- oder ausschalten.
Wenn es denn unbedingt ein Schrittmotor sein muss, dann ist die Stepper.h eher nicht geeignet, da sie den Sketch anhält während sie die Steps an den Motor ausgibt. Du könntest die MobaTools verwenden, die können den Stepper ohne Blockade ansteuern, und bei denen stört es auch nicht, wenn der Sketch durch anderes ( z.B. delay oder pulsIn ) blockiert wird.
P.S. Das Servo könntest Du auch mit den MobaTools ansteuern, Dann könntest Du auch einstellen, wie schnell die Tür aufgeht, und sie würde nicht gleich 'auffliegen'
Unser Lehrer hat uns fest vorgegeben, dass ich diese drei Sachen benutzen soll. Leider kenne ich mich in dem Thema nicht so gut aus. Was genau müsste ich nun in dem Programm ändern?
Danke für die Antworten
Dürft ihr dann überhaupt auch Libraries verwenden, oder sollt ihr alles selbst programieren? Ein bisschen genauer solltest Du wirklich sagen, was Du letztendlich machen musst.
Wir sollen ein Haus bauen. Ich hatte vor vor dem Haus ein Ultraschallsensor hinzustellen und sobald ich meine Hand hinhalte, soll ein Servomotor die Tür des Hauses öffnen. In dem Haus steht ein Tisch, dessen Tischplatte sich durchgehend um 180grad drehen soll, das würde ich mit dem Steppermotor machen. Der Lehrer hat uns gesagt wir sollen diese drei Sachen auf jeden Fall miteinbauen. War das verständlich?
Ne. Nicht verständlich.
Der Tisch dreht sich drinnen auch (durchgehend), wenn keiner der Meinung ist reinzukommen? Nur um 180° - dann wieder zurück und wieder von vorn?
PAP? Sobald ich meine Hand an den Ultraschallsensor halte geht die Tür auf. Der Tisch fängt sich an zu drehen nur in eine Richtung ohne Stopp oder ähnliches. Das ganze soll 1minute lang gehen und dann soll sich die Tür von selber wieder schließen und der Tisch soll aufhören sich zu drehen.
Kein Code (!CODE!) kein Foto vom Aufbau.
Was soll man Dir helfen?
Nochmal: Deinen Code bitte MIT(!) dem nicht funktionierenden Teil hier richtig als code rein. Mit einer Beschreibung ab wann es nicht mehr geht.
Gerne auch als Kommentar im Code.
Ein Bild sagt manchmal auch mehr als tausende Worte.
ICH und vermutlich auch viele andere können nicht sehen, was Du da hast!
Dir ist schon bewußt daß Du in jeder Antwort etwas neues oder genaueres schreibst. Wieso kannst Du das nicht am Anfang schreiben sodaß wir nicht frustriert sind weil immer wieder neues auftaucht?
Tut mir Leid, bin heute etwas verpeilt. Habe den Code jetzt so eingestellt, wie es beschrieben wurde. Nun also zu meinem Problem. Mein Programm klappt eigentlich, nur sobald ich den Stepmotor dazuschreibe, funktioniert mein servomotor nicht mehr. ich weiß nicht genau, wie ich den Stepmotor in mein Programm schreiben soll. So wie ich es gemacht habe ist es ja anscheinend falsch...