• 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

Suche mal nach Hiviz Trigger. Da ist eine verzögerung mit einem 555 drin. Das könntest du sicherlich abwandeln.
Gruß
 
Zum Droplet und Kommunikation mit CrazyMachine:
...ich bin darauf gekommen ..vielleicht.. :)

Da in folgendem Teil des Programms die Trennzeichen überprüft werden und Droplet zur Blitzeinstellung keine schickt kommt es dazu dass die Geräte nicht richtig zugeordnet werden usw...
// Zeitpuffer in einzelne Zeiten zerlegen
i = 0;
while ((devtime_chunk = strtok_r(pointer_to_devtime_buffer, SERIALMSG_FIELD_SEPARATOR, &pointer_to_devtime_buffer)) != NULL) {
copy_of_devtime_chunk = devtime_chunk;
pointer_to_copy_of_devtime_chunk = copy_of_devtime_chunk;
while ((single_devtime_string = strtok_r(pointer_to_copy_of_devtime_chunk, SERIALMSG_TIME_SEPARATOR, &pointer_to_copy_of_devtime_chunk)) != NULL) {
dev_time[i++] = atoi(single_devtime_string);

Leider bin ich kein Programmierer und es fällt mir nicht ein wie man es "einfach" beheben kann aber wenn man von Droplet Einstellungen "ohne Blitzgeräte" Schickt dann "läuft alles"...aber das auch nur dann wenn man nur eine "Aktion pro Ventil" (max. 2/Kamera) einstellt sonst passiert wieder nur irgendwas... :)

...und folgendes hilft falls man die geräte "richtig" zuordnen will:

dev_id = atoi(&buffer)-1; // Geräte-ID einlesen
 
Zuletzt bearbeitet:
Wo das Problem liegt, wusste ich schon. Im Grunde genommen müsste man beim Zerlegen des Strings einfach zwischen Verzögerungszeiten und Aktivzeiten unterscheiden. Man bräuchte also zwei Arrays, eins für die Verzögerungszeiten und eins für die Aktivzeiten, in die die Werte dann abwechselnd einsortiert werden. Wird einer Verzögerungszeit keine entsprechende Aktivzeit zugeordnet, müsste man eine Standard-Aktivzeit zuordnen (z.B. 10 ms). Das würde das Problem beheben. Die softwareseitige Umsetzung ist mir gerade nur zu zeitintensiv.

Das mit den Geräten kann man übergangsweise auf jeden Fall so machen. In einer der nächsten Versionen werde ich einfach bei eins mit dem Zählen anfangen.
 
Hallo Niggoh,

Ich habe eine Idee bekommen, die so denke ich, leicht realisierbar wäre und u.U. das Programm benutzerfreundlicher machen könnte.

Vor allem bei Reihen und Zeitrafferaufnahmen fehlt meines Erachtens ein Abbrechenbutton.

Ist dies realisierbar? Vllt mit der Selecttaste?

Außerdem ist mir aufgefallen das bei meinem Ventilausgang immer 5V anliegen und wenn ein tropfen losgelassen werden soll fällt die Spannung auf 0V ab. Da ich aber ein Ventil habe das eine Sperrstellung an 0V hat, ist das gerade invertiert! Wie ändere ich den Programmcode so um das es für mich stimmt?

Eigentlich dachte ich, aufbauen, draufspielen spass haben. Aber so einfach scheint es nicht zu sein.

Noch eine Sache! Beim Pin für den Blitz liegen nie mehr wie wenige mV an. Das schaltet dann meinen Transistor nicht durch und zündet eben auch nicht meinen Blitz. Gibt es von eurer Seite spontan eine Idee wo der Fehler stecken könnte?

Nochmals vielen Dank für eure Hilfe, ohne euch wäre ich nie so weit gekommen!

Grüße und ein schönes WE
Dino86
 
Zuletzt bearbeitet:
Außerdem ist mir aufgefallen das bei meinem Ventilausgang immer 5V anliegen und wenn ein tropfen losgelassen werden soll fällt die Spannung auf 0V ab.
Welche Schaltung benutzt Du?

Beim Pin für den Blitz liegen nie mehr wie wenige mV an. Das schaltet dann meinen Transistor nicht durch und zündet eben auch nicht meinen Blitz.
Der Arduino-Pin bekommt einen High-Impuls und steuert den Optokoppler an. Am Ausgang des Optokopplers liegt keine Spannung an, er wirkt nur wie ein Schalter. Wie hast Du Deinen Blitz angeschlossen?

fG Ralf
 
Welche Schaltung benutzt Du?


Der Arduino-Pin bekommt einen High-Impuls und steuert den Optokoppler an. Am Ausgang des Optokopplers liegt keine Spannung an, er wirkt nur wie ein Schalter. Wie hast Du Deinen Blitz angeschlossen?

fG Ralf

Hallo Ralf,

Ich benutze die Softwareversion 0.4. Hardwaretechnisch habe ich für meine zwei Ventile diese Schaltung übernommen:
https://www.dslr-forum.de/attachment.php?attachmentid=1618633&d=1294179507

Für meine kamera und meine zwei Blitze verwende ich jeweils einen NPN Transistor, sieh Anhang.
Die Lila Leitung geht zu meiner Kamera, die weise und orangene jeweils zu einem meiner Blitze.

Ich habe die Ausgänge des Arduino durchgemessen, und da ist mir eben aufgefallen das bei den Default Einstellungen der Pin11 immer 5V hat wenn ich eine Bildserie mache. Dagegen hat Pin12, also dort wo der Shutter angeschlossen wird nur ein HIGH Signal wenn ausgelöst wird, was ja so auch stimmt.
An Pin 3,2 und 1 liegt direkt nach dem Reset keine Spannung an. Nachdem ich aber mit Hilfe des Einzelbildmodus ein Bild ausgelöst habe liegt an Pin3,2 und 0 5V an und an Pin1 0V.

Ich bin verwirrt oder einfach zu blöd... (rethorische Aussage ;-) )




