• 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.
  • Mitmachen beim DSLR-Forum Fotowettbewerb Mai 2024.
    Thema: "Diagonale"

    Jeden Monat attraktive Gewinnprämien, gesponsert von unserem Partner PixelfotoExpress.
    Alle Infos zum Mai-Wettbewerb hier!
WERBUNG

Bastelanleitung: Arduino-basierter Lichtschranken-Trigger

Hab die Dateien entpackt, Alle zusammen markiert und in das Arduino Fenster gezogen.
Da befinden sich dann auch die Dateien. Dann gehe ich auf Senden und dann kommen die Fehlermeldungen. :confused:
 
Schau mal nach, ob die Dateien sich in dem Ordner "crazymachine" befinden, das ist essentiell für Arduino! Sonst funktioniert das nicht! Der Ordner muss genau so heissen, wie das Hauptprogramm, in dem die Namen deklariert werden. Das würde Deine Fehlermeldungen erklären: not daclared in this scope, oder so ähnlich;))
 
Hallo in die Runde,

bin derzeit dabei die Schaltung auf einem Shield aufzubauen. Habe leider ein Shield gekauft, welches die Anschlüsse nicht nach aussen gibt und somit alles auf der Fläche des Arduino Platz finden muss.
Ganz schön kniffelige Aufgabe, nervt auch ganz schön!!

Daher meine Frage: Gibt es schon Ansätze von Kollegen hier die sich schon an einem eigenen Platinenlayout versucht haben?
So etwas dürfte den Nachbau sicherlich vereinfachen und auch für Neulinge im Nachbau sicherer gestalten.
Ich könnte mir z. B. eine extra Platine vorstellen, die neben der Schaltung auch direkt die ganzen Anschlussbuchsen enthält und dann mit einem Flachbandkabel mit einem Anschlussshield verbunden wird. Zur weiteren Vereinfachen könnte man hier auch 40polige Pfostenstecker mit den alten IDE Kabeln zur Verbindung verwenden. Das dürfte die Sache schon sehr vereinfachen und ist auch nicht teuer bzw. fast überall in den Restkisten vorhanden.
Ich werde mir mal ansehen wie so ein schaltungslayout mit eagle zu basteln ist.

Gerade gesehen das Niggoh die 02 Version angekündigt hat auf seiner Webseite.
Das dürfte sicherlich zu reichlich Speichelfluss bei einigen führen (hats bei mir schon).

gruss
peter
 
Bzgl. der angekündigten Version 0.2:
Im Grunde genommen habe ich nur angefangen, einige Dinge umzusetzen, die ich schon längere Zeit geplant hatte. Bei dieser Gelegenheit habe ich die Steuerung der externen Geräte (Kameras, Blitze, Ventile) vereinheitlicht, was deutlich übersichtlicheren Programmcode erlaubt. Wird aber noch eine Weile dauern, bis das alles so funktioniert, dass ich es für öffentliche Tests freigeben kann, also Geduld bitte.

Und zum ersten Teil des Posts:
Die Idee mit einer eigenen Platine bzw. einem eigenen Schild hatte ich schon. Genaugenommen habe ich mir aus diesem Grunde das Wingshield zugelegt, das ich aber letztlich für ungeeignet befunden habe.

Nun fehlt mir ein bisschen das Know-How für eine vorgefertigte Platine, falls sich da jemand zu berufen fühlt, bin ich aber für eine entsprechende Umsetzung mehr als dankbar. Die Frage ist, was man dort an Funktionen implementiert haben will, denn die Software ist leicht verändert, Hardwareänderungen kosten immer direkt Geld.

Wenn jemand ein bisschen Geld in die Hand nehmen möchte, gibts übrigens das Camera Axe Shield zu kaufen, Details dazu verrät Google.

Ansonsten können wir gern eine "Feature-Wunschliste" anlegen, auf deren Basis man dann überlegen könnte, was an Hardware eigentlich benötigt wird. Zur Softwareumsetzung kann ich mich dann ggf. äußern.

