• 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

Klingt entweder nach einem Fehler im Programm oder in der Bedienung. Versuch' mal die Defaulteinstellungen auf das Minimum (sprich das, was Du tatsächlich benutzt) zu reduzieren (geht unter default_values), falls Du das noch nicht getan hast. Eigentlich sind die Routinen, um die verschiedenen Geräte nacheinander zu aktivieren und zu deaktivieren, relativ simpel gestrickt, was aber nicht heißt, dass da nicht irgendwo ein Fehler drin sein könnte.

Habe momentan praktisch keine Zeit, mich mit dem Quelltext zu beschäftigen, deswegen fällt der Support derzeit leider etwas knapper aus.
 
Gibt es die möglichkeit den Chip auf Lieferzustand zu setzten. Also ein Format C?

Über den SPI kann der Chip mit einem Programmer und der passenden Software (avrOSP II z.B.) gelöscht werden. Damit ist dann aber auch der evtl vorhandene Arduino Bootloader weg. Mit dem SDK kommuniziert das Board dann nicht mehr. Den Bootloader könnte man aber ebenfalls über den SPI wieder aufspielen. Das wäre die Holzhammer-Variante. ;)
 
Ich habe mal wieder ein Problem, mein Lichtschranken-Trigger funktioniert einwandfrei und auch die Einstellung der Auslöseverzögerung klappt. Nur sind mir bei der min. Auslöseverzögerung Grenzen gesetzt. Ab einer Auslöseverzögerung von ca. 10ms bekomme ich keine Ergebnisse mit geringerer Zeit. Könnte es mit der Trägheit der Auslösung oder mit der Reaktionszeit der Infrarotübertragung zu tun haben? Ich benutze eine EOS 400D mit Yongnuo Speedlite Transmitter ST-E2 und 2-3 Yongnuo Blitzen. Zum Beispiel kann ich kein Bild machen vom Tropfen bevor er aufs Wasser trifft (aus ca. 40cm Höhe)
 
Könnte es mit der Trägheit der Auslösung oder mit der Reaktionszeit der Infrarotübertragung zu tun haben? Zum Beispiel kann ich kein Bild machen vom Tropfen bevor er aufs Wasser trifft (aus ca. 40cm Höhe)

Die Infrarotübertragung an sich hat praktisch keine Verzögerung, Jedoch hat das IR-Signal selbst eine teilweise recht beachtliche Länge.
Die Kamera hat bedingt durch die Mechanik auch noch eine Auslöseverzögerung.

Bei mir mit meiner D40 und Infrarotsteuerung geht das so weit, dass selbst bei einer Verzögerung von 0 ms bereits die Krone im Wasser aufgenommen wird.

Freundliche Grüße
Ralf
 
Genau das meine ich,Ralf. Und ändern kann man das nur, in dem man die Tropfenhöhe verändert ?
PS: Deine creazymachine sieht klasse aus - VORFREUDE :):) !!!
 
ich habe endlich alles in ein Gehäuse gesteckt (ein paar Fotos mache ich später :) ) und mit ersten Versuchen angefangen...und ich bin mir nicht sicher ob ich mir die Funktion der Sensoren falsch interpretiert habe oder etwas funktioniert nicht...aber...ich habe mir gedacht dass die Ventile sofort nach einem "Start" ein paar Tropfen generieren und die Kamera und Blitzgeräte durch die Lichtschranke ausgelöst werden...aber es tut so dass alle Geräte mit der Lichtschranke ausgelöst werden (und da verstehe ich nicht, wie ich die Lichtschranke nutzen sollte..) Wie sollte es "richtig" sein?
 
Zuletzt bearbeitet:
Wenn Du sowieso Ventile benutzt, macht die Lichtschranke nach meiner aktuellen Meinung nicht sonderlich viel Sinn.
Es kann aber gut sein, dass ich da in der Routine nochmal unterscheiden müsste zwischen Geräten, die per Lichtschranke ausgelöst werden sollen und Geräten, die einfach per Verzögerung ausgelöst werden sollen. Wäre auf jeden Fall leicht zu implementieren.
 
So,

hab auch endlich mal fertig gelötet, und getestet...
Hatte Anfangs auch Probleme mit den Tasten.
Nachdem ich die Werte in der Version 3c auf

1023, 488, 0, 132, 321, 724
abgeändert habe, ging es.