Ich hoffe ich konnte es einigermaßen erklären...
 
Zuletzt bearbeitet:
Ich habe die Ausgänge des Arduino durchgemessen, und da ist mir eben aufgefallen das bei den Default Einstellungen der Pin11 immer 5V hat wenn ich eine Bildserie mache. Dagegen hat Pin12, also dort wo der Shutter angeschlossen wird nur ein HIGH Signal wenn ausgelöst wird, was ja so auch stimmt.
An Pin 3,2 und 1 liegt direkt nach dem Reset keine Spannung an. Nachdem ich aber mit Hilfe des Einzelbildmodus ein Bild ausgelöst habe liegt an Pin3,2 und 0 5V an und an Pin1 0V.

Ich bin verwirrt

Klingt in der Tat etwas verwirrend...
Die Schaltung ist soweit o.K., ich habe das mit den Transistoren allerdings nie praktisch getestet.
Vielleicht änderst Du mal die Pinbelegung im Programm und am Arduino? Man kann ja nicht wissen...auch Arduinos sind nur Menschen:lol:

Softwaretechnisch kann ich Dir nicht sehr viel helfen.

fG Ralf
 
Vor allem bei Reihen und Zeitrafferaufnahmen fehlt meines Erachtens ein Abbrechenbutton.

Ist dies realisierbar? Vllt mit der Selecttaste?
Grundsätzlich ja, ist aber nicht so banal, wie man denken würde.

Außerdem ist mir aufgefallen das bei meinem Ventilausgang immer 5V anliegen und wenn ein tropfen losgelassen werden soll fällt die Spannung auf 0V ab. Da ich aber ein Ventil habe das eine Sperrstellung an 0V hat, ist das gerade invertiert! Wie ändere ich den Programmcode so um das es für mich stimmt?
Das wundert mich. Mein Ventil ist auch stromlos geschlossen. Sollte eigentlich bei Dir ohne Änderungen funktionieren.

Eigentlich dachte ich, aufbauen, draufspielen spass haben. Aber so einfach scheint es nicht zu sein.
Nein, es bleibt eine Bastellösung ;) Für Plug & Play vgl. erster Post dieses Threads.

Noch eine Sache! Beim Pin für den Blitz liegen nie mehr wie wenige mV an. Das schaltet dann meinen Transistor nicht durch und zündet eben auch nicht meinen Blitz. Gibt es von eurer Seite spontan eine Idee wo der Fehler stecken könnte?
Du könntest den Widerstand vor dem Blitz rausnehmen, das könnte helfen.
EDIT: Okay, hab Deinen Schaltplan nicht gesehen. Das bringt also nix.

Insgesamt klingt da einiges ein bisschen komisch und eher nach einem Hardwaredefekt, als nach einem Softwareproblem. Allerdings habe ich zugegebenermaßen nie die Ausgänge durchgemessen.
Hast Du mal ein einfaches Testprogramm genommen, um die ganzen Pins nacheinander auf HIGH bzw. LOW zu stellen? Da lassen sich Softwarefehler auf jeden Fall leichter ausschließen. Das hier schaltet z.B. alle von Dir benutzten Pins nacheinander auf HIGH und LOW:
Code:
void setup() {
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(3, OUTPUT);
}

void loop() {
  digitalWrite(12, HIGH);
  delay(500);
  digitalWrite(12, LOW);
  delay(500);
  digitalWrite(11, HIGH);
  delay(500);
  digitalWrite(11, LOW);
  delay(500);
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(3, LOW);
  delay(500);
}
 
