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

Reaktivlicht-Aktivierung mit Reed-Kontakt - Ausgabe mit siebenmaligem Blinken per LED

schatzi-s

Geowizard
Kann man so einen Kram auch fertig kaufen?
Ansonsten müsste ich da komplett bei Null anfangen wenn ich sowas bauen wollte.

Z.
nicht boese sein, aber das ist quasi null ;-)
gehe mal auf z. B. Funduino.de und lies Dir das mal durch.
Ich bin zufaellig auf den Arduino gestossen, als ich davon bei einem Chinablog gelesen hatte. Was fuer Kuenstler sein soll, das muesste ich doch auch verstehen ;-)
Ok, ich programmiere auch schon etwas laenger.
Uno bestellt, angeschlossen, IDE installiert. Sofort der erste Erfolg: Eine blinkende LED (on Board auf dem Uno) :) Mal keine Zeichen auf dem Bildschirm!
Das Programm wurde verstanden, die Taktfrequenz des Blinkens veraendert ... und am zweiten Abend konnte ich die ersten Zeichen morsen. Nun mussten die ersten LEDs (und notwendigen Widerstaende) her und nach und nach kam immer mehr dazu, ohne das ich es bisher (?) je benutzt habe. Dazu gehoert z. B. auch ein GPS Modul und diverse GSM Module, von denen eins seit Jahren produktiv laeuft :)
Damals gab es bei mir um die Ecke noch einen kleinen Elektronikshop. Dort immer die Teile gekauft, die ich dringend brauchte und parallel zum selben Preis die zehnfache Menge aus China mit 6 Wochen Lieferzeit ...
Spaeter kamen weitere Arduinos dazu und dann: Ein Traum: ESP8266 bzw. ESP32. Die waren schneller und konnten WLAN und liessen sich quasi genauso programmieren.
Aus dem Morsen wurde irgendwann ein Cache:
https://www.geocaching.com/geocache/GC5KZMT_cc-unbox-the-box-mr-vain
weitere folgten. Sprich: Wenn Dich das interessiert, fang bei Null an. Die ersten Erfolge kosten wenig und stellen sich schnell ein.
 
OP
esbrittl

esbrittl

Geocacher
Ich glaube, Du hast das mit dem Initieren nicht verstanden:
a) Ich meinte damit: Ranhalten, System blinkt, Magnet wegnehmen, System blinkt trotzdem und das solange, bis es mit der Sequenz durch ist
b) Im Gegensatz zu: Ranhalten, System blinkt solange, wie man den Magnet ranhaelt.
In beiden Faellen kann der Cacher den Magneten zur naechsten Station mitnehmen, wenn er mit dieser fertig ist.

Fuer Version b) habe ich oben sowohl die Hardware, als auch die Software beschrieben.
Ich möchte Version a machen.
Ist das der Richtige?
https://www.ebay.de/itm/293842138143 ?
 

Johannis10

Geocacher
Ich möchte Version a machen.
Allgemeines Beispiel aus meinem Leben, was nichts mit deinem Fall zu tun haben muss:
Lösung a und b schenken sich fast nichts, wenn man die Vor- und Nachteile des fertigen Produkts vergleicht. Der Kollege wünscht sich unbedingt Lösung a, wohlwissend, dass es für mich ein Vielfaches an Arbeitsaufwand bedeutet im Vergleich zu Lösung b. Ich sage ihm OK, wir machen Lösung a. Ich übernehme 99% der Arbeit, du machst den Rest, denn das kannst du selbst. Ergebnis: Plötzlich ist Lösung b wieder interessant oder das ganze Projekt wird in Frage gestellt…
 
Zuletzt bearbeitet:

Johannis10

Geocacher
bei "Nano" scheint es sich um ein kompatibles Teil zu handeln?
Obwohl der Arduino Nano wesentlich kleiner und im Normalfall auch wesentlich günstiger ist, als der Arduino Uno, hat er sogar mehr Ports.
In der Regel laufen deshalb die für den Uno geschriebenen Programme auch auf dem Arduino Nano. Umgekehrt geht das nur, wenn die zusätzlichen Ports nicht verwendet wurden. Bei grundsätzlichem Interesse an dem Thema und nicht nur an deinem derzeitigen Projekt., würde ich mir ein Arduino Uno Starterkit kaufen. Für die Caches selbst aber wüde ich jeweils ein Nano verwenden, oder für Projekte mit wenigen Ports, dann die Lösungen wie von Schatzi-s in #2 oder #11 beschrieben. Die Funduino Starterkits sind in der Regel etwas teurer als z.B. die Sunfounder Starterkits, aber das beiliegende Arbeitsheft dürfte deutlich besser sein, falls das Sunfounder Arbeitsheft nicht inzwischen erheblich überarbeitet wurde...
 
