Forum: Mikrocontroller und Digitale Elektronik Arduino für Hau den Lukas


von Thomas G. (thomas_g928)


Lesenswert?

Hallo Zusammen

wir bauen gerade einen "Hau den Lukas". Ein Schlitten fährt nach dem 
Schlag in die Höhe. In der Schiene sind 5 Sensoren (TCRT5000) verbaut. 
Bei dem Sensor ist ein Relais dahinter, der dann geschalten werden soll 
wenn der Sensor auslöst.

Wie können wir es machen dass der Arduino beim ersten Sensor "startet" 
und dann schaut noch noch weitere Sensoren erreicht werden und dann 
dementsprechend die Relais schaltet?

wir stehen gerade ein bisschen auf der Leitung :)
haben keine Richtigen Ansatz wie das gehen könnte, könnte uns jemand 
weiterhelfen?

Gruß
Thomas

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Thomas G. schrieb:
> Wie können wir es machen dass der Arduino beim ersten Sensor "startet"
> und dann schaut noch noch weitere Sensoren erreicht werden und dann
> dementsprechend die Relais schaltet?

Endliche Automaten bauen!

Übrigens 2 Sensoren, in geringem Abstand reichen um die Geschwindigkeit 
des Schlittens zu messen.
Mit der Geschwindigkeit kann man die Höhe ermitteln, denn die 
Gravitation ist recht genau/stabil.

: Bearbeitet durch User
von Xanthippos (xanthippos)


Lesenswert?

Sind die Sensoren voneinander unabhängig? Jeder Sensor schaltet sein 
Relais?

Und wann sollen die Relais wieder ausgeschaltet werden? Nach einer 
Sekunde? Wenn der Schlitten wieder unten ist? Wenn jemand den 
Start-Knopf drückt?

Am einfachsten, ihr teilt das Problem in drei Schritte auf.

Zuerst den Sensor an den Arduino anschließen und mit Serial.print() 
testen, ob es funktioniert.

Dann ein Relais anschließen und schauen, ob ein Sensor ein Relais 
schaltet.

Erst danach einen Endlichen Automaten für den ganzen Ablauf schreiben.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas G. schrieb:
> In der Schiene sind 5 Sensoren (TCRT5000) verbaut.
Dir ist schon klar, dass diese Billigdinger je nach Sonneneinstrahlung 
mal funktionieren werden und mal nicht. Falls nein: einfach mal merken, 
falls da Probleme aufkommen und der Lukas mal geht und mal nicht.

Arduino F. schrieb:
> Mit der Geschwindigkeit kann man die Höhe ermitteln
Auf jeden Fall genauer als mit 5 diskreten Lichtschranken. Man muss nur 
die Zeit zwischen den beiden Punkten zuverlässig und hinreichend genau 
erfassen.

Thomas G. schrieb:
> Wie können wir es machen dass der Arduino beim ersten Sensor "startet"
Wie meinst du das mit "starten"? Dass er vorher stromlos ist? Oder dass 
er schon vorher läuft und drauf wartet, dass es losgeht?

Thomas G. schrieb:
> Bei dem Sensor ist ein Relais dahinter, der dann geschalten werden soll
> wenn der Sensor auslöst.
Und wann soll das Relais wieder ausgeschalte**t** (*nicht **en**) 
werden?

*siehe dazu
- https://de.wiktionary.org/wiki/Flexion:schalten

: Bearbeitet durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Thomas G. schrieb:
> Wie können wir es machen dass der Arduino beim ersten Sensor "startet"
> und dann schaut noch noch weitere Sensoren erreicht werden und dann
> dementsprechend die Relais schaltet?

Jetzt sollte man programmieren können oder?

: Bearbeitet durch User
von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Cyblord -. schrieb:
> Jetzt sollte man programmiere können oder?

Vielleicht erst Bildchen malen.
Schaltpläne, Ablaufpläne.

