• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs Juli 2025.
    Thema: "Unscharf"

    Nur noch bis zum 31.07.2025 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • 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 ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Bastelanleitung: Arduino-basierter Lichtschranken-Trigger

In meiner 0.4beta steht das:
Code:
  #define BUTTON_PIN A0
In meiner 0.3c das:
Code:
 #define BUTTON_PIN A1
vielleicht liegt da der Hase im Pfeffer?
Ich kann nur gerade nicht nachgucken welche funktionert, bin unterwegs.

fg Ralf
 
Zuletzt bearbeitet:
Liebe Freunde der Tropfenfotografie,

leider bin ich bis heute nicht auf die Lösung meines Problems gekommen.
Ich werde nun notgedrungen die Arduino-Displaylösung in den Wind schießen müssen. :(:(:(

Euch viel spass beim ausprobieren...

Ich werde auf jeden fall die Entwicklungen weiter verfolgen und vllt. wird es eines Tages eine Softwareversion geben, die auch ich als absoluter Noob zum laufen bringe...

Bis dahin...
 
Rein interessehalber: was hast Du denn so für Zeiten eingestellt? Wenn die sich alle um 1 ms bewegen, können da schonmal Aktivierungen und Deaktivierungen ausfallen, weil das Programm in der Zwischenzeit ja noch verschiedene Dinge erledigen muss. Ich würde mal, ohne das irgendwie getestet zu haben, alles > 20 ms als einigermaßen sicher bezeichnen, vermutlich sollten aber auch deutlich kleinere Werte funktionieren.

Hast Du mal eine ältere Softwareversion versucht?

Ich habe momentan aufenthaltsortbedingt kein Multimeter zur Verfügung, erst Anfang April könnte ich meine Ausgänge mal durchmessen, um Dein Problem nachzuvollziehen.

Eine idiotensichere Software im Sinne von Plug and Play wirds vermutlich niemals geben, weil zu viele potentielle Fehlerquellen vorhanden sind. Wer eine einfache, funktionierende Lösung haben möchte, sollte sich bei den kommerziellen Anbietern umschauen. Da funktioniert alles von Anfang an und man kennt (zumindest wenn man sich ausreichend informiert) die Limitationen. Dafür zahlt man dann eben ein paar hundert Euro mehr. Ich habe nie einen kommerziellen Ansatz verfolgt, schon weil ich die entsprechenden Qualitäts- und Supporterwartungen niemals hätte erfüllen können. Deswegen bleibt es nunmal eine Bastellösung, die den großen Vorteil der Flexibilität bei dem großen Nachteil der zu investierenden Zeit hat.
 
Zuletzt bearbeitet:
Mal wieder was erfreuliches:
Da zum Wassertropfen fotografieren das Wetter heute zu schön war, habe ich mal die Zeitrafferfunktion der crazyMachine getestet.
Das Ergebnis ist (hoffentlich) hier zu sehen.
Ich übe noch:rolleyes:

fG Ralf
 
Trotz des schönen Wetters habe ich heute mal wieder etwas experimentiert. Ganz interessant finde ich den Tropfen der durch die Blase saust und auftrifft.

@ Hoekri. Ralf der Arduino aus Fernost ist immer noch nicht in Sachsen, der Aufbau hat also noch Zeit. Was für Magnetventile wären denn gut bzw. welche und wieviele benutzt du?
 
Was für Magnetventile wären denn gut bzw. welche und wieviele benutzt du?

Ich habe nur einen rudimentären "Kettenöler", gekauft bei Ebay für ca. 15 €.
Zum Thema Magnetventile und Düsen gibt es im Wassertropfenthread sicher fundamentiertere Erkenntnisse.

Deine Blasenbilder sind gut, das erste gefällt mir am besten;)

fG Ralf
 
Hallo,

angeregt durch Eure tollen Fotos will ich es jetzt auch mit den Tropfen ausprobieren.

Ich habe mir bei Ralf die Platiene bestellt, bestückt, der ARDUINO NANO ist gestern auch angekommen und, da ich keine Ahnung von Quelltext und
Programmierung habe, will ich das ganze über die Droplet-Software von Stefan ansteuern.

1. Problem: Ich habe die ARDUINO Software wie beschrieben aufgespielt, aber das Display zeigt nichts an:(
(blaue Hintergrundbeleuchtung, Kontrast lässt sich regeln)
Der Nano scheint zu arbeiten (blaue LED an, gelbe blinkt, und wenn ich was aufspiele blinkt auch die rote)
2. Wenn ich über Droplet einen Befehl gebe, blinkt auch die rote LED, aber das Ventil macht nichts.
Habe jetzt nicht wirklich Ahnung von Elektronik, anhand des Schaltplanes habe ich die Verbindungen nachgemessen und keinen Fehler oder
Kurzschluss entdeckt, Lötstellen sehen gut aus.

Kann mir jemand von euch einen Tip geben?

Gruß Stefan
 
... will ich das ganze über die Droplet-Software von Stefan ansteuern.

Welche Software hast Du auf den Arduino gespielt? Der Droplet-Sketch macht keine Ausgaben auf dem Display.

Ich benutze folgendes Testprogramm. Zuerst wird der Tastenwert und die Sensoren ausgelesen und angezeigt, anschließend alle Anschlüsse der "crazyMachine" nacheinander angesprochen.
Wenn Du keinen Nano aus Fernost hast, musst Du womöglich die Pinbelegung ändern, da es zwei verschiedene Nanos gibt.

Code:
/*
  CrazyMachine-Testprogramm
  
 */
 
#include <LiquidCrystal.h>        // Bibliothek für die Steuerung des LCD einbinden 
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// Startet das LCD und zeigt das Bootlogo
void lcdInit() {
  lcd.begin(16,2);                        // LCD initialisieren
  lcd.print("cazyMachine-Test");
  delay(2000);
  lcd.clear();                            // Display löschen
}

// Gibt Zahlen in der zweiten Zeile des LCD aus
void lcd_print_numerical(unsigned long numerical_value) {
  lcd.clear();
  lcd.setCursor(0,1);
  lcd.print(numerical_value); // aktuelle Zahl ausgeben
}


 
int knopfwert_auslesen() {
  int messwert = analogRead(A7);
  lcd_print_numerical(messwert);
  delay(1000);
  return messwert;
} 

int sensor_1_auslesen() {
  int messwert = analogRead(A6);
  lcd_print_numerical(messwert);
  delay(1000);
  return messwert;
} 

int sensor_2_auslesen() {
  int messwert = analogRead(A5);
  lcd_print_numerical(messwert);
  delay(1000);
  return messwert;
} 

void setup() { 

 lcdInit(); // LCD Initialisieren
 
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
pinMode(3, OUTPUT);   //Magnetventil 1
pinMode(2, OUTPUT);   //Magnetventil 2
pinMode(11, OUTPUT);  //Magnetventil 3
pinMode(13, OUTPUT);  //Focus
pinMode(12, OUTPUT);  //Auslöser
pinMode(A2, OUTPUT);  //Blitz 1
pinMode(A3, OUTPUT);  //Blitz 2
pinMode(A4, OUTPUT);  //Blitz 3
pinMode(A7, INPUT);   //Tasten

}

void loop() {
  knopfwert_auslesen();
  delay(1000);
  sensor_1_auslesen();
  delay(1000);
  sensor_2_auslesen();
  delay(1000);
  digitalWrite(3, HIGH);   // set the MV 1 on
  delay(50);              // wait for a time
  digitalWrite(3, LOW);    // set the MV 1 off
  
  delay(500);              // wait for a time
  
  digitalWrite(2, HIGH);   // set the MV 2 on
  delay(50);              // wait for a time
  digitalWrite(2, LOW);    // set the MV 2 off
  delay (200);
  digitalWrite(2, HIGH);   // set the MV 2 on
  delay(50);              // wait for a time
  digitalWrite(2, LOW);    // set the MV 2 off
  
  delay(500);              // wait for a time
  
  digitalWrite(11, HIGH);   // set the MV 3 on
  delay(50);              // wait for a time
  digitalWrite(11, LOW);    // set the MV 3 off
  delay (200);
  digitalWrite(11, HIGH);   // set the MV 3 on
  delay(50);              // wait for a time
  digitalWrite(11, LOW);    // set the MV 3 off
  delay (200);
  digitalWrite(11, HIGH);   // set the MV 3 on
  delay(50);              // wait for a time
  digitalWrite(11, LOW);    // set the MV 3 off
  
  delay(500);              // wait for a time
  
  digitalWrite(13, HIGH);   // set the Focus-Pin on
  delay(50);              // wait for a time
  digitalWrite(13, LOW);    // set the Focus-Pin off
  
  delay(500);              // wait for a time
    
  digitalWrite(12, HIGH);   // set the Shutter-Pin on
  delay(100);              // wait for a time
  digitalWrite(12, LOW);    // set the Shutter-Pin off
  
  delay(500);               // wait for a time  
  
  digitalWrite(A2, HIGH);   // set the Flash 1-Pin on
  delay(10);              // wait for a time
  digitalWrite(A2, LOW);    // set the Flash 1-Pin off
  
  delay(500);              // wait for a time
   
  digitalWrite(A3, HIGH);   // set the Flash 2-Pin on
  delay(10);              // wait for a time
  digitalWrite(A3, LOW);    // set the Flash 2-Pin off
  
  delay(500);              // wait for a time
   
  digitalWrite(A4, HIGH);   // set the Flash 3-Pin on
  delay(10);              // wait for a time
  digitalWrite(A4, LOW);    // set the Flash 3-Pin off
  
}

FG Ralf
 
Guten Abend Leute !

Sehe ich das richtig, dass ich Software crazyMachine ohne LCD-Display (CrazyMachine Hardware und Arduino nano sind vorhanden) nicht verwenden kann ?

LG
Michael
 
Verwenden kannst Du sie schon, allerdings wirst Du Probleme haben, Dich ohne visuelle Rückmeldung durch die Menüs zu navigieren.

Aber Ralf hat doch auf seine Platine eigentlich ein Display gebastelt. Die andere Version ist nicht fürs Nano sondern fürs Uno gedacht.
 
Morgen !

Verwenden kannst Du sie schon, allerdings wirst Du Probleme haben, Dich ohne visuelle Rückmeldung durch die Menüs zu navigieren.

Okay, alles klar.

Aber Ralf hat doch auf seine Platine eigentlich ein Display gebastelt. Die andere Version ist nicht fürs Nano sondern fürs Uno gedacht.

Ja, mein Display ist zwar bestellt, aber noch nicht hier eingetroffen.
Und nachdem ich Probleme mit Droplet habe, wollte ich mal alternativ deine Software verwenden.

LG
Michael
 
Das liegt mit großer Wahrscheinlichkeit an der Droplet-Pinbelegung. Diese passt nicht zur Platine, weil ja nicht dafür geschrieben.
Ich habe erst heute Nachmittag Zeit und werde das versuchen, anzupassen.

fG Ralf
 
Hallo an alle,

ich habe die Pin-Belegung im Droplet-Sketch für meine Platine und den Arduino Nano aus Fernost angepasst. Die entsprechende Zeile lautet:
Code:
char deviceMapping[DEVICE_NUMBERS] = { 3, 2, 11, A2, 12, A3, A4, 13, 1, 4, 5 };
Unten nochmal der vollständige geänderte Sketch.

Im Droplet-Programm musst Du zwingend noch zwei Blitzgeräte hinzufügen, auch wenn Du sie nicht benötigst.
Sonst stimmt die Zuordnung nicht mehr. Also 3 MV, 3 Blitze, eine Kamera und wenn nötig eine zweite für den Autofokus.
Mit der Gerätesteuerung (an/aus) kann man jeden Anschluss einzeln testen.
Bei mir funktioniert es. Vielen Dank an dieser Stelle auch noch mal an Stefan Brenner:top:

Viel Spass und schönen Sonntag

Ralf Höppner

Code:
/*******************************************************************************
 * Project: Droplet - Toolkit for Liquid Art Photographers
 * Copyright (C) 2012 Stefan Brenner
 *
 * This file is part of Droplet.
 *
 * Droplet is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Droplet is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Droplet. If not, see <http://www.gnu.org/licenses/>.
 *******************************************************************************/
 
 //+++++PIN-BELEGUNG AN DIE PLATINE FÜR NANO ANGEPASST+++++


#include "logging.h"
#include "protocol.h"
#include "droplet.h"

#define BOUD_RATE         9600
#define MAX_INPUT_SIZE    50   // how many memory can we use one the different arduino devices?


                                   //  1  2  3  4  5  6  7  8  9  10  11  12, 13
char deviceMapping[DEVICE_NUMBERS] = { 3, 2, 11, A2, 12, A3, A4, 13, 1, 4, 5 };


/*
 * setup stuff befor we start our main loop
 */
void setup() {
  // start serial communication
  Serial.begin(BOUD_RATE);
 
  // setup pin modes
  for(int i = 0; i < DEVICE_NUMBERS; i++) {
    pinMode(deviceMapping[i], OUTPUT);
  } 
  
}

 
/*
 * entry point
 */
void loop() {
  // nothing to do here
}



char input[MAX_INPUT_SIZE];
int count = 0;

void serialEvent() {
  while (Serial.available()) {
        
    // get the new byte:
    char inChar = (char) Serial.read(); 
    
    // TODO brenner: consume input byte by byte
    
    if (inChar == '\n') {
      
      input[count] = '\0';
      
      logging(DEBUG, input);
      
      // TODO process byte by byte to prevent serial buffer overflow
      
      processCommand(input);
      
      count = 0;
      
      // TODO send received message next can come
      
    } else {
      
      // add it to the inputString:
      input[count] = inChar;
      count++;
      
    }
     
  }
}
 
Hallo zusammen,

in Droplet kann man in der Geraetesteuerung die Pin-Belegung direkt bearbeiten. Somit braucht man auch keine unnoetigen Geraete hinzufuegen. (siehe Attachment)
Das jemand die Analogen Pins verwendet, damit habe ich nicht gerechnet ;-) Ich werde ein entsprechendes Mapping einbauen.

Beste Gruesse,
Stefan
 
Zuletzt bearbeitet:
Abend !

Hallo zusammen,
in Droplet kann man in der Geraetesteuerung die Pin-Belegung direkt bearbeiten. Somit braucht man auch keine unnoetigen Geraete hinzufuegen. (siehe Attachment)

Ja, das hab ich gesehen.

Das jemand die Analogen Pins verwendet, damit habe ich nicht gerechnet ;-) Ich werde ein entsprechendes Mapping einbauen.

Was bedeutet das jetzt für mich ?
Mit der Anpassung von Ralf probieren ?

Danke für eure Hilfe und eure Geduld mit einem Unwissenden :o

Michael

Ergänzung:

Hab nun mit Anpassung von Ralf einen Versuch gestartet.
Was jetzt klappt, ist das Ansteuern aller drei MV, des Kamerausganges (1fach derzeit) und teilweise der Blitze.

Ganz kapiere ich allerdings die Pin-Belegung in der Gerätesteuerung noch nicht.
Ich hab das so verstanden, dass zb die editierbare Zahl neben Valve1 im Screenshot von Ralf den jeweiligen Ausgang des nano bezeichnet.
Soll heißen, wenn ich dort 1 einstelle, wird das Steuersignal für Valve1 auch am D1 des nano ausgegeben.
Ist das richtig ?
 
Zuletzt bearbeitet:
Hab nun mit Anpassung von Ralf einen Versuch gestartet.
Was jetzt klappt, ist das Ansteuern aller drei MV, des Kamerausganges (1fach derzeit) und teilweise der Blitze.

Na wenn das mal kein Erfolg ist;) Was meinst Du mit "Blitzen teilweise"?

fG Ralf
 
WERBUNG
Zurück
Oben Unten