Ultraschallsensor HC-SR04 für Dartprojekt

Hallo an alle,
in Sachen Arduino bin ich eigentlich ein völliger Noob :o trotzdem hoffe ich, dass es unter euch jemanden gibt, der mir helfen kann.

Ich habe mir einen Dartautomaten selbst gebaut welcher mit einem Arduino gesteuert wird, was auch soweit super funktioniert. Ich habe es auch bereits geschafft einen Fehlwurfsensor zum laufen zu kriegen mit Anleitung der Software aus dem Internet.

Jetzt kommen wir zu meinem neuen Projekt:

Ich möchte den im Topic genannten Sensor am Automaten installieren, damit man einen automatischen Spielerwechsel hat.

Der Sensor müsste also erkennen wenn jemand den Bereich des Sensors betritt und ein Signal senden, wenn diese Person den Bereich des Sensors wieder verlässt. Es geht also um kein Dauersignal sondern nur ein Signal was 500ms anliegt.

Da ich selbst kein programmierer bin, hoffe ich das mir jemand helfen kann.

dart26:
Ich habe mir einen Dartautomaten selbst gebaut welcher mit einem Arduino gesteuert wird, was auch soweit super funktioniert. Ich habe es auch bereits geschafft einen Fehlwurfsensor zum laufen zu kriegen mit Anleitung der Software aus dem Internet.

Da ich selbst kein programmierer bin, hoffe ich das mir jemand helfen kann.

Zwischen den beiden Aussagen besteht für mich anscheinend ein Widerspruch.

Gruß Tommy

Die Software für den Automaten gibt es fertig und man muss sie nur in den Arduino reinladen, also habe ich sie nicht selber geschrieben und kenne mich deshalb nicht damit aus :sweat_smile:

Und in diese, für uns unbekannte Software, soll Dir da jemand etwas reinbauen? Wie sehen denn da die Lizenzrechte aus?

Gruß Tommy

Die Software basiert auf der von PyDarts. Eine OpenSource Software, was bedeuted das meiner Meinung nach man hier keine Lizenrechtlichen bedenken haben muss.

Wenn du jedoch, hier im Forum unterwegs bist, um nicht bei einem Problem zu helfen, sondern mit unsinnigen nicht zum Thema gehörenden Kommentaren posts zu sammeln, um deinen Rang hier im Forum zu erhöhen, kannst du das gerne bei einem anderen Thema machen.

Denn ich denke es gibt auch Leute hier, die einem bei einem Problem helfen können und nicht nur da sind um posts zu sammeln.

Du hast eine komische Art, Leute davon abzuhalten, Dir zu helfen. Aber wenn Du meinst, dass Du das brauchst, ...

Woher sollen wir wissen, welche Software Du einsetzt, wenn Du das geheim hälst?

Viel Spaß noch, ich bin aus Deinen Themen raus.

Gruß Tommy

Weist du es bringt doch nichts, wenn ich sage welche Software läuft…

https://sourceforge.net/p/pydarts/discussion/general/

Es geht doch lediglich um die Frage wie ich das mit dem arduino umsetzen kann das er erkennt wenn jemand in den bereich des sensors läuft und diesen wieder verlässt.

Ich bin hier auch nicht um wen zu beleidigen oder ähnliches, aber mich regt es auf wenn jemand nicht zur Lösung beiträgt.

dart26: Wenn du jedoch, hier im Forum unterwegs bist, um nicht bei einem Problem zu helfen, sondern mit unsinnigen nicht zum Thema gehörenden Kommentaren posts zu sammeln, um deinen Rang hier im Forum zu erhöhen, kannst du das gerne bei einem anderen Thema machen.

Denn ich denke es gibt auch Leute hier, die einem bei einem Problem helfen können und nicht nur da sind um posts zu sammeln.

Dafür, dass du hier neu im Forum bist, ist deine Aussage ziemlich abfällig um nicht zu sagen, fast schon beleidigend. Oder gehst du davon aus, wenn du hier Fragen stellst, musst du zwingend eine Antwort darauf haben, ohne dass Gegenfragen kommen ? Da bist du total schief gewickelt.

Mit deiner Art, wie du dich hier aufstellst, wird eine Hilfe schwierig.

Es fällt keinerlei Beleidigung in meinem Post. Nur was hat die Gegenfrage mit dem Problem zu tun?

Ich werde ständig angegriffen und habe daraufhin nur auch mal meine Meinung dazu gesagt. Und nur weil man neu in einem Forum ist braucht man ja jemanden nicht direkt so zu behandeln oder?

dart26: Ich werde ständig angegriffen und habe daraufhin nur auch mal meine Meinung dazu gesagt. Und nur weil man neu in einem Forum ist braucht man ja jemanden nicht direkt so zu behandeln oder?

Wenn du an anderer Stelle ständig angegriffen wirst, solltest du mal hinterfragen, woran das wohl liegt.