Wenn man die korrekt hinbekommen hat, ist das Programmieren nur noch wie 
"Malen nach Zahlen".
Also die geringste Hürde.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Xanthippos schrieb:
> Am einfachsten, ihr teilt das Problem in drei Schritte auf.
Das ist die richtige Vorgehensweise: Teile und herrsche.

Und das können ruhig noch mehr als 3 Schritte sein. Denn zuallererst 
muss ja jede Lichtschrenke
1. bei jeder Umgebungshelligkeit sicher funktionieren, und dann
2. vom Arduino sicher erkannt werden

Den Punkt 1. würde ich allem voran mit einem Oszilloskop prüfen. Dort 
kann man dann auch die Impulsform und Impulsdauer leicht erkennen und 
abschätzen, wie schnell man das auswerten muss.

Und bei 2. geht es sicher um wenige ms, da darf man nicht unnötig 
Rechenzeit im Programm verplempern.

Dort rechnet einer eine vo von mindestens 8,86m/s und somit 8,86mm pro 
ms aus:
- 
https://www.nanolounge.de/18944/ermitteln-der-schlagkraft-und-geschwindigkeit-beim-lukas

: Bearbeitet durch Moderator
von Michael B. (laberkopp)


Lesenswert?

Thomas G. schrieb:
> Bei dem Sensor ist ein Relais dahinter, der dann geschalten werden soll
> wenn der Sensor auslöst.

Ja, mach das doch.

Sensor -> Relsis.

Thomas G. schrieb:
> Wie können wir es machen dass der Arduino

Was soll da ein Arduino ? Zu Weihnachten bekommen und weisst nun nicht 
wozu du ihn gebrauchen sollst ?

von Max B. (citgo)


Lesenswert?

Ihr könnt doch einfach eine Variable hochzählen pro ausgelöstem Sensor.
Verstehe die Frage nicht so ganz.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Max B. schrieb:
> Verstehe die Frage nicht so ganz.

Ich übersetze dir das mal:
Du sollst "die Maschine" konstruieren, den Schaltplan malen, die Platine 
löten, und das Programm schreiben.

von Björn W. (bwieck)


Lesenswert?

Diese Sensoren werden das größte Problem werden. Ich würde da 
Hallsensoren oder Reedkontakte nehmen und einen kleinen Neodym-Magnet 
auf den Schlitten kleben.

Edit: besser Hallsensoren, ist ja son Apparat wo kräftig mit nem Hammer 
draufgekloppt wird...

: Bearbeitet durch User
von Paul B. (paule201)


Angehängte Dateien:

Lesenswert?

Du willst nur das 1-5 Lampen an gehen und an bleiben wenn das Gewicht 
daran vorbeirauscht? Keine Geschwindigkeitsberechnung oder ähnliche 
Spielerein?
Muss es denn ein Arduino sein?

Sonst nimm 5 der TCRT5000, schalte an jeden Ausgang ein RS Flipflop (der 
Ausgang der Lichtschranke kommt an den S Eingang), dessen Ausgang dann 
einen MOSFET schaltet. Sobald das Gewicht vorbei marschiert schaltet das 
FlipFlop und aktiviert die Lampe. Alle Lampen löschen kannst du dann mit 
einem Taster, der am R Eingang aller FlipFlops hängt. Einmal drücken, 
alles wieder aus.
Eventuell musst du das Signal aus den TCRT5000 noch mal invertieren, 
keine Ahnung was die im ausgelösten Zustand für Pegel haben.

von Steve van de Grens (roehrmond)


Lesenswert?

Ich würde die Relais in Selbsthalte-Schaltung benutzen. Also ganz ohne 
Mikrocontroller.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Steve van de Grens schrieb:
> Also ganz ohne
> Mikrocontroller.

Das ist offensichtlich eine Schulaufgabe.
Von daher gibts da wohl keine Wahl-

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.