Jeder darf sich gern aktiv beteiligen, ich sehe das hier nach wie vor als offenes Bastelprojekt für jeden Interessierten.
 
Vielleicht wäre es für euch interessant mal nach Fritzing zu schauen. Mn kann dort Arduino-Projekte virtuell auf einem Breadboard aufbauen und sich zum Schluss daraus eine Platine rechnen lassen. Es gibt auch einen Fritzing-Platinen-Service bei dem man dann die Platine bestellen kann. Leider sind nur sehr wenige elektronische Bauteile in der Bibliothek beinhaltet.
 
Neuigkeiten bzgl. 0.2:
Ich habe die Implementierung der Funktionen soweit fertig:
- Verzögerungsmodus (=Wassertropfen)
- Lichtschrankenmodus
- Speichern und Lesen von 3 verschiedenen Presets sowie einem Satz Grundeinstellungen im EEPROM des Arduino
Der Programmcode ist nur noch halb so lang wie vorher und kompiliert sich fehlerfrei, allerdings konnte ich ihn noch nicht testen, weil die Menüoberfläche zur Bedienung noch fehlt. Da ich sämtliche Menüs praktisch komplett neu programmieren muss, wird das noch ein wenig Arbeit sein. Ich bin die komplette nächste Woche auf einer Fortbildung, deswegen wird das frühestens Anfang Dezember fertig.

Möglichst konkrete Vorschläge zur Menüführung werden bis dahin noch angenommen. Dabei bitte im Hinterkopf behalten, dass man nur 5 Knöpfe und ein zweizeiliges LCD mit je 16 Zeichen pro Zeile zur Verfügung hat.
 
Heute war wieder mal Basteltag:)
Die IR-Fernsteuerung habe ich jetzt komplett vom Arduino getrennt, weil das Zeitmanagement des IR-Signals Niggohs Programm durcheinander brachte. Ich habe jetzt doch meine IR-Fernbedienung geschlachtet und am Arduino angeschlossen. Funktioniert bisher perfekt, die Verzögerung durch die Dauer des IR-Signals ist natürlich nach wie vor zu berücksichtigen. Ich habe mich durch Versuche an 1/125 s herangetastet, damit fange ich den Blitz noch ein.
Also Niggoh, nimm den Code der IR-Diode wieder raus, es sei denn, du bist so ehrgeizig, dass du das ohne delay in deinem Zeitmengement integrieren möchtest;)
Das Speichern der Werte im EEPROM finde ich sehr praktisch und auch wichtig, weil es mit den Tasten des LCD-Shields etwas mühselig ist, sich durchs Menü zu boxen und Werte zu verändern. Ich habe die Ahnung, dass die Entprellung der Tasten nicht wirklich funktioniert, weil ja alle an einem analogen Port angeschlossen sind. Ich denke darüber nach, die Tasten auf digitale Ports zu legen, sind ja noch welche übrig, und vom LCD-Shield zu trennen.
Ja, und dann die Menüführung..., meine Frau hat einen neuen E-Herd in der Küche. Zweizeiliges Display und zwei Knöpfe- eine Katastrophe! Hab schon gesagt, ich hätte das anders programmiert:lol:
Menüführung, vor allem wenn sie selbst erklärend sein soll halte ich für höhere Kunst. Ich werde mir mal Gedanken darüber machen.
Vielleicht bleibt auch noch Zeit, um mal wieder einen Tropfen zu fotografieren:rolleyes:
 
@Niggoh
HI, ich habe noch mit der ersten Version deiner Software gearbeitet, jetzt kommt die Zeit, wo ich mehrere Ventile ansteuern möchte, deswegen müsste ich die Grundlagen erstmal dafür schaffen. Deine "krase" :) If-Anweisungen für die Ventil-Steuerung haben mich beim Ausbau etwas verunsichert. :)
Ich habe die Steuerung optimiert. Hier ist ein einfaches Programm für 1 Ventil und Kameraauslösung (ohne Lichtschranke), ich kenn nicht den letzten Stand deiner Software, vielleicht hast du es schon verbessert.
Code:
const int ventil_pin = 12;
const int kamera_pin = 7;

	long TimeTemp = 0;
	int vent1[] = {170, 50, 80, 20, 80, 20000}; //ungerade Zahlen sind die Tropfzeiten und gerade Zahlen sind Pausen  udn der Letzte Wert bestimmt die Zeit wann es wieder los gehen soll 
	int WaitTime = 10000;