Zuletzt bearbeitet:

schatzi-s

Geowizard
Öhm. Finde den Fehler. 😀
So schwer ist Programmieren gar nicht. Man waechst mit seinen Aufgaben. Am Ende ist das nur eine Reihe von Anweisungen die hintereinander ausgefuehrt werden oder halt nicht. Sprich mit:
tue,
wenn eine Bedingung zu trifft
dann tue jenes
sonst mache etwas anderes
springe irgendwo hin (bzw. wiederhole)

kann man quasi alles abbilden. Man faengt klein und und waechst dann mit seinen Aufgaben.
 
Zuletzt bearbeitet:

schatzi-s

Geowizard
Ich möchte Version a machen.
dazu hat Johannis10 bereits etwas sehr Passendes geschrieben, zu dem ich nichts zufuegen kann ...

Hallo esbrittl,

das weiss ich nicht, ich kenne das Geraet nicht. Alleine wird es nicht reichen, da Du den Attiny nicht direkt anschliessen kannst. Ob es mit dem von Dir oben erwaehnten Sockel (heisst das so?) funktioniert, kann ich auch nicht sagen, da ich den auch nicht kenne, geschweige denn die Kombination.

Du weisst (noch) nicht, mit welcher IDE Du arbeiten willst. Wie soll ich dann entscheiden, ob das Geraet fuer Deinen Einsatz geeignet ist? Welche IDE welchen Programmer standardmaessig unterstuetzt und ob der obige dabei ist oder ob man ihn einbinden kann, kann ich Dir nicht sagen.
Ok, ich koennte zumindest bei der von mir genutzten Arduino IDE nachgucken, aber das moechte ich nicht. Nachlesen kannst Du auch, bzw. musst es koennen, wenn Du Dich mit der Materie wirklich beschaeftigen willst.

Ich habe Dir (m)eine Loesung genannt. Deine ist vielleicht besser (wenn ich mir mein Breadboard ansehe, sieht sie zumindest ordentlicher aus), aber von meiner weiss ich, dass sie mit den genannten Komponenten wunderbar funktioniert.

Wenn Du einen anderen Weg einschlagen willst: Nur zu, aber dann bin ich raus. Ich habe Dir - fuer mich total untypisch - eine Komplettoesung und nicht nur Ansaetze genannt. Das kannst Du annehmen, mussst Du aber nicht, aber dann musst Du da alleine (zumindest ohne mich, was auch ein Vorteil sein kann ;-) ) durch.

Viel Spass und Erfolg!




Du moechtest Deinen eigenen Weg gehen (s. o.) das ist voellig ok, aber dann musst Du Dich leider auch damit
 

capoaira

Geomaster
Öhm. Finde den Fehler. 😀
So schwer ist Programmieren gar nicht.
Ich habe in der Schule und im Studium ein paar Leute kennengelernt, die es, obwohl sie nicht dumm waren, nicht geschafft haben, das Prinzip von Programmierung zu verstehen. ABER: Das kann man nur rausfinden, wenn man es ausprobiert. Arduinos sind sehr Anfängerfreundlich, also einfach mal ausprobieren ;-)


Also ich verstehe nicht, was genau das Teil macht. Der hier schon oft erwähnte Arduino Uno (bzw. ein billiger Nachbau) funktioniert quasi plug and play. Du installiert dir die Arduino IDE und verbindest den Arduino per USB mit deinem PC. Dann kannst du mit dem Programmieren starten. Arduinos programmiert man i.d.R. mit C (oder c++, da bin ich mir nie so sicher). Die Sprache an sich ist nicht unbedingt Anfängerfreundlich, jedoch werden für den Arduino nur die Basics benötigt, sodass es sehr Anfängerfreundlich ist. Zudem gibt es extrem viele Anleitungen, Beispiele und Tutorials.

Ich habe folgendes starter kit:
https://amzn.eu/d/d1QPNWV

Da hättest du natürlich viel mehr als du brauchst, aber eventuell würde dir trotzdem etwas für dein spezielles Projekt fehlen.