Habe dann die 4beta ausprobiert (in der gar keine Werte angegeben waren) und die crazymachine rennt komplett nach rechts im Menü auf PC-öModus und keine Taste ging.

Hab dann den Code an selbiger Stelle wie bei 3c auf meine Werte abgeändert, aber selbes Spiel... rennt zum PCModus und das wars.

Woran kann es liegen?

Ansonsten schon ne sehr coole Sache :)

Danke, Gruß Ben
 
Nachdem ich die Werte in der Version 3c auf

1023, 488, 0, 132, 321, 724
abgeändert habe, ging es.

Das klingt gut, dann funktioniert die Hardware erst mal;)

Warum es mit V 4beta nicht geht, weiss ich nicht. Die Werte für die Tasten müssen allerdings auch irgendwo im Code versteckt sein!

fG Ralf

EDIT: Habe die Tastenwerte gefunden, sind im Hauptprogramm (Reiter crazymachine). Da sind sogar schon die richtigen Werte für die Platine eingetragen, musst nur noch aktivieren!
 
Zuletzt bearbeitet:
Da sind sogar schon die richtigen Werte für die Platine eingetragen, musst nur noch aktivieren!

Denke auch, das die Hardware funktioniert :)

Habs eben gesehen, passt soweit... nur wie aktiviere ich die?
bei mir steht da:

// Knopf-Messwerte für crazyMachine Platine: // Rechts: 0 // Oben: 132 // Unten: 321 // Links: 488 // Select: 725 // keiner: 1023
#define BUTTONVALUE_RIGHT 0
#define BUTTONVALUE_UP 132
#define BUTTONVALUE_DOWN 321
#define BUTTONVALUE_LEFT 488
#define BUTTONVALUE_SELECT 724
#define BUTTONVALUE_NONE 1023
#else
// Ansonsten alles wie in Version 0.2x einstellen (z.B. für Benutzung von DFRobot LCD Shield
#define MAX_DEVICE_COUNT 8 // maximale Anzahl Geräte
#define MAX_SENSOR_COUNT 4 // maximale Anzahl Sensoren
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Pins für die LCD-Ansteuerung
// Pin für die Knöpfe am LCD-Shield
#define BUTTON_PIN A0
const byte device_pin[MAX_DEVICE_COUNT] = {13, 12, 11, 3, 2, 1, 0, A5}; // Pins für Geräte
const byte sensor_pin[MAX_SENSOR_COUNT] = {A1, A2, A3, A4}; // Pins für Sensoren
// Knopf-Messwerte für DFRobot LCD Shield: // Rechts: 0 // Oben: 142 // Unten: 328 // Links: 504 // Select: 741 // keiner: 1023
#define BUTTONVALUE_RIGHT 0
#define BUTTONVALUE_UP 142
#define BUTTONVALUE_DOWN 328
#define BUTTONVALUE_LEFT 504
#define BUTTONVALUE_SELECT 741
#define BUTTONVALUE_NONE 1023
#endif



und im Reiter control_functions steht das hier:

// Funktion, um Spannungsveränderungen durch die Knopfdrücke in einen Integer umzuwandeln (SELECT, LEFT, UP, DOWN, RIGHT)
byte read_button_state() {
int button_value[6] = {BUTTONVALUE_NONE, BUTTONVALUE_LEFT, BUTTONVALUE_RIGHT, BUTTONVALUE_UP, BUTTONVALUE_DOWN, BUTTONVALUE_SELECT}; // Array mit den Werten der Knöpfe erstellen
int button_read = analogRead(BUTTON_PIN);
for (byte button_id = 0; button_id < 6; button_id++) {
if (button_read < button_value[button_id] + 5 && button_read > button_value[button_id] - 5) { // Schwankungen der Messwerte um +/-5 erlauben und trotzdem Knopf zuordnen
return button_id;
}
}
return BUTTON_NONE;

Wenn ich da Werte angebe, passiert auch nix... aber genau da hab ich bei 3c die Werte eingetragen.
 
ich habe nachgedacht..hast Recht :)
Wenn Du sowieso Ventile benutzt, macht die Lichtschranke nach meiner aktuellen Meinung nicht sonderlich viel Sinn