//Kamera Variablen *********************
	
	long AusloeseVerZoegerung = 200 ;
	long ausloeser_aktivzeit = 200;
	long TempTimeAusloese = 0;
	boolean CamAkt = false;
// *************************************	
    
	int y = 0;
	
	//status Werte
	boolean VentillOn = false;
	
	public void setup()   {   
		// initialize the digital pin as an output: 

 		Serial.begin(9600);
		pinMode(ledPin, OUTPUT); 
		pinMode(ventil_pin, OUTPUT); 
		pinMode(kamera_pin, OUTPUT);
	} 

	public void loop()      
	{ 
		
//Los tropfen...
		
			if (y == vent1.length){
				y = 0;
			}	
			if (VentillOn == false && TimeTemp - millis() <= 0){
				digitalWrite(ventil_pin, HIGH);
				Serial.println("start für:");
				Serial.println(vent1[y]);
				TimeTemp = millis() + vent1[y];
				y = y + 1;
				VentillOn = true;
			} 

			if (VentillOn == true && TimeTemp - millis() <= 0){
				digitalWrite(ventil_pin, LOW);
				Serial.println("stop für:");
				Serial.println(vent1[y]);
				TimeTemp = millis() + vent1[y];
				VentillOn = false;
				y = y + 1;
			}
			
// 	Kamera auslösung	
		if (y == 0){
			TempTimeAusloese = millis() + AusloeseVerZoegerung;
		}
		if (CamAkt == false && TempTimeAusloese - millis() <= 0){
			digitalWrite(kamera_pin, HIGH);
			TempTimeAusloese = millis() + ausloeser_aktivzeit;
			CamAkt = true;
		}
		if (CamAkt == true && TempTimeAusloese - millis() <= 0){
			digitalWrite(kamera_pin, LOW);
			TempTimeAusloese = millis() + WaitTime; 
			CamAkt = false;
		}
		


	}
 
Zuletzt bearbeitet:
Ich habe auch schon die letzte Zeit mitgelesen und werde mir die nächsten Tagen, wenn die Teile angekommen sind auch so etwas zusammenbauen. Nur das Magnetventil habe ich noch nicht bestellt, da ich mir noch nicht ganz sicher bin, welches ich nehmen soll. Hat einer von euch eins mit wechselbaren Düsen, dass er mir empfehlen kann? Was ist denn ein guter durchmesser für das Ventil (6mm oder kleiner)?

Wäre nett, wenn ihr schreiben könntet welche ihr benutzt.
Danke & Gruß
Yannick

PS: Hat schon jemand darüber nachgedacht eine grafische Oberfläche zu programmieren, dass man die einstellungen am PC vornehmen kann?
 
Ich habe die Steuerung optimiert. Hier ist ein einfaches Programm für 1 Ventil und Kameraauslösung (ohne Lichtschranke), ich kenn nicht den letzten Stand deiner Software, vielleicht hast du es schon verbessert.

Danke für Deinen Input, ich schau mir das nächste Woche mal genauer an. Die Idee, die Zeiten in einem Array zu speichern gefällt mir auf jeden Fall. Meine neue Software kann problemlos 6 Ventile und auch mehrere Sensoren gleichzeitig ansteuern. Ich muss noch die Menüstruktur implementieren, aber der Rest ist im Grunde genommen fertig. Die ganzen if-Abfragen sind etwas übersichtlicher geworden. Kann Dir auch gerne eine (nicht lauffähige) Vorab-Version mailen, wenn Du schonmal in den Quelltext schauen möchtest.