Zuletzt bearbeitet:
Kann das mangels Arduino leider gerade nicht testen, aber hab nochmal über das Serie Abbrechen nachgedacht und bin zu einer sehr simplen Lösung gekommen.
Such mal unter menu_functions nach der Serienbildfunktion und ändere sie wie folgt:
Code:
  else if (used.item.getName() == mi_drop_series.getName()) {
    int i = 1;
    while (auto_repeat_button() != BUTTON_SELECT
           && i <= pictures_in_series) {
      i++;
      lcd_print_string(TEXT_PICTURE);
      lcd_print_P(PSTR(" #"));
      lcd.print(i);
      lcd_print_P(PSTR("/"));
      lcd.print(pictures_in_series);
      if (use_sensors) {
        sensor_mode();
      } else {
        delay_mode();
      }    
      if (i < pictures_in_series) {
        lcd_print_string(TEXT_PAUSE);
        delay(series_delay*1000);
      }
    } 
    lcd_print_P(TEXT_SERIESFINISHED);    
  }
Ich habe nur die for-Schleife durch eine while-Schleife mit zwei Bedingungen ersetzt. Falls das funktioniert, kann man die gleiche Änderung in der Zeitrafferschleife machen.
 
Kann das mangels Arduino leider gerade nicht testen, aber hab nochmal über das Serie Abbrechen nachgedacht und bin zu einer sehr simplen Lösung gekommen.

Hallo zusammen,

Habe eure Ratschläge/ Vorschläge bfolgt und umgesetzt. Auch das Testprogramm, um zu testen ob mit der Hardware alles stimmt habe ich ausgeführt. Dort konnte ich keine Unstimmigkeiten feststellen! Ich habe aber feststellen können das es sowohl bei der Defaulteinstellung alsauch bei der Benutzerdefinierten Einstellung zu diesem Problem kommt.
Eigenartigerweise reagieren die genannten Pins 2,3 und 11 auf Befehle aber eben negiert.

Gibt es eine simple Möglichkeit alles auf Lieferzustand zu setzen?
Ich habe den von dir, Niggoh, verbeserten Quellcode ausprobiert, leider konnte ich mit keiner taste die Serien Funktion beenden.
 
Zuletzt bearbeitet:
Hallo Leute ich möchte mir auch so ne schranke machen, wie schließe ich die an Magnetventile an .
Und wie und wo bekomme ich alles teile her ?
 
Und wie und wo bekomme ich alles teile her ?

Warte kurz, ich bringe Dir die Teile gleich vorbei:devilish:

Nein ernsthaft, es gibt viele große Elektronikversandhäuser wie Conrad, Reichel, Mükra (alle ungenannten mögen mir verzeihen).
Ebay bringt auch einiges zu Tage und im Zweifelsfall hilft Google weiter.

Wenn Du konkret beschreibst, was genau Du brauchst und nicht findest, bekommst Du in diesem Forum auch jederzeit Hilfe.

Hier: http://crazymachine.nicolai-korff.de/?page_id=24 ist auch der Anschluss eines Magnetventils beschrieben.

Freundliche Grüße
Ralf
 
Vielen dank Ralf habe alles bei conrad gefunden.
Muss nur noch basteln und einstellen. Komme aber dann nochmal hier zurück.


Wie bist du mit der lichtschranke zufrieden ?!



Batteriehalter D für 2 Mignon (L x B x H) 58 x 32 x 14.5 mm »
Best.-Nr.: 651043 - 62
1
€ 1,35 *

Batterieclip für 9 V- Block T-Ausführung (L x B x H) 26 x 13 x 8 mm »
Best.-Nr.: 490660 - 62
1
€ 0,29 *

IR-LED Kingbright L-53F3C Gehäuseart 5 mm Wellen-Länge 940 nm »
Best.-Nr.: 154447 - 62
1
€ 0,41 *

Lüsterklemme Adels-Contact Querschnitt 6.0 mm² Natur »
Best.-Nr.: 730546 - 62
2
€ 0,44 *

Fototransistor Osram Components BPW 40 = BPW 96 C Gehäuseart 5 mm »
Best.-Nr.: 184055 - 62
1
€ 0,91 *

0,6 Watt Präzisions-Metallschicht-Widerstand 0,1 % 220 kΩ axial bedrahtet Bauform 0207 0,6 W 0.1 % »
Best.-Nr.: 423645 - 62
1
€ 0,51 *


Transistor bipolar Korea Electronics BC 547 B NPN Gehäuseart TO 92 I(C) 100 mA Emitter-Sperrspannung U(CEO) 45 V »
Best.-Nr.: 155785 - 62
1
€ 0,10 *


