• 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

Ranger

Geocacher
Hallo,

Ich bin gerade dabei einen Cache mit dem Simon Says Spiel zu bauen, den ersten hab ich soweit auch schon aufgebaut und es funktioniert super, jetzt zu meinem kleinen Problem, ich hab im Internet einen super Sketch gefunden nur fehlt hier leider der zusatz das ich eine Türe brauche die sich automatisch öffnet.
Hardware mässig auch alles einfach umsetzbar, nur leider weiss ich nicht (ich schaffe es nicht) wo ich das in dem Sketch einfügen muss das sich nach dem erfolgreichen Spiel die Türe öffnet.

Wenn hier in dem Forum jemand ist der sich mit der Arduino Programmierung auskennt und mir helfen würde wäre es sehr hilfreich.

Gruß
Tobias
 

capoaira

Geomaster
Du musst im Sketch den Punkt finden, an dem das Spiel vorbei ist. An der Stelle sagst du dem Servo (ich denke du nutzt auch diesen kleinen blauen 9g Servo), dass er die Tür öffnen soll.
Im Zweifelsfall, wie SammysHP geschrieben hat, einfach den Skretch hier posten und es wird sich jemand finden, der dir die genaue Zeile Code zeigen kann ;)
 
OP
R

Ranger

Geocacher
Hallo,

der Code den ich verwende ist im Anhang, er ist richtig gut, es kommt jedesmal eine andere Reihenfolge, wegen der wechselden Reihenfolge kann ich leider kein Ende finden.
Ich hatte den Befehl am Ende hinter: (im moment wird eine Weiße LED (an PIN 8)für 2 sec eingeschalten, diese wird dann durch ein Relais ersetzt.)

// Play the winner sound and lights
void play_winner(void)
{
setLEDs(CHOICE_GREEN | CHOICE_BLUE);
winner_sound();
setLEDs(CHOICE_RED | CHOICE_YELLOW);
winner_sound();
setLEDs(CHOICE_GREEN | CHOICE_BLUE);
winner_sound();
setLEDs(CHOICE_RED | CHOICE_YELLOW);
winner_sound();

digitalWrite (LED_WHITE, HIGH);
delay (2000);


Das ganze funktioniert auch, nur wird beim einstecken der Powerbank auch die Play Winner sound and Lights abgespielt und es leuchtet die Weiße LED ohne das Spiel zu spielen.

Ich hoffe ihr könnt mir helfen.

Gruß
Tobias
 

Anhänge

  • senso-simon-says-arduino-code-4-led.txt
    16,1 KB · Aufrufe: 23

schatzi-s

Geowizard
Du musst zunaechst fuer die weisse LED im Setup einen Pin als Output Pin definieren
pinMode(LED_WHITE, OUTPUT);
und den pin pauschal auf low setzen
DigitalWrite(LED_WHITE, LOW);
Die Play_Winner Routine wird im Setup aufgerufen, damit "am Anfang etwas passiert".

play_winner(); // After setup is complete, say hello to the world

Entweder Du nimmst dort die Zeile raus oder Du darfst Deine weisse LED nicht dort schalten, sondern unten:
aus
if (play_memory() == true)
play_winner(); // Player won, play winner tones
else
play_loser(); // Player lost, play loser tones
}

wird, wenn play_winner ca. 2 Sekunden dauert

if (play_memory() == true) {
digitalWrite (LED_WHITE, HIGH);
play_winner(); // Player won, play winner tones
digitalWrite(LED_WHITE, LOW);
}
else
play_loser(); // Player lost, play loser tones
}

oder sonst:

if (play_memory() == true) {
play_winner(); // Player won, play winner tones
digitalWrite (LED_WHITE, HIGH);
delay(2000);
digitalWrite(LED_WHITE, LOW);
}
else
play_loser(); // Player lost, play loser tones
}
 

Johannis10

Geocacher
diese wird dann durch ein Relais ersetzt
@Ranger
Erstmal Danke für dein Engagement für die Geocacher.
OT: Gibt es einen Grund warum du ein Relaise verwenden willst?
Falls du Interesse hast, deine Hardware gegebenenfalls zu optimieren, kannst du dich gerne melden und mitteilen mit welchen Komponenten du die Türöffnung genau realisieren willst. Ohne deine genauen Randbedingungen zu kennen, würde ich vermuten, dass es geschicktere Lösungen ohne Relaise gibt.
Grüßle Johannis10
 
Zuletzt bearbeitet:
OP
R

Ranger

Geocacher
Juhu, vielen vielen Dank es funktioniert, hatte es fast richtig nur an der falschen Stelle.

Oben im Setup hatte ich es bei mir schon zugeordnet, nur hab ich es dann unten im Play winner drin...

Ich bin mit den Arduino noch ganz am Anfang, bin total glücklich das es jetzt schon so gut funktioniert.

Gruß
Tobias
T_T_G
 
OP
R

Ranger

Geocacher
@Johannis10

Ich hätte es mit Türöffner und einem Relais gemacht. Stromversorgung habe ich noch viele Lipos 3s aus der Modellbau Vergangenheit und da war mein Gedanke das es mit 12 Volt besser geht als mit einer 5 Volt Servolösung.

Wobei Servos hab ich noch massenhaft hier nur wie am besten umsetzen?

Das wird unser erster Cache mit einem Arduino, das ist komplettes Neuland für mich, hast du eine bessere Idee? ich bin für jede Hilfe sehr Dankbar.

Gruß
Tobias
T_T_G
 

SammysHP