@YannickB:
Zum Thema Magnetventile schau mal auf meiner Homepage unter Hardware/ Bezugsquellen.
Zur Idee des GUI: haben schon mehrere Leute implementiert, musst mal im Wassertropfen-Thread schauen.
 
Moin zusammen,

so, Teile sind mittlerweile da und verschiedene Termine mit meinem Lötkolben sind auch schon ins Land gezogen.

1. Kamera löst aus
2. Blitz 1 löst aus
3. Blitz 2 löst aus
4. Magentventil löst aus
5. Lichtschranke (konnte ich nocht nicht testen)

Ich habe die Crazymachine 01.d geladen und probiere verzweifelt die Zeitsteuerung der Tropfen usw. direkt am Arduino einzustellen, aber das gelingt mir nicht da ich nciht ins menu komme.

Das Untermenu der Tropfen kann ich ohne Probleme erreichen. Das Untermenu der Zeitsteuerung jedoch überhaupt nicht!!
Ich ändere die zeiten indem ich in der Software die werte ändere und wieder hochlade.
Frage 1:: Woran kann das liegen dass ich das Untermenu zur Zeitsteuerung nicht erreichen kann ??

Frage 2:: Die ersten Bilder waren entäuschend da meine Tropfen im Wasser untergegangen waren. Also hab ich erstmal den zweiten Tropfen abgeschaltet und versuche nun den ersten Tropfen sprich das "Stielchen" in möglichst immenser Grösse zu erwischen.
Ist aber dennoch gar nicht so einfach (auch wegen dem ständigen hochladen)

Frage 3:: Da ich mir noch nicht sicher bin ob die Lichtschranke derzeit funktioniert, kann ich das irgendwie testen?? Sprich, welchen einfluss hat die Lichtschranke auf den Ablauf.
Es sind ja Verzögerungszeiten der Kamera und der blitze vorgegeben, dazu noch Tropfenlänge und pausenzeiten. Bezieht sich das alles auf den Auslösepunkt der Lichtschranke oder hat das damit nix zu tun??

Achso, ich hab eine Canon 50d (muss ich da irgendwelche Werte vom Standardprogramm ändern??

gruss
peter
 
Frage 1: Woran kann das liegen dass ich das Untermenu zur Zeitsteuerung nicht erreichen kann ??
Ich habe ehrlich gesagt keine Ahnung. Evtl. sind an Deiner andere Widerstände an den Knöpfen verbaut, dann würde auf manche Knöpfe nicht reagiert werden.
Wo ist die Frage? :)
Frage 3:: Da ich mir noch nicht sicher bin ob die Lichtschranke derzeit funktioniert, kann ich das irgendwie testen?? Sprich, welchen einfluss hat die Lichtschranke auf den Ablauf.
Es sind ja Verzögerungszeiten der Kamera und der blitze vorgegeben, dazu noch Tropfenlänge und pausenzeiten. Bezieht sich das alles auf den Auslösepunkt der Lichtschranke oder hat das damit nix zu tun??
Die Verzögerungszeiten beziehen sich entweder auf den Unterbrechungszeitpunkt der Lichtschranke (wenn Du use_irbarrier = true gesetzt hast) oder auf die erste Auslösung des Magnetventil (wenn use_irbarrier auf false steht).

Achso, ich hab eine Canon 50d (muss ich da irgendwelche Werte vom Standardprogramm ändern??
Nein, sollte ohne Änderungen funktionieren.
 
Ich habe mir jetzt eine Menüstruktur für die Version 0.2 ausgedacht und wollte mal ein paar Rückmeldungen einholen.

So sieht es derzeit aus:
Code:
1) AUFNAHME
    Einzelbild
    Serie

2) PRESETS
    Preset wählen
    Preset laden
    Preset speichern

3) GERÄTE
    Gesamtanzahl Geräte
    Gerätenummer
    Gerätetyp
    Aktivierung unterbricht Zyklus?
    Verzögerungszeit
    Aktivzeit 1
    Pausenzeit 1
    Aktivzeit 2
    Pausenzeit 2
    Aktivzeit 3
    Zeiten kopieren von Gerätenummer

