• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2024.
    Thema: "Sprichwörtlich"

    Nur noch bis zum 30.04.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

Bastelanleitung: Arduino-basierter Lichtschranken-Trigger

@Hoekri :

Danke !! Die erste Rückmeldung mit Erfolg ! (y)
Also klappt wirklich alles? Tropfen, Kamera und Speichern ?

Bezüglich des Shutter lags : Danke für den Hinweis. Das ganze lässt sich in 5 minuten umsetzen.
Ich werde das Zeitnah (Mittwoch) umsetzten (wenn ich dran denke) und dann hochladen.

Demnächst werde ich dann auch das Programm auf 3 Ventile + externe Blitze umschreiben /erweitern ( und dabei auch delays durch millis() ersetzten ;) ).
Wann ich damit beginne kann ich noch nicht ganz sagen.
Ab nächster Woche hab ich ja endlich Ferien, aber da ich paar Tage davon arbeiten muss und zudem noch 3 Klausuren nach den Ferien schreibe, werde ich allerhöchstens damit anfangen.
Ich hoffe gegen mitte Februar damit dann etwas weiter zu sein, vielleicht sogar fertig.

Wenn interesse besteht und Bereitschaft seitens Niggoh, könnte man vielleicht ja mal das ganze zusammenwerfen und in zusammenarbeit das GUI auf die CM anpassen.

lg
 
@h3design,
habe auch mal deine version versucht, aber meine Sony lößt nicht aus.
Ich vermute weil bei dir der Autofocus fehlt, die Sony brauch alle 3 Anschlüsse zum Auslösen. Autofocus , Auslöser und Masse.

Werde mal schauen ob ich meine Anschlusse meines Gerätes übernehmen kann.
bei mir wären die ja so.
const int ventil_pin = 13;
const int kamera_pin = 8;
const int autofocus_pin = 9;

Mal eine verständnisfrage, die Lichtschranke wird nicht mehr benötigt?

Gruss Clarissa
 
@Lachsy:
Lichtschranke ist optional, wenn Du Magnetventile benutzt und mit der Genauigkeit der Ventile zufrieden bist.

@Hoekri:
Zunächst einmal Danke für die ausführliche Rückmeldung, auf die ich natürlich auch eingehen möchte.

Eine Bedienungsanleitung wäre wohl wirklich langsam angebracht, ist aber viel Arbeit... Mal sehen, ob ich dafür irgendwann die Motivation aufbringen kann.

Soweit ich informiert bin, warst Du ja auf Infrarotauslösung angewiesen, das geht erst seit 0.2c wieder, evtl. mal damit probieren.

Die Defaults habe ich bewusst nicht automatisch in den Programmstart eingebaut, weil ich davon ausgehe, dass die meisten Leute ihre Werte in einem Preset abspeichern werden und das dann nach dem Start laden wollen. Evtl. könnte man dafür eine Option einbauen, damit das automatisch nach dem Start geladen wird. Die Defaults habe ich nur eingebaut, weil es mir das Testen deutlich erleichtert hat. Falls Du die Defaults automatisch beim Start laden willst, kannst Du einfach eine zusätzliche Programmzeile in die setup() Funktion einbauen. Diese muss lauten:
set_defaults();

Bezüglich Wert-Anzeige vor Select drücken: das ist leider nicht ganz so banal zu realisieren, zumindest wenn es einigermaßen sauber programmiert sein soll, deswegen habe ich das erstmal sein gelassen. Habe ich aber im Hinterkopf und werde ich irgendwann noch einbauen.

Pause zw. Serien / Bildern hatte ich zwischenzeitlich schon geändert, sollte in 0.2c auch schon geändert sein.

Kalibrieren kalibriert die Lichtschranke (oder einen anderen angeschlossenen Sensor), Rückmeldung hab ich eingebaut, wird in der nächsten Version integriert. Ansonsten unter sensor_functions in der Funktion sensor_calibrate am Ende folgende Zeilen einfügen:
clear_second_line();
lcd.setCursor(0,1);
lcd.print("Sensor kalibriert");