Sonst kannst du dir natürlich auch alle Teile speziell für dein Projekt kaufen.
z.B. hier https://www.az-delivery.de/products/mikrocontroller-board oder natürlich auf ebay oder so.
 

SammysHP

Moderator
Teammitglied
Das ist zumindest der Richtige, wenn du einen Microcontroller mittels AVR ISP programmieren möchtest. Als Software kannst du dann einfach AVRDUDE nehmen, so mache ich es immer. Musst dir dann nur noch einen passenden Adapter zum Anstecken basteln.

Theoretisch könntet du aber auch gleich zu einer moderneren Architektur mit einem Microcontroller aus der tinyAVR 0/1 oder der DD Serie mit UPDI wechseln und bräuchtest dann nur noch einen einzigen Pin zum Flashen.
 

schatzi-s

Geowizard
@capoaira die Sprache nennt sich processing., ist angelehnt an c++.

Der Ebay-Link verweist auf einen Programmer. So etwas brauchst Du, wenn Du komfortabel einen Mikrocontroller ohne Bootloader programmieren moechtest.

Eine reine Mikrokontrollerloesung waere fuer die Aufgabenstellung sinnvoll, da sie klein und billig ist und bei Variante a) deutlich weniger Strom verbrauchen wuerde als ein Arduino, da man den Stand-By Verbrauch auf ein Minimum druecken kann. Bei b) waere das relativ egal, da die Schaltung in mindestens 99,99% der Zeit nicht aktiv waere.

Hintergrund:
Beim Arduino hat der uC einen Bootloader. Das ist ein Programm, das direkt nach dem Start ausgefuehrt wird. Vereinfacht gesagt sorgt es dafuer, dass auf der seriellen Schnittstelle gelauscht wird. Kommt dort innerhalb einer gewissen Zeit eine bestimmte Sequenz, erkennt der Loader das als Upload und speichert die Daten im Programmspeicher und fuehrt das Programm anschliessend aus.
Der reine uController kann das nicht. Hier kommt das Programm via SPI in den Speicher. Um die Hardware und das Timing kuemmern sich der Programmer und der Adapter (oder eben der Arduino mit der entsprechenden Schaltung und dem passenden Sketch).

Die Arduino IDE selber sendet das Programm uebrigens gar nicht an den uC, sondern nutzt dafuer auch das Programm AVRDUDE, was der Anwender im Normalfall gar nicht merkt :) Das meinte ich mit Integration in die IDE.
Natuerlich kann man die *.hex Datei auch selber erstellen und manuell mit AVRDUDE und mit den passenden Parametern hochladen, aber das waere dann die naechste Baustelle ;-)

(Die von @SammyHP angesprochenen uController kenne ich nicht, klingt gut aber da muss ich mich heute Abend erstmal schlau machen, auch wenn ich noch mehr als genug "alte" Atmels habe).
 

schatzi-s

Geowizard
Ich habe in der Schule und im Studium ein paar Leute kennengelernt, die es, obwohl sie nicht dumm waren, nicht geschafft haben, das Prinzip von Programmierung zu verstehen. ABER: Das kann man nur rausfinden, wenn man es ausprobiert. Arduinos sind sehr Anfängerfreundlich, also einfach mal ausprobieren ;-)
Es hat definitiv nichts mit Dummheit zu tun, wenn man das Prinzip von Programmierung nicht versteht. Die Welt ist bunt und so wie ich nicht mit einem Pinsel umgehen kann, gibt es halt Leute, denen sich die Programmierung nie erschliesst.

Doch, wie Du schon schreibst: Hier hilft nur probieren! Langsam anfangen und dann steigern. Viele Neulinge machen den Fehler, dass sie mit zu grossen Projekten anfangen ohne die Basics verstanden zu haben. Es ist aber wie ueberall: Der Rechner ist ein Werkzeug. Ein Pinsel und Farbe alleine machen niemanden zum Kuenstler.

Das Schoene am Arduino ist sein extrem niederschwelliger Einstieg. Es gibt unglaublich viele Demos, mit denen man Erfolgserlebnisse haben kann. Auf einmal bewegt sich ein Servo, eine Temperatur wird angezeigt ...

Doch dann trennt sich die Spreu vom Weizen. Wer die Schaltung nur nachbaut und den Sketch nur kopiert, hat zwar bewiesen, dass er sorgfaeltig arbeiten kann, aber wird es nicht schaffen, die beiden Dinge so zusammenzufuehren, um in diesem Beispiel ein "Zeigerthermometer" zu entwickeln, bei dem sich der Servo temperaturabhaenig bewegt.

Bei aller Praxisnaehe und allem Trial and Error: Es geht nicht ohne Theorie.
Das erinnert mich an das Physikpraktikum waehrend des Studiums: Vor dem Praktikum wurde ein Thema genannt. Auf das musste man sich vorbereiten. Der Prof rief dann immer am Anfang zwei Studenten nach vorne und sie mussten erklaeren, was gleich praktisch gemacht werden sollte. Konnten sie es nicht, hat der Prof sie aus dem Hoersaal geschmissen: "Wenn Sie eh nicht wissen, was Sie tun, brauchen Sie es auch nicht zu machen ..." (passierte das zweimal, fiel man durch die Vorlesung).

Wenn man den Dreh aber raus hat, "hangelt man sich von Erfolgerlebnis zu Erfolgserlebnis" (frei nach J. Weizenbaum) und das kann verdammt viel Spass machen :)
 

schatzi-s

Geowizard
das sah so anders aus, da habe ich dann gegoogelt ;-)
https://de.wikipedia.org/wiki/Arduino_IDE
"

Arduino IDE 1.X​

Die Arduino IDE 1.X basiert auf der Wiring IDE, die wiederum auf der Processing IDE basiert. "

Ich nutze noch die Arduino 1.X. Ganz am Anfang wollte ich mal zur 2 wechseln, aber das war wohl zu frueh, das lief noch nicht wirklich rund und kompatibel. Da das aber auch schon wieder lange her ist, sollte ich mir das vielleicht den aktuellen Stand ansehen ;-)
 

hcy

Geoguru
Es hat definitiv nichts mit Dummheit zu tun, wenn man das Prinzip von Programmierung nicht versteht.
"Dummheit" ist sicher ein dehnbarer Begriff, aber ich denke mal, wer in der Lage ist ein Kochrezept aufzuschreiben, eine Wegbeschreibnung oder eine Handlungsanweisung wie man irgendwas zusammenbaut o.ä. sollte grundsätzlich auch (einfache Sachen) programmieren können.
 

schatzi-s

Geowizard
@hcy "einfache Sachen" ist sicher ein dehnbarer Begriff. In den von Dir genannten Beispielen gibt es normalerweise weder Wiederholungen, noch Bedingungen. Das fuehrt dann zu c&p Programmen:
Led(1, an)
Led(2, an)
Led(3, an)
Led(4, an)
Led(5, an)
Warte(3 Sekunden)
Led(1, aus)
Led(2, aus)
Led(3, aus)
Led(4, aus)
Led(5, aus)
Warte(3 Sekunden)
Led(1, an ) .. und das dann zehnmal ...

Ausserdem beschreiben Deine Beispiele etwas "Altes" und Existierendes. Man kann sich beobachten (bzw. das in der Vorstellung machen) und aufschreiben, was man macht. Aber sobald die Sache etwas komplizierter wird, klappt das nicht mehr. Schon eine Standardaufgabe wie das Sortieren von ein paar Zahlen (was ich fuer eine einfache Sache halte), wird nicht jeder beschreiben koennen.

Wenn es natuerlich nur darum geht ein paar LED im Rythmus blinken zu lassen oder eine kleine Ampel zu bauen, dann kann das vermutlich wirklich fast jeder und das funktioniert auch mit c&p.

Wobei nicht vergessen werden darf, dass zuvor erst einmal eine Umgebung geschaffen werden muss, in der man ueberhaupt programmieren kann. Daran scheitern schon viele, da sie die Hauptbedingung im erfolgreichen Umgang mit Computern nicht koennen: Lesen, was auf dem Bildschirm steht.
Fehlermeldungen werden weggeklickt, anstatt dass auch nur versucht wird, sie zu verstehen.
 

S-Man42

Geomaster
wer in der Lage ist ein Kochrezept aufzuschreiben, eine Wegbeschreibnung oder eine Handlungsanweisung wie man irgendwas zusammenbaut o.ä. sollte grundsätzlich auch (einfache Sachen) programmieren können
Halte ich nicht für richtig, da programmieren sehr viel abstrakter ist. Man muss zuerst in der Lage sein, Probleme so umformulieren und in kleine (dem Computer verständliche!) Verarbeitungsschritte aufzuteilen, bevor man sie aufschreibt. Und das können eben nicht alle. Ich vergleiche es immer mit der Fähigkeit, mathematische Beweise zu führen: Man hat ein Problem, muss in seinen mathematischen Werkzeugkoffer schauen, was man zur Verfügung hat und diese Mittel dann so geschickt aneinander reihen bzw. verwenden, dass man dann zum gewünschten Ergebnis kommt.
 