4) SENSOREN
    Anzahl Sensoren
    Sensornummer
    Sensortyp
    Sensormodus
    Sensorschwelle (%)

5) EINSTELLUNGEN
    Timeoutzeit Einzelbild
    Anzahl Bilder in Serie
    Pausenzeit zwischen Bildern in Serie
    IR-Auslöser
    IR-Auslöser Typ
    Spiegelvorauslösung benutzen
    Spiegelvorauslösung Zeit

Zur Erläuterung: es wird zwischen Geräten (Ausgabegeräte, z.B. Blitze, Kamera, Magnetventil) und Sensoren (z.B. Lichtschranke, Schallsensor) unterschieden werden. Es können bis zu acht Geräte und fünf Sensoren angeschlossen werden (mehr Pins hat das Arduino Uno nicht).
Menü 1 startet die Kamera
Menü 2 erlaubt das Speichern und Laden von 3 verschiedenen Presets (mehr passen nicht ins EEPROM)
Menü 3 erlaubt die Anpassung der Geräteeinstellungen
Menü 4 erlaubt die Anpassung der Sensoreinstellungen
Menü 5 verändert einige Einstellungen, die jeweils für alle Presets gelten (aber auch im EEPROM gespeichert werden können)

Meinungen? Änderungsvorschläge? Ansonsten würde ich im Laufe der nächsten Tage die entsprechenden Menüfunktionen implementieren.
 
Moin,

wüsste jetzt auch nicht was man im Menu noch einbauen kann da ich es mir schlecht vorstellen kann was da alles für Funktionen mit möglich sind.
Die Presets sind auf jeden Fall klasse!

Bezüglich meiner eigenen Problemchen mit Version 0.1d werde ich am Sonntach mal weiterprobieren wenn es hoffentlich regnet (Sorry ;-)
Werde dann mal schauen wie die Lichtschranke steht, bzw. ob sie im Menu überhaupt eingeschaltet ist.

Nochmal zurück zur Version 0.2
Hier sind ja sicherlich einige im Forum die das Ding nachbauen werden (ich definitiv auch). Vielleicht ist ja jemand in der Runde der das Thema Platinenlayout beherrscht. Das ganze dann in einer Sammelbestellung professionell hergestellt wäre sicherlich auch nicht zu teuer und in jedem Falle nachbausicherer.
Wäre auch bereit Zeit zu investieren und zu helfen wo ich helfen kann (z.B. Doku usw. schreiben, ggfs. testen, Bestellungen koordinieren etc.).
Ggfs. ist ja auch fritzing eine Lösung?!
Was haltet Ihr von der Idee.

gruss
peter
 
Ich denke fürs Platinen-Layout wäre Eagle besser.
Bei Fritzing ist die Libary zu klein.
Wenn man schon dabei ist, kann man den Ardu gleich rausnehmen und komplett auf der Platine aufbauen. Ist nicht soooo schwer (Atmega, ein paar Kondensatoren, Quarz usw...) und man kann das ganze Teil kleiner bauen.
Nur mal so ne Idee.
Wenn jemand mit Layoutkenntissen mitmacht versuche ich auch zu unterstützen (wenn auch nur minimal, da ich mich nicht so gut auskenne).
Mitbestellen würde ich dann auch (abhängig vom Preis, da Kleinserien imho ziemlich teuer werden können.)

Gruss
 
Die Idee von Aupex mit dem integrierten Arduino ist grundsätzlich nicht verkehrt. Bin mir aber nicht sicher wie sich dann die Komplexität steigert.
Für das Platzangebot wäre es auf jeden Fall ein Gewinn (sprich verkleinerung).
Ob sowas durchführbar bzw. ratsam ist, müsste ein EagleSpezi sagen.