Schnepp Messleitung (Rot) mit Krokodilklemme »
Best.-Nr.: 139769 - 62
2
€ 3,59 *

C-Control PRO Unit Mega 128 4,5 - 5,5 V/DC Eingänge / Ausgänge 8 Analogeingänge / 6 mit je 8 Pins, 1 mit 5 Pins Digital »
Best.-Nr.: 198219 - 62
1
€ 24,95 *


so ok ?!
 
Zuletzt bearbeitet:
0,6 Watt Präzisions-Metallschicht-Widerstand 0,1 % 220 kΩ axial bedrahtet Bauform 0207 0,6 W 0.1 % »
falscher Wert, sollten 220 Ohm sein

C-Control PRO Unit Mega 128 4,5 - 5,5 V/DC Eingänge / Ausgänge 8 Analogeingänge / 6 mit je 8 Pins, 1 mit 5 Pins Digital »
Das nützt Dir nichts, Du brauchst einen Arduino!
Bezugsquellen dürften hier http://crazymachine.nicolai-korff.de/ unter Hardware zu finden sein.

Dein Einkaufskorb stellt die einfachste Hardwarevariante dar, ein Magnetventil kannst Du damit nicht auslösen.

Freundliche Grüße

Ralf
 
Mein Dremel hat schon lange auf diese Gelegenheit gewartet....:devilish:
Heute war es endlich so weit!
Die handelsübliche Eurobox musste schon sehr leiden, damit die Platine rein passt, aber es geht. Zugegeben, nicht optimal.
Für die Tasten brauche ich noch solche "Nippel", die Form wie eine "Melone" aus der Stummfilmzeit.
Hat jemand eine Idee?

fG Ralf
 
Hallo Tropfenfreunde :)
Ich verfolge den Thread schon seit Langem und habe nun auch meine ersten Gehversuche mit dem Arduino gestartet. Vielen Dank für den Wissensfluss an alle, besonders an Niggoh (y)
Allerdings stehe ich vor einem Problem, das euch vielleicht bekannt vorkommen könnte:
Meine beiden Blitze (430EX II und Nissin Di622 mkI) sind nicht zu 100% synchron, es kommt folglich zur Doppelbelichtung! Und das sieht auf den Bildern nicht gerade schön aus. (Der Nissin zündet 1-2 ms später als der 430EX II, das schafft u.a sehr eigenartige Tropfenskulpturen :D)
Momentan löse ich die Blitze über mein Yongnuo RF-602 aus, die Frage die sich mir nun stellt ist folgende:
Wenn ich nun die Blitze statt über die Kamera mit besagten Funktransmitter, sondern über eine weitere Oktokoppler-Schaltung zünde, besteht dann die Möglichkeit beide Blitze 100% synchron zu zünden oder ist das vorliegende Problem bei mir, dass der Nissin Di622 mkI generell verspätet zündet? Also mein Funktransmitter somit als Fehlerquelle ausscheidet?
Vielen Dank im Voraus!
Gruß Patrick

P.S.: Auf dem Bild haben beide Blitze relativ Zeitnah ausgelöst, dennoch ist die Doppelbelichtung unter der Krone in Lila zu erkennen
 
@LANpadder

Daran habe ich noch nie gedacht aber denkbar ist es schon, dass verschiedene Blitzgeräte unterschiedliche Auslösezeiten haben.

Das kannst Du ausprobieren, mit Arduino und Niggohs Programm kannst Du jedem Blitzgerät eine eigene Verzögerungszeit +-1ms zuweisen.

fG Ralf
 
Hallo Zusammen,

Habe mir die letzten Tage nochmals ausgiebig Zeit genommen um mein Arduino durch zu messen.

Dabei ist mir aufgefallen, das sobald der 1. Auslösevorgang begonnen hat mein Pin 12 auf 5V schaltet und wenn der 2. und 3. Auslösevorgang eintritt Pin12 wieder auf 0V schaltet.

Das testprogramm von Niggoh hat inwandfrei funktioniert...
Aso schließe ich auf keinen Hardwaredefekt. Anderseits kann es ja auch kein Softwarefehler sein da es bei euch ja tut.

Gibt es die möglichkeit den Chip auf Lieferzustand zu setzten. Also ein Format C?

grüße Marin
 
@dino86
Ich habe da auf Anhieb keine Idee:confused:
Arduino zurücksetzen habe ich noch nie irgendwo gehört/ gelesen. Ob das in Deinem Fall helfen würde, wage ich auch zu bezweifeln.
Aus meiner Sicht kann der beschriebene Fehler nicht schaltungstechnisch verursacht sein. Entweder spinnt der Arduino, oder Du hast wirklich einen Konflikt im Programm gefunden. Ich weiß es nicht.

fG Ralf
 
WERBUNG
Zurück
Oben Unten