wäre aber trotzdem nicht schlecht wenn man es unter Menü auswählen könnte :)
Es kann aber gut sein, dass ich da in der Routine nochmal unterscheiden müsste zwischen Geräten, die per Lichtschranke ausgelöst werden sollen und Geräten, die einfach per Verzögerung ausgelöst werden sollen. Wäre auf jeden Fall leicht zu implementieren.

und noch eine Idee..vielleicht schon erwähnt aber:
...eine Option unter Menü wo man eine fixe Verzögerungszeit Zeit der Blitzgeräte zur Kamera eingeben könnte und wenn man dann Verzögerung bei der Kamera verändert verändern sich auch die Verzögerungszeiten der Blitzgeräte mit...
 
Ziemlich weit oben im Reiter Crazymachine:

Code:
////////////////////////////////////////////////////////////////////
// Wenn die Platine von Ralf verwendet wird, hier die "//" 
// entfernen (verändert die Pin-Belegungen)
// Remove "//" if using the official crazyMachine PCB
////////////////////////////////////////////////////////////////////
//#define USE_NANO_PCB

fG Ralf
 
...eine Option unter Menü wo man eine fixe Verzögerungszeit Zeit der Blitzgeräte zur Kamera eingeben könnte und wenn man dann Verzögerung bei der Kamera verändert verändern sich auch die Verzögerungszeiten der Blitzgeräte mit...

Darüber habe ich heute früh im Auto nachgedacht und fand die Idee auch nicht schlecht;)
 
Ziemlich weit oben im Reiter Crazymachine:

Code:
////////////////////////////////////////////////////////////////////
// Wenn die Platine von Ralf verwendet wird, hier die "//" 
// entfernen (verändert die Pin-Belegungen)
// Remove "//" if using the official crazyMachine PCB
////////////////////////////////////////////////////////////////////
//#define USE_NANO_PCB

fG Ralf

Das war bei mir standardmäßig schon "freigeschaltet"...

steht so da:
#define USE_NANO_PCB

Ich probier noch ein bißchen rum...
 
Das mit den Blitzen finde ich eine gute Idee und lässt sich sicherlich auch umsetzen, das dürfte noch nichtmal sonderlich kompliziert sein. Im Grunde genommen muss nur bei Aufruf der Verändern-Funktion geprüft werden, ob es eine Kamera ist und wenn ja, die Differenz aus vorherigem und neuem Wert gespeichert werden und entsprechend auf alle Blitze angewendet werden.

@Paliku:
Sieht sehr schick aus. Herzlichen Glückwunsch zur Fertigstellung :)

@Bentax:
Warum das mit den Knöpfen bei Dir nicht funktioniert, verstehe ich ehrlich gesagt nicht. Es gab mal eine 0.4er Beta-Version mit einem Rest Debug-Code, der verhindert hat, dass überhaupt etwas mit den Knöpfen verstellt werden konnte, aber die war nur einen Tag auf meinem Server und das Problem sollte schon seit einer Weile behoben sein.
Bei mir funktioniert die aktuelle Beta jedenfalls bestens.
Das einzige, was mir noch einfällt, wären unterschiedliche Pin-Belegungen beim Arduino Nano, da gibts verschiedene Versionen, in denen die Analog-Pins in der Reihenfolge vertauscht sind, so dass die Knöpfe dann teilweise an A6 liegen.
 
Warum das mit den Knöpfen bei Dir nicht funktioniert, verstehe ich ehrlich gesagt nicht. Es gab mal eine 0.4er Beta-Version mit einem Rest Debug-Code, der verhindert hat, dass überhaupt etwas mit den Knöpfen verstellt werden konnte, aber die war nur einen Tag auf meinem Server und das Problem sollte schon seit einer Weile behoben sein.
Bei mir funktioniert die aktuelle Beta jedenfalls bestens.
Das einzige, was mir noch einfällt, wären unterschiedliche Pin-Belegungen beim Arduino Nano, da gibts verschiedene Versionen, in denen die Analog-Pins in der Reihenfolge vertauscht sind, so dass die Knöpfe dann teilweise an A6 liegen.

Also die 3C funktioniert ja soweit... und da werden ja wohl auch vermutlich die selben Pins angesprochen...

Als Arduino hab ich den:
http://www.komputer.de/zen/index.php?main_page=product_info&cPath=21&products_id=35

Sollte mir vielleicht mal nen anderen besorgen. Irgendwelche Tips?
 
WERBUNG
Zurück
Oben Unten