Und was verstehst du unter "behandeln" wenn dir eine Frage gestellt wird ? Du scheinst sehr empfindlich zu sein,, oder sollte ich mich da täuschen ?

Sorry für meine erneuten Fragen.

Als erstes werde ich hingestellt als will ich andere die Arbeit machen lassen, für was was ich kann...

Tommy56: Zwischen den beiden Aussagen besteht für mich anscheinend ein Widerspruch.

Gruß Tommy

Als nächstes werde ich angemacht wegen Lizenzrechten...

Tommy56: Und in diese, für uns unbekannte Software, soll Dir da jemand etwas reinbauen? Wie sehen denn da die Lizenzrechte aus?

Gruß Tommy

Ich werde garantiert nichts illegales abfragen oder ähnliches und ich dachte einfach das das für Profis wie euch vermutlich ein leichtes ist mir zu sagen, wie ich das bei einem arduino umsetzen kann, tut mir leid.

dart26: ..... vermutlich ein leichtes ist mir zu sagen, wie ich das bei einem arduino umsetzen kann, tut mir leid.

Wie kommst du da drauf ? Wir kennen ja nicht mal deinen Sketch.

Wenn du dir die Beispiele zur Library zum US-Sensor ansiehst, kannst du das sicher selber.

So, da Du nun schon von ALLEN angemacht wurdest und wir hier nur den Post-Count hochtreiben wollen ...

  • liest Du eigentlich, was für einen Schmarn Du hier schreibst?
  • auch bei Freeware gibt's Lizenzmodelle, Unwissenheit schützt vor Strafe nicht!
  • haben der Herr nun genug geflennt, oder sollen wir das Thema einfach nur links liegen lassen?

Nicht, daß mir Deine Art sonderlich gefällt und ich mich darum reißen würde, Dir Deine Probleme zu lösen. Wie HotSystems schon schrieb: Wenn Dich ALLE seltsam behandelt, wird's wohl eher an Allen liegen, als an Dir - Blasphemie lässt grüßen:)

MfG

Immer mal wieder ein, wie ich finde, unnötiges Aufschaukeln an / und unzureichender Fragestellung.

Da ich selbst kein DARTS spiele, interessiert mich der Code erstmal nicht. ;)

Zu Deinem Problem: Ich hab mal beim Wikipedia nachgeschaut, weil ich mich daran erinnerte, das der Spieler auf einer definierten Fläche stehen soll. Gut, es ist eine Linie, an die er herantreten kann.... Wieder was gelernt.

Warum willst Du einen (Ultraschall-)Entfernungssensor nehmen? Eigentlich stehen die Spieler doch auf einer begrenzten Fläche. Da würde sich ein Fussmattensensor anbieten...

Wenn Du einen USS nehmen willst, denke daran wie gross der Öffnungswinkel ist. Bei einem SR04 sind das 15° Bei einer Entfernung von 2,5 mtr. hast Du eine Erfassungsbreite von ca. 65 cm an Oche. Aber mit Krümmung...

Wenn Du damit klarkommst: Dein zu schreibender Code muss sich in das bisherige so einfügen, das das bisherige nicht blockiert wird. Der Sensor muss regelmässig abgefragt werden erfasst der Sensor ein Objekt innerhalb der vorgegebenen Zone, setzt er ein Flag mit diesem gesetzten Flag kann weitergearbeitet werden. Ist das Objekt aus der Zone herausgetreten, wird das Flag zurückgesetzt - bis wieder ein Objekt eintritt...

relativ simple. Das mit den 500ms hab ich nur noch nicht verstanden. Ton ausgeben?

Wenn du Fehlwürfe erkennst (und Treffer denke ich sowieso), macht es dann nicht Sinn alle x Würfe (kenne mich mit den Regeln nicht aus) weiterzuschalten zum nächsten Spieler. Wenn du es per Abstandsmessung machst muss nur einer blöd rumhampeln und dann schaltet der Automat weiter.

Wenn du es aber versuchen willst, dann bring doch erstmal den Sensor an sich zum Laufen, dazu gibt es Beispiele im Netz, das muss hier nicht neu erarbeitet werden.

Dann würde ich einen Medianfilter verwenden und dann kannst du vielleicht schon mit einer einfachen if-Abfrage arbeiten, indem du immer dann weiterschaltest, wenn der Abstand deutlich größer als die 2,5m wird, von denen auch geworfen wird. Wenn der Platz also frei gemacht wurde.

bool nextplayer = false;

if(Abstand > 350){
  nextplayer = true;
}

...hier läuft das Programm, welches bei nextplayer = true einen Spieler weiterschaltet...

PS: Als Anfänger kannst du hier Glück und Pech haben. Manchmal fragen Leute genauso blöd wie du und bekommen die Lösung auf dem Silbertablett serviert. Und manchmal gibt's nur auf den Sack und keine Hilfe. Kommt wohl auf die Antwortenden und deren Laune an.