Moderator
Teammitglied
Diese Türöffner funktionieren gut! Ich habe bei mir noch welche mit lediglich zwei Pins statt vier. Musst schauen, ob du bei dir bereits einen FET o.ä. und Diode drin hast. Bei mir läuft die Spule mit 12 V, der Ansteuerung erfolgt über 3.3 bzw. 5 V.

Ein Servo ist etwas angenehmer was den Strom angeht und du kannst ihn auch mit niedrigerer Spannung betreiben. Dafür musst du dir mehr Gedanken machen, wann du ihn wie zurück stellst, ggf. den Nullpunkt findest und wie du das Schloss drum herum gestaltest.
 

schatzi-s

Geowizard
Ich finde es sehr schoen, wenn ein elektronischer Cache auch eine elektronische Oeffnung hat und nicht "nur" Koordinaten oder einen Code fuer ein Schloss freigibt.

Allerdings sorgt das auch immer wieder mittelfristig zu Problemen: Klassisch sind: Mechanik und Stromversorgung, gerade, wenn man es eigentlich bevorzugt, wenn ein Cache seine eigene Stromversorgung hat, aber trotzdem nicht wartungsintensiv ist.

Dazu kommt noch das Problem, dass sich die drei Dinge: Outdoor-Cacher-Elektronik gegenseitig ausschliessen ;-)

Ausserdem treten in der Praxis gerne mal Probleme auf, mit dem man (ich) nicht rechnet (habe): Bei einem meiner Caches zog der Servo manchmal (auch bei vollen Batterien) zu viel Strom, so dass der Prozessor abstuerzte. Meine (laienhafte) Loesung war schliesslich zwei Stromversorgungen zu nutzen: Eine LiIon Batterie fuer die Logik und ein paar AA-Zellen fuer den Servo.
Mein selbstgebauter Sous-Vide Kocher stuerzte haeufiger mal ab, bis ich das mechanische Relais durch ein SSR ersetzt habe (teils mehrere Schaltzyklen pro Minute), waehrend meine Rolllaeden mit diversen mechanischen Relais seit Jahren stabil rauf- und runterfahren (normalerweise 2 Schaltungen pro Tag) ...

Ich habe hier noch einen umgebauten Zimmertresor rumliegen. Dort habe ich den Mikroprozessor gegen einen von mir programmierten Prozessor ausgetauscht und ein paar Leiterbahnen "verbogen". Das Schoene ist, dass der Tresor bereits alles mitbringt (fuer das von mir programmierte Spiel, nicht fuer Senso): stabiles Gehaeuse, Tastatur, 3 LEDs, Sound, Spannungsversorgung und die elektronische Tueroeffnung :) Nun fehlten mir nur noch Lust und Location, um daraus auch einen Cache zu machen. Aber vergesslich wie ich bin, kann ich den Tresor auch bei mir zuhause einbauen und muss mir dann keinen Code merken, sondern muss nur das Spiel gewinnen :)
 
OP
R

Ranger

Geocacher
Wir wollen das ganze dann Wartungsfreundlich in einen Kunstoff Sicherungskasten bauen, die sollten ziemlich dicht sein.

Der Aufstellort soll auch in der näheren Homezone sein, aber auch mit einem einfachen Holz Vogelhaus kann man Probleme bekommen wenn die Türe sich verzieht, solche Probleme sollten beim Bau eines Caches gleich berücksichtigt werden.

Gruß
Tobias
T_T_G
 

Johannis10

Geocacher
Ich hätte es mit Türöffner und einem Relais gemacht. Stromversorgung habe ich noch viele Lipos 3s aus der Modellbau Vergangenheit
12V / 2A um einen Türöffner zu betätigen ist viel und man kann dann die Stromversorgung nicht mehr ohne weiteres den Cachern überlassen. Für mich wäre das ein KO-Kriterium. Wenn die Akkus leer sind und die Cacher den Cache deshalb nicht machen können ist das unschön. Deshalb bevorzuge ich bei meinen Geocaches entweder AA-Standartbatterien, welche die Cacher selbst wechseln können oder einen USB-Anschluss für eine mitzubringende Powerbank.
Wobei Servos hab ich noch massenhaft hier nur wie am besten umsetzen?
Ein Modellbauservo lässt sich recht einfach mit einem Arduino ansteuern. Falls es da Probleme geben sollte oder weitere Info's gewünscht sind, einfach melden. Etwas anspruchsvoller ist die zugehörige mechanische Lösung. Würde in jedem Fall eine Lösung bevorzugen, bei der die geöffnete Tür bei der Servo Stellung "geschlossen" trotzdem zugemacht werden kann. Eine Lösung die ich bisher selbst noch nicht ausprobiert habe wäre z.B. hier:
https://www.thingiverse.com/thing:4737545
Selbst habe ich auch schon ein Simon Says Spiel mit Ardunino Nano gebaut, bei dem nach einem Sieg ein Servo aktiviert wird. Bei mir geht allerdings keine Klappe auf, sondern man erhält eine Süssigkeit ähnlich wie bei https://www.thingiverse.com/thing:2415880
Eine Messetag mit einem Satz AAA-Batterien ist kein Problem.
Grüßle Johannis10
 

fogg

Geomaster
So, hat jetzt doch ein bisschen gedauert. Der Nocken musste auf 97 % skaliert werden, damit er vernünftig auf der Servoachse sitzt. Und bei den beiden Federnippel musste der Durchmesser verringert werden, damit man eine Kugelschreiberfeder benutzen kann. Aber jetzt funzt es. Mal sehen, wie es sich in einer Kiste macht.
schloss.jpg
 
Oben