Bezüglich Zeiten kopieren:
Das habe ich überwiegend deswegen eingebaut, weil die Kamera im Regelfall die gleichen Zeiten haben sollte, wie der Autofokus. Dann muss man nicht alles doppelt einstellen. Aber es gibt sicherlich noch mehr Situationen, in denen das sinnvoll erscheint.

Ansonsten vielen Dank fürs Lob. Wenn Du eine Platine baust, will ich eine haben ;)

Eine PC-Schnittstelle zu implementieren ist sicherlich kein großes Problem und vermutlich auch nicht viel Arbeit. Habe mir mal den Arduino-Code von h3design angeschaut, das ist ja relativ übersichtlich und somit problemlos auf mein Programm zu adaptieren.
Die GUI selbst will ich mir aktuell aber nicht antun. Habe noch nie unter Windows programmiert und würde demnach fast bei Null anfangen. Aber vielleicht fühlt sich ja jemand anderes zwischenzeitlich dazu berufen.
 
wie gesagt, ich könnte dabei helfen ;)

edit :

und unterschätz den arduino-quelltext mal nicht.. er ist zwar kurz aber die reinlesen- und "schneide"- Methoden hattens in sich.
Glaub mir da hab ich lange dran gesessen, dinge geändert und hinundherverschoben etc.
Das stößt man auf das Problem dass manche Quelltexte einfach bei jedem individuell sind, und da könnnen noch so viele in irgendwelche Foren Quelltextbeispiele bringen :D
 
Zuletzt bearbeitet:
Ich hab mich mal ein bisschen mit dem Interfacing von Arduino und Computer über serielle Schnittstelle beschäftigt und bin zu dem Schluss gekommen, dass das gar nicht so kompliziert ist. Die Kommunikation zwischen Arduino und einem Programm in Visual C# ist tatsächlich mit wenigen Befehlen zu erledigen und hat testweise auch schon funktioniert.
Mit der GUI-Programmierung unter Windows komme ich auch erstaunlich gut zurecht. Leider bin ich aber beim Versuch, die entsprechende Funktionalität in meine Arduino-Software zu integrieren, auf ein Problem gestoßen, das ich schon längere Zeit befürchtet hatte: der Arbeitsspeicher des Arduinos reicht scheinbar nicht mehr für die ganzen Variablen. Es gibt dazu Workarounds (z.B. hier: http://www.arduino.cc/playground/Code/AvailableMemory ), aber das bedeutet eine Menge Arbeit.

Eine GUI-Integration würde, soweit ich das jetzt einschätzen kann, nur nach gründlicher Überarbeitung des kompletten Quelltextes zur Optimierung bezüglich Speichernutzung möglich werden. Da habe ich aktuell leider keine sonderlich große Lust drauf.

Insofern müsst ihr erstmal weiterhin die kleinen Knöpfchen drücken... Was ich aber evtl. noch anbieten könnte, wäre die Wiederholungsfrequenz bei längerem Drücken einer Taste weiter zu erhöhen. Wer das selbst machen möchte, kann unter "control_functions" in der Funktion auto_repeat_button() die Verzögerungszeit reduzieren (const int delay_before_subsequent_repeats).
 
Ich habe die letzten Tage mal überprüft, ob ich nicht Versprechen gemacht habe, die ich nicht halten kann.

Ein erster Entwurf der Platine ist fertig. Fritzing ist recht einfach zu bedienen.

Früher haben wir alles auf mm-Papier gezeichnet, durchgepaust und mit Abdecklack auf der Platine nachgemalt. Mit Eisen(III)Chlorid geätzt und mit der Ständerbohrmaschine gebohrt. Das nur mal am Rande;)

Die größte Herausforderung ist das Design neuer Bauelemente. In der Bibliothek ist zwar eine 3,5 mm Klinken-Buchse vorhanden, die passt aber überhaupt nicht zu meinen. Daran arbeite ich noch, tue mich aber etwas schwer damit.
Für die Optokoppler habe ich einfach einen anderen IC mit 16 Beinen genommen.

Die meissten Sorgen macht mir der Preis. Wenn ich richtig gelesen habe, kostet die Platine 85x60 mm bei fritzlab reichlich 35 EUR. Heidewitzka!
Frage an alle Bastler: geht das günstiger?

