• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Arduino Programmierung

OP
R

Ranger

Geocacher
Als praktischen Typ fuer den TO:
void setup()
{
servo.attach(12); // attaches the servo to pin 10
ServoClose(); // closes the servo when you say this function

muss zu

void setup()
{
servo.attach(12); // attaches the servo to pin 12
servo.write(120);

werden.
Das ist die Lösung, vielen vielen Dank !!!

Hallo zusammen,

vielen Dank das ihr mich so gut unterstützt, mit Elektronik und Programmierung hab ich leider noch nicht viel ahnung bin da noch ganz am Anfang aber ich geb mir Mühe will das auch lernen, für mich war das schon ein Erfolgserlebniss das ich so weit gekommen bin.
Wärend unserem Urlaub im Norden Deutschlands haben wir einen Cache gespielt bei dem wohl genau der Code zum Einsatz kam da hat sich die Türe nach dem Anschließen der Powerbank gleich geöffnet ohne ein Rätsel zu lösen...

Nachmal vielen Dank für eure Hilfbereitschaft
Gruß
Tobias
 

Ich_bin_es_nur

Geomaster
Hallo Ranger, dann schreibe doch bitte hier mal hin, um welche Dose es sich im Norden handelt. Dann kann man den Owner nämlich anschreiben und ihn auf die Problematik hinweisen( es sei denn, das hast du schon gemacht).
 

Simonklettern

Geonewbie
Moin in die Runde. Ich programmiere gerade meinen Geocache Simon Says und wollte mal fragen, wie ich einen Servo in meinen Schaltkreis einbauen kann, wenn das Spiel zu Ende ist. Wie hier beschrieben, hatte schon jemand anderes den gleichen Code benutzt, wie ich ihn für mein Spiel verwende. Meine Schaltkreis besteht aus einem Arduino Uno und dem typischen vier kleinen Tastern, vier Lichtern und ein paar Kabeln und einem 270 Punkte Breadboard.
Mein Spiel funktioniert aktuell auch, aber leider ohne Servo.

https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-16-simon-says

Von dieser Website habe ich meinen Code, und dieser sollte mit dem zuvor beschriebenen Code in der Datei von “Ranger” identisch sein. Vielleicht gibt es ja einen schlauen Programmierer unter euch, der mir sagen kann, wie ich das anstellen kann!

Ich würde mich mega über Hilfe freuen, da ich ein bisschen auf dem Schlauch stehe.
 

schatzi-s

Geowizard
Mein Vorschlag: Informiere Dich ueber Deinen Arduino, programmiere ihn selbst und spiele nicht einfache ein Sketch ein, den Du ueberhaupt nicht verstehst, um dann Andere zu bitten, ihn fuer Dich anzupassen.
.
Fange mit dem Blink Sketch an und arbeite Dich zur Servoansteuerung vor.

Wenn Du dann auch noch ein wenig Englisch kannst, wirst Du hoffentlich selber sehen, wo Du den Code fuer den Servo einfuegen musst.

Helfen kann dabei z. B. die Seite

https://funduino.de/

Wenn Du das gemacht bist und dann noch Fragen hast, sag Bescheid.
 

Ich_bin_es_nur

Geomaster
Du hast auf der Seite doch alles was du benötigst. Du nimmst den Code vom Beispiel 8 (Driving a Servo) und baust ihn in deinem Programm mit ein.
Konkret den Bereich Void Loop aus dem ServoCode bei dir unter void play_winner(void). Die Servobewegungen musst du deinem Bedürfnissen anpassen.
Die Verkabelung muss natürlich passen und die Pins im Code musst du eventuell anpassen. Den Aufruf der Servo.h nicht vergessen
 

Johannis10

Geocacher
Servus Simonklettern,
Ganz herzlichen Dank, dass du dich für ansprechende Caches interessierts und engagierst. Man wächst mit den Aufgaben. Wenn du ein schlauer Programmierer wie schatzi-s werden willst, befolge seine Ratschläge.

Wenn du im Schul-, Rentner- oder Freizeitstress stehst und auf die schnelle einen Lösungsansatz benötigst, ohne Garantie auf Fehlerfreiheit, lies hier weiter:

Servobeispielcode: https://funduino.de/nr-12-servo-ansteuern

Dort gibt es ein Beispiel wie man einen Servo grundsätzlich ansteuern kann.

Verdrahtung:

Der Servo benötigt eine Versorgungsspannung und einen Steuerleitungsanschluss (Pin für die PWM). Im verlinkten Servobeispielcode ist das Pin 8. Dieser Pin ist bei dir auch noch frei, so dass du den gleichen Pin verwenden kannst.

Zeile 1 und 4
im Servobeispielcode würde ich ganz am Anfang deines Programms einfügen. In Zeile 1
wir die Servobibliothek eingebunden und danach in Zeile 4 ein Servo-Objekt angelegt.

Zeile 12 gehört auch bei dir ins setup ( Zuordnung Steuerleitung/Pin)

Zeile 22 - 36 Deine Servobewegungen gehören dort hin wo sich das Servo bewegen soll
z.B. direkt nach der Zeile „play_winner(); // Player won, play winner tones”
in deinem Programm. Zeile 22- 36 kannst du so abändern wie du die Servobewegungen haben möchtest.
Bedenke, dass der Servo immer eine gewisse Zeit braucht bis er dir gewünschte Position erreicht hat.
Deshalb solltest du die delays nach den Steuerbefehlen nicht zu kurz wählen, bevor der nächste Steuerbefehl kommt.

Falls noch Fragen sind gerne Melden. Viel Erfolg bei deinem Projekt
Grüssle Johannis10
 

schatzi-s

Geowizard
Und noch ein praktischer Tipp zur Mechanik:

Es gibt grundsaetzlich zwei Alternativen: Die erste die Einem einfaellt, dass der Servo einfach eine Klappe oeffnet, ist zwar einfach zu bauen, aber aus zwei Gruenden eher suboptimal, denn erstens bietet ein Servo normalerweise wenig Widerstand. Der eilige Cacher wird die Kiste aufhebeln und zweitens: nach welcher Zeit willst Du die Klappe wieder schliessen?!
Besser ist es, wenn der Servo eine Sperre oeffnet. Dazu gibt es u. A. hier im Forum super Beispiele.

Wenn Du aus irgendwelchen Gruenden am Ende Elektronik rund Mechanik doch trennen moechtest, kannst du auch etwas mit einem Zahlenschloss verschliessen und
"z.B. direkt nach der Zeile „play_winner(); // Player won, play winner tones” "
die LEDs so blinken lassen (z. B. abzaehlen, wobei jede Farbe eine Ziffer darstellt), dass der Cacher den Code fuer das Schloss erhaelt. Das ist quasi eine erweiterte Form des Blink-Sketches, dem "Hallo Welt" des Arduino, also des standardmaessig erstem Programmierbeispiels.


Nebenbei: Ich bin ein grosser Freund von Gadget-Cachen und freue mich immer, wenn jemand diese baut. Trotzdem finde ich, dass man mit den Grundlagen anfangen sollte. Ich programmiere (eher weniger schlau), schon recht lange und habe beim Arduino trotzdem mit dem oben erwaehnten Blink Beispiel angefangen. Als ich das Programm verstanden hatte, habe ich den Sketch so angepasst, dass die LED gemorst hat, woraus dann am Ende mein erster elektronischer Cache entstanden ist:
https://www.geocaching.com/geocache/GC5KZMT_cc-unbox-the-box-mr-vain

Der Arduino macht den Einstieg so einfach, dass ich es einfach schade finde, dass es immer wieder ambitionierte Leute gibt, die ohne die Basics zu verstehen, gleich mit "grossen" Projekten anfangen und dann bei kleinen Problemen nicht weiterkommen, bzw. am Ende scheitern. Das schafft unnoetigen Frust.
 

Simonklettern

Geonewbie
Vielen Dank für alle netten Antworten. Ich setze mich gleich mal dran und probiere, den Code hinzubekommen. Da ich den Geocache vor einiger Zeit selbst gefunden habe und ihn sehr cool fand, dachte ich mir, ich würde ihn gerne nachbauen. Ich habe dementsprechend dann irgendwann das Thema Arduino und Co. gefunden, was dazu verwendet wird, um eine solche Art von Geocache zu bauen. Leider habe ich nicht genügend Zeit und Geduld aktuell, um mich in das ganze Thema einzufuchsen. Deshalb bin ich froh, dass ich echt nette Antworten bekommen habe, die mir hoffentlich weiterhelfen werden.
Ich werde in Zukunft mich bestimmt noch mal intensiver mit dem Thema befassen und mir noch mal mehr Tutorials und Co angucken um mich ein bisschen weiterzubilden.

Danke an dieser Stelle für die netten Antworten.
 

Johannis10

Geocacher
Mit expliziter Erlaubnis des Owners, hoffe ich?
Ob der Owner vorher auch alle Owner mit Simon Says Caches gefragt hat.;)
Sicher gibt es Umstände, wo vorher fragen Sinn macht. Falls die Caches nahe beieinander liegen, würde ich jedoch sowieso die Sache so modifizieren, dass man einen neuen Erlebniswert anbietet. So könnte man z.B. statt den 4 LED's jeweils Servos ansteuern welche Figuren bewegen. Hatte auch mal einen Cache mit anderen zusammen gebaut, wo Adventssterne in einem Diorama als Simon Says Spiel hinter einem Schaufenster aufgeleuchtet haben. Mit etwas Fantasie gibt es sicher unzählige nette Möglichkeiten statt einen 1:1 Nachbau.
Grüßle Johannis10
 

schatzi-s

Geowizard
Ich wuerde mich ueber ein Feedback freuen, ob und wie dieses Projekt weitergeht.

Ich habe diverse Elektronik-Caches fuer mich persoenlich nachgebaut (besonders erwaehnt seien hier die Dosen vom Marsbotschafter (viele Gruesse und herzlichen Dank an dieser Stelle)). Es blieb aber immer bei Prototypen, denn mal eben etwas auf dem Steckbrett zusammen zu stecken und quick und dirty etwas zu programmieren ist das Eine. Einen Cache zu bauen, der Wetter und Cacher standhaelt, ist dann noch einmal eine ganz andere Nummer ...

Sollte jemand Lust haben, einen Arduino-, bzw. Mikrocontrollergestuetzten Cache zu bauen und es "nur" an der Elektronik und dem Programm fehlt, kann er sich gerne bei mir melden.
 
Zuletzt bearbeitet:

Ich_bin_es_nur

Geomaster
Da sehe ich gar kein Problem, solange du keine wirkliche Kopie von deren Spiel baust. Sobald die Blinkfolge nur etwas anders läuft, oder die Erfolgsmelodie eine andere ist, bist du eigentlich raus aus dem Copyright. Davon leben doch die ganzen Chinesen, die ihre Kopien immer etwas abwandeln.
 

schatzi-s

Geowizard
Leben die von der Abwandlung oder weil sie weit weg sind und niemand sie bestraft?! Kinder, die die "Weihnachtsbaeckerei" singen, wandeln die Noten auch ab ;-) und sollen trotzdem Gema bezahlen ...
Aber wir schweifen ab ;-)
 

Johannis10

Geocacher
Meine Schaltkreis besteht aus einem Arduino Uno und dem typischen vier kleinen Tastern, vier Lichtern und ein paar Kabeln und einem 270 Punkte Breadboard.
Hallo Simonkettern,
Glückwunsch zur funktionierenden Schaltung (besten Dank für die freundliche Rückmeldung per PN).
Gehe mal davon aus, dass das Breadbord nur zum Testaufbau dient und nicht beim Cache eingesetzt werden soll.
Falls du Interesse hast, deine Hardware gegebenenfalls zu optimieren kannst du dich gerne melden.
Grüßle Johannis10
 

Simonklettern

Geonewbie
Ja genau das Bradboard werde ich nicht in meinem Geocache einbauen, da es etwas zu fragil ist und die Pins sehr schnell sich lösen würden. Ich werde die die nächsten tage/Wochen für das Basteln dieses Geocaches verwenden. Ich kann ja wenn ich fertig bin eventuell mal das fertige Ergebnis zeigen😉.
Noch mal danke an alle für die Hilfe und ganz besonderen Dank an Johannes10 für die Hilfe per PN.
 

schatzi-s

Geowizard
Bei einem Cache sollte unbedingt alles geloetet werden. Steckverbindungen loesen sich nicht nur, sie korrodieren auch.
Es gibt hier uebrigens auch einen Thread zum Thema: Witterungsfest machen von Schaltungen.
 
Oben