Jetzt haben wir schon mal zwei Interessenten neben dem Guru himself, macht also Drei ;-)
Ich habe gerade mal bei einigen Platinenherstellern gerechnet und man kommt ca. bei 30 Platinen auf ca. 18 Euro pro doubleLayer Platine mit ca. 80x90mm Größe (hab ich nur mal grob geschätzt). Je mehr Platinen umso besser. Kann sicherlich noch billiger werden, habe die erstbesten Ergebnisse von Tante google genommen.
Es ist ja auch ne Frage ob in SMD oder normaler Ausführung. SMD, nunja .... werde diese Woche noch stolze 51 und bin mir nicht sicher ob ich Augen <> Hand so tatterfrei führen kann. Ggfs. wäre ja firmenseitige Bestückung für die Altersabteilung besser ;-)

gruss
peter
 
Ich kann nun endlich mein Tropfen-Interface vorstellen :
DropSetup_screen.jpg


Link

Ich hoffe einige aus diesem thread können damit was anfangen :eek: (y)
 
Danke für die Rückmeldungen.

Die Platine der 0.1 kann man auch problemlos für die 0.2 weiter nutzen, dann ist man zwar auf 5 Ausgabegeräte beschränkt, aber das ist nun auch nicht so dramatisch. Ich komme bisher damit hin, deswegen werde ich erstmal nichts Neues zusammenlöten. Von der Softwareseite ist es fast egal, ob ich 3, 5, 8 oder 150 Ausgabegeräte habe. Die Genauigkeit wird mit zunehmender Anzahl etwas abnehmen, irgendwann gibts vermutlich auch Probleme mit dem Speicher. Die aktuelle Beschränkung auf 8 Ausgabegeräte liegt eigentlich nur an der Größe des EEPROMs, wobei da mit etwas besserer Programmierung wohl auch etwas mehr möglich wäre. Allerdings beschränkt uns dann sehr schnell auch die Anzahl der verfügbaren Ausgabepins am Arduino.

Bezüglich Funktionsumfang der Version 0.2:
Auf die Grundlagen reduziert macht das Arduino nichts anderes, als nach einer bestimmten Verzögerungszeit verschiedene Ausgabegeräte anzusteuern, bei Bedarf in Abhängigkeit von den Messwerten bestimmter Sensoren. Nutzt man keinen Sensor, ist es nur eine einfache Verzögerungsschaltung. Werden Sensoren eingesetzt, ist es eine Verzögerungsschaltung, die erst nach Erfüllung einer Bedingung gestartet wird. Fast alles, was sich auf diese beiden Funktionsweisen reduzieren lässt, kann man theoretisch realisieren, ggf. mit minimalen Erweiterungen am Programmcode.
Die Software ist somit nicht auf Wassertropfen beschränkt, man könnte theoretisch z.B. auch 8 verschiedene Kameras gleichzeitig zeitversetzt ansteuern. Wer allerdings so viel Geld für Kameras hat, wird sich vermutlich nicht mit einem Arduino-Eigenbau herumschlagen :cool: Ansonsten die üblichen Möglichkeiten, Gewitterblitze, Zeitraffer, etc. - aber dafür gibts ja schon haufenweise kompakte und sehr funktionelle Lösungen.

Bezüglich Platine:
Ich werde diese nicht entwickeln, weil ich einfach nicht genug Ahnung von der Materie habe. Wenn ich hier falsche Infos gebe und jemand deswegen Bauteile für 1,50 Euro zerstört, kann ich das mit meinem Gewissen vereinbaren. Eine Platine sollte samt Bestückung ist deutlich teurer und sollte dann auch wirklich fehlerfrei durchgeplant sein - das kann ich mangels ausreichender Kenntnisse nicht gewährleisten.
Wenn sich jemand besser damit auskennt und das so hinbekommt, dass auch ein durchschnittlich begabter Mensch das Ding zusammenlöten kann, bin ich aber schon aus Interesse mit von der Partie. SMD fällt also aus, zumindest wenn ich Wikipedia richtig verstanden habe. Bei dieser Gelegenheit sollte man dann übrigens ein größeres Display verbauen.
 
WERBUNG
Zurück
Oben Unten