Freundliche Grüße
Ralf
 
So nach langem stillen mitlesen, melde ich mich auch mal. Ich hatte zuerst die Lichtschranke und das Arduino im Einsatz. Gestern habe ich nun die Steuerung (aus Seite 3 in diesem Beitrag) für das Magnetventil fertig gebaut. Nach dem 2. Versuch hat es auch Funktioniert(y). Da ich praktisch keine Elektronikkenntnisse habe war ich sehr froh, über diverse Bilder von euren Platinen und Elektroschemas. So habe ich das auch als Laie hinbekommen.
Heute wird dann das Programm mit den Zeiten auf meine "Tropfenanlage" abgestimmt.

Gruss Michi
 
Gesundes neues Jahr euch allen noch!

Wie siehts aus, Michi, klappt alles?

Über die Feiertage habe ich viel getropft und mein Setup etwas optimiert.
U.a. habe ich dafür gesorgt, dass ein Makro-Objektiv im Weihnachtsmannsack war.

Aber auch mit dem Platinenlayout bin ich gut vorangekommen. Mein Problem ist nur, dass ich eine "eierlegende Wollmilchsau" entwerfen möchte, also eine Leiterplatte, die zwar für den Zweck der Wassertropfenfotografie über die Klinkenstecker für Kamera, Blitze, Lichtschranke und Magnetventil anschlussfertig ist, aber dem kreativen Bastler auch die Schnittstellen für eigene Erweiterungen offen lässt. Fertig ist ja so ein Projekt nie.
Ein Maler sagte mal: "Die Kunst an der Kunst ist, zu erkennen, wann ein Bild fertig ist." Trifft die Sache sehr gut.
Kopfzerbrechen bereitet mir auch die Frage, ob das Ding in ein Gehäuse eingebaut werden sollte. Das macht die Sache auch noch anspruchsvoller, weil das Layout der Platine zum Design der Hülle passen muss. Mit dem derzeitigen LCD-Shield ist ein Gehäuse fast utopisch, da diverse Stifte über das LCD-Modul herausragen und das Shield selbst die Anschlüsse für USB und Stromversorgung des Arduino überdeckt.

Über Anregungen und Vorschläge freue ich mich schon jetzt.

Im Anhang noch drei Bilder aus meiner letzten Serie, ohne diesen Thread wäre ich wohl nie auf die Idee gekommen, Wassertropfen in dieser Form zu fotografieren!

FG Ralf
 
Inzwischen hast Du den Bogen raus würde ich sagen. Ich habe seit Monaten nicht mehr getropft, war mir immer zu nervig, das ganze Zeug für ein oder zwei Stunden Zeit auszupacken. Die 0.2er Software habe ich praktisch ohne zu Testen fertig geschrieben, nur ganz am Ende habe ich mal das Arduino und einen Blitz angeschlossen, das ganze Tropfzeug blieb aber erstmal in der Abstellkammer. Ich war auch ziemlich überrascht, dass das alles sofort funktioniert hat und seitdem kaum Fehler gemeldet wurden.

Wegen Platinenlayout: gehäusefertig wäre natürlich mehr als nett, das stört mich an der jetzigen Lösung auch. Das mit dem Strom- und USB-Anschluss könnte man wohl recht einfach so gestalten, dass das Shield an dieser einen Seite nicht übers Arduino hinausreicht, an allen anderen Seiten ist es ja egal. Meine Ideen hab ich Dir ja geschickt. Bin gespannt, wie Du das umsetzt :)
 
Hallo Ralf

Ja ich habe gestern das ganze ausgetestet. Hatte am Anfang etwas probleme um die Zeiten zu ermitteln. Jetzt klappt es aber schon recht gut. Arbeite zurzeit aber nur mit 2 Tropfen.
Das einzige was mich stört, ich kann, wenn ich das Programm starte und am Tropfen bin, das Programm nicht stoppen. Wenn ich jetzt die Zeiten anpassen möchte und wieder auf das Arduino rauflade, löst die Kamera und der Blitz 5-6 mal infolge aus. Gibt es da einen Trick? Im Arduinofenster, gibt es ja ein Stoppknopf, aber das Programm läuft immer weiter.