capoaira

Geomaster
"Dummheit" ist sicher ein dehnbarer Begriff, aber ich denke mal, wer in der Lage ist ein Kochrezept aufzuschreiben, eine Wegbeschreibnung oder eine Handlungsanweisung wie man irgendwas zusammenbaut o.ä. sollte grundsätzlich auch (einfache Sachen) programmieren können.
Das heißt, du bezeichnest, jeden Koch, der nicht programmieren kann als Dumm? Genauso wie jeder nicht Programmierer der es schafft etwas komplexes mit Lego zu bauen oder ein IKEA Regal aufzubauen?

Ich finde damit gehst du eindeutig zu weit.

Ansonsten bleibt dem Beitrag von @schatzi-s und @S-Man42 nichts weiter hinzuzufügen.


Ich vergleiche es immer mit der Fähigkeit, mathematische Beweise zu führen
Wobei programmieren zu können nicht heißt, Mathematische Beweise führen zu können 😅


Lesen, was auf dem Bildschirm steht.
Fehlermeldungen werden weggeklickt, anstatt dass auch nur versucht wird, sie zu verstehen.
Das würde ich gerne nochmal unterstreichen. Das wichtigste beim Programmieren ist, die Fehlermeldungen zu beachten und zu verstehen. Mit der Zeit kommt dabei Routine und diese Medungen werden zu hilfreichen Hinweisen, mit Hilfe derer man den Fehler beheben kann.
 
OP
esbrittl

esbrittl

Geocacher
dazu hat Johannis10 bereits etwas sehr Passendes geschrieben, zu dem ich nichts zufuegen kann ...


Hallo esbrittl,

das weiss ich nicht, ich kenne das Geraet nicht. Alleine wird es nicht reichen, da Du den Attiny nicht direkt anschliessen kannst. Ob es mit dem von Dir oben erwaehnten Sockel (heisst das so?) funktioniert, kann ich auch nicht sagen, da ich den auch nicht kenne, geschweige denn die Kombination.

Du weisst (noch) nicht, mit welcher IDE Du arbeiten willst. Wie soll ich dann entscheiden, ob das Geraet fuer Deinen Einsatz geeignet ist? Welche IDE welchen Programmer standardmaessig unterstuetzt und ob der obige dabei ist oder ob man ihn einbinden kann, kann ich Dir nicht sagen.
Ok, ich koennte zumindest bei der von mir genutzten Arduino IDE nachgucken, aber das moechte ich nicht. Nachlesen kannst Du auch, bzw. musst es koennen, wenn Du Dich mit der Materie wirklich beschaeftigen willst.

Ich habe Dir (m)eine Loesung genannt. Deine ist vielleicht besser (wenn ich mir mein Breadboard ansehe, sieht sie zumindest ordentlicher aus), aber von meiner weiss ich, dass sie mit den genannten Komponenten wunderbar funktioniert.

Wenn Du einen anderen Weg einschlagen willst: Nur zu, aber dann bin ich raus. Ich habe Dir - fuer mich total untypisch - eine Komplettoesung und nicht nur Ansaetze genannt. Das kannst Du annehmen, mussst Du aber nicht, aber dann musst Du da alleine (zumindest ohne mich, was auch ein Vorteil sein kann ;-) ) durch.

Viel Spass und Erfolg!




Du moechtest Deinen eigenen Weg gehen (s. o.) das ist voellig ok, aber dann musst Du Dich leider auch damit
Sorry für die Unterbrechnung, bei mir sind alle krank.
Das finde ich super nett von Dir und mein nächster Schritt ist der von Dir vorgeschlagene mit einem Arduino Uno und mich dann rantasten und probieren.
Ich habe verpeilt, das es zwei große Teile sind, in denen ich mich bewege und dass das eine (Zusammenbauen+Löten etc.) vom anderen abhängt (welche Programmiersprache, welcher Controller etc.).
Ich habe das Pferd von hinten aufgezäumt...
Du siehst, ich lerne schon ;-)
 
Oben