Für die Zukunft: Eigentlich gehört dein Code zu jedem Posting, wenn du konkrete Hilfe möchtest. Es wird erwartet, dass du selbst recherchierst und dich auch selbstständig ins Programmieren einarbeitest. Die meisten verweisen auf die Beispiele in der IDE, ich selbst habe lieber bei Youtube reingeschaut und mir den Kram erklären lassen. Mach ein paar Anfänger-"Projekte" und dann kommt der Rest (fast) von allein.

Mahimus:
PS: Als Anfänger kannst du hier Glück und Pech haben. Manchmal fragen Leute genauso blöd wie du und bekommen die Lösung auf dem Silbertablett serviert. Und manchmal gibt’s nur auf den Sack und keine Hilfe. Kommt wohl auf die Antwortenden und deren Laune an.

Mit solchen Anschuldigungen würde ich an Deiner Stelle vorsichtig sein. Das hat überhaupt nichts mit Laune zu tun.

Es kommt in erster Linie darauf an, wie sich der Fragende verhält. Wenn schon einfache Fragen als persönlicher Angriff gewertet werden, kann man ihm halt nicht helfen, weil das ohne Fragen nunmal schlecht geht.

Gruß Tommy

@my_xy_project Es soll Leute geben, Die treffen nicht Mal den Automaten - dann KANN Dieser gar nicht alle Würfe zählen. Davon ab geht's hier nicht um das Erkennen der Darts, sondern darum, wenn der Wurf beendet wurde (3 erkannte Darts oder Abbruch durch Tastendruck), daß der Automat erkennt, Wann der Spieler mit Seinen Darts den Automat wieder verlassen hat - erst Dann macht's Sinn, daß der Nächste wirft und auch erst dann sollten 'erkannte Treffer' erst wieder als Treffer gewertet werden.

MfG

Erstmal vielen Dank für eure beiden Antworten @my_xy_projekt und @Mahimus.

Also durch meine fehlende Erklärung seid ihr noch etwas auf dem falschen Weg, bzw. wisst noch nicht genau was ich damit meine.

Es geht darum, wenn ein Spieler seine 3 Pfeile geworfen hat, muss er diese ja wieder vom Dartboard holen. Dann drücken wir eine Taste die das Spiel an den nächsten Spieler gibt. Das möchten wir mit dem Sensor der oben am Automaten befestigt ist (wie bei einem Löwendart) automatisch lösen. Der Sensor soll dann erkennen wenn ein Spieler am Dartboard steht und seine Pfeile abholt, dass er dann wenn der Spieler den Sensorbereich verlässt den Tastendruck ersetzt bzw. selber zum nächsten Spieler weiter schaltet.

Also der Sensor soll nicht von der Abwurflinie bzw. bis zur Abwurflinie messen, sondern nur im Bereich vor dem Automaten wenn der Spieler seine Pfeile abholt.

Ich hoffe ich konnte das einigermaßen beschreiben.

postmaster-ino: @my_xy_project Es soll Leute geben, Die treffen nicht Mal den Automaten - dann KANN Dieser gar nicht alle Würfe zählen.

Da kein Spieler, zähle ich ich grundsätzlich dazu. Und bin auch davon ausgegangen. Daher mein Wikipedia-Aufsuch. Wie gesagt - Darts ist nicht mein Sport, ich habs mit Logik versucht. Der OP hat geschrieben:

Ich habe es auch bereits geschafft einen Fehlwurfsensor zum laufen zu kriegen

Damit zählt er für mich alle Würfe.

Von daher war die Aufgabe, das z.B. ein Ereignis "Abbruch nach weniger als 3 Würfen" - (IMHO zulässig z.B. bei Fuchsjagd) oder "Tausch des Spielers im aktuellen Set" (unzulässig) oder sonst ähnliches erkannt werden soll.

Ich würde mich freuen, wenn der OP sich ggfls.nochmal meldet und um Missverständnisse auszuräumen seine Intention darstellt.

Trotzdem bleibe ich dabei, das 15° Öffungswinkel - egal zu welchem Zweck - bezogen auf der Linie zu wenig sein könnten.

dart27: Ich hoffe ich konnte das einigermaßen beschreiben.

Jo. Na dass ist ja nun das geringste Übel.

Abstand messen Wenn unter (50cm) Flag setzen Wenn Flag gesetzt - Spieler wechseln. und warten bis Flag gelöscht ist Wenn über (50cm) Flag löschen Fange an von Vorn.

Alles andere bleibt, wie ich es oben schon beschrub.

Damit ist die Erklärung von postmaster-ino die zielführenste gewesen.

Meine Überlegung wird mit Deiner Aufgabenstellung dann auch erfasst.

Na klappt doch.