Gruss Michi
 
@Michi
Momentan lässt sich das laufende Programm lediglich durch den Reset-Knopf stoppen. Wenn Du die Werte neu hochlädst, erfolgt sowieso ein Neustart des Arduino, so dass das kein Problem sein sollte.
Was das Auslösen der Kamera betrifft, solltest Du mal einen anderen Port verwenden, möglichst nicht 0, 1 oder 13 und die entsprende Zeile im Programm anpassen. Damit dürfte das behoben sein.

FG Ralf
 
Hallo Ralf

Vielen Dank für die Tipps.
Werde ich mal austesten. Aber warum sollte das mit einer andern Pinbelegung gehen? ist bei den anderen Pin's etwas anders :confused:

Gruss Michi
 
Hallo Michi,

Pin D0 und D1 sind auch für die serielle Übertragung vorgesehen. Möglicherweise werden beim Datentranfer dort Signale abgegeben.
Das weiss ich nicht ganz genau. Pin D13 ist mit der LED auf dem Board verbunden. Die leuchtet beim Reset mehrmals auf. Da sollte also auch keine Kamera angeschlossen sein.

FG Ralf
 
Ansonsten kannst Du für Deine Zwecke evtl. auch das Programm von h3design benutzen. Das kannst Du im laufenden Betrieb umprogrammieren. Link ist irgendwo auf den letzten paar Seiten hier im Thread.
 
Also das mit dem anderen Pin Anschluss hat Funktioniert.
Das Programm von h3design habe ich versucht. Doch leider geht das mit meinem Mac nicht. Werde das mal auf meinem Netbook versuchen.

Vielen Dank für all die Tipps.

Gruss Michi
 
Hallo alle.
Habe grade mal nachgeguckt und gesehen dass meine Kamera an Pin 13 ist.
Probleme hatte ich bis jetzt eigentlich nicht, das mit der LED ist doch auch nicht schlimm oder ?

@ Legy

Schade, dass du das Programm nicht ausführen kannst.
Ich finde aber auch keine Möglichkeit es als Mac Application zu speichern, da Visual Basic ja auch grade von Microsoft ist..
Es gibt Programme für Macs die dir erlauben eine Art Windows-Umgebung herzustellen in der du Exe datein öffnen könnstest, aber die kosten glaube ich alle recht viel..
Ansonsten probier mal das Netbook. :)
 
Hallo,

der erste Entwurf der Platine für die crazyMashine ist fertig. Ich muss noch den Reset-Taster integrieren und noch mal gründlichst nach Fehlern suchen.

Auf der Platine wird ein Arduino Nano werkeln. Es ist in dieser Version ein LCD-Modul 2 x 16 Zeichen und 5 Tasten wie auf dem Arduino-LCD-Shield integriert. Über ein größeres Display wird derzeit noch nachgedacht.

Auf der Platte befindet sich eine Buchse für die Stromversorgung, 3 Klinkenbuchsen samt Transistorstufen für die Magnetventile, 2 x Lichtschranke, 3 x Blitz und eine Buchse für die Kamera.
SMD-Bauteile werden wegen der Ü30-Bastler keine verwendet.
Die Platine wird 80 x 100 mm groß, das ist die Begrenzung bei der Freeversion von EAGLE. Diese ist schon recht dicht bepackt;)

@pete
Du hattest mal nach Platinenherstellern gesucht. So günstige wie Du habe ich noch nicht gefunden. Hast Du mal nen Tip für mich?

@h3design
Könnte lediglich sein, dass Deine Kamera beim Reset auslöst, sonst ist das kein Problem.

Freundliche Grüße

Ralf
 
Hab die zwischenzeitlich hinzugefügten Infrarotfunktionen wieder auskommentiert, weil es dadurch zu Programmabstürzen kam. Das ließ sich leider auch nicht durch eine erste Überarbeitung der Variablendeklarationen lösen.

Dafür gibts jetzt eine Spülfunktion, die alle Ventile für 30 Sekunden öffnet, ohne dabei Kamera oder Blitze auszulösen.

Download Version 0.2d
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten