Posts mit dem Label arduino werden angezeigt. Alle Posts anzeigen
Posts mit dem Label arduino werden angezeigt. Alle Posts anzeigen

14.02.2016

Neues Jahr, neue Chili

Donnerwetter,

einen herausfordernden Job zu haben ist ja auch schön aber grade komme ich mit meinen Chili nur sehr wenig voran. Aber immerhin konnte ich vor Weihnachten die erste Aussaat machen und hier ist ein Bild von einem Purple Jalapeno, der natürlich auch dieses Jahr wieder ganz vorn dabei ist.




Diese Wochenende habe ich auch mal wieder meine Microcontrollerkiste ausgepackt. Dabei habe ich eine 8x8 Adafruit Neopixel Matrix wieder neu entdeckt und mit einem Arduino (Adafruit Pro Trinket) angesteuert. Toll was Adafruit möglich macht



Sehr bunt :-)


18.03.2012

Lumix Zeitraffer 1.0 fertig

Nach den ersten Prototypen auf dem Steckbrett ist nun auch eine alltagstaugliche Version fertig geworden. Im Inneren werkelt der Arduino Mini Pro als Steuerung. Die Front-Platine mit Anzeige und Rotary-Encoder ist über das bunte Flachkabel mit der Hauptplatine verbunden.


Und wenn der Deckel drauf ist, sieht die Front so aus. Na ja, beim Design könnte ich mir noch mehr Mühe geben und hübschere Schrauben auch nach ästhetischen Gesichtspunkten positionieren - vielleicht bei der nächsten Version.



16.04.2011

IR Arduino Selbstauslöser für Canon Spiegelreflex

Martin Koch hatte im Januar 2010 in seinem Blog eine Schaltung und einen Arduino-Code für die Fernsteuerung von Canon Kameras per Infrarotsignal veröffentlicht. Mit der Schaltung sind auch Intervallaufnahmen möglich, die sich dann zu Zeitrafferfilmen kombinieren lassen. Davon ausgehend habe ich die Schaltung um einen Transistor erweitert, so dass eine Power IR-LED mit 150 mA (SFH 485) angesteuert werden kann.



Das obige Schema und den Schaltplan habe ich mit fritzing erstellt. Eine freie Software, die ganz gut für solche Prototypen geeignet ist. Darin werden eine Darstellung für das Breadboard wie oben und ein Schaltplan sowie ein Platinenlayout gleichzeitig und synchron bearbeitet. Leider sehen die Schaltpläne immer ein bischen handgemalt aus.

Den Code aus Martin Kochs Blog  habe ich auch noch etwas veredelt, um präzisere Zeiten für die Reihenaufnahmen zu erhalten. Den Taster / Knopf zum Starten der Zeitreihen habe ich umfunktioniert. Er dient nun dazu manuell einen Impuls auszulösen, so dass der Sender auf die Kamera ausgerichtet werden kann.

/*
  IR_Canon
  Arduino Sketch 2011 by WoFu 
  
  based on http://controlyourcamera.blogspot.com/2010/01/infrared-controlled-timelapse.html
  thanks a lot to Martin Koch
  
*/

#define irLED 12 
#define statusLED 13
#define pushBUTTON 11

#define ACTIVE_HIGH_CAN 12
#define ACTIVE_LOW_CAN 12

int interval = 8; //seconds
unsigned long msecs=0;

void setup() {
  // set the LED-Pins to output
  pinMode(irLED, OUTPUT);
  pinMode(statusLED, OUTPUT);
  
  // and the button to input without pullup??
  pinMode(pushBUTTON, INPUT);
  digitalWrite(pushBUTTON, HIGH);
  
  // millis() returns the number of milliseconds since the Arduino board began running the current program. 
  // This number will overflow (go back to zero), after approximately 50 days. 
  msecs=millis(); 
}

void loop() { 

  if (millis() < msecs) {  // check for overflow
      msecs=0;    
  }
  else {
    if (millis()-msecs > interval *1000) {    
      //  seconds since last actions
      msecs=millis();
      // show on LED that something should happen
      digitalWrite(statusLED, HIGH);      
      sendInfraredSignal();
      if (interval > 1) {
        // wait half a seconds otherwise the signal can't be recognised
        delay(500);          
      }
      digitalWrite(statusLED, LOW);
    }
  }
  
  if (digitalRead(pushBUTTON) == HIGH) { 
    // someone pushed the button so fire the canon
    digitalWrite(statusLED, HIGH); 
    sendInfraredSignal(); 
    // remember the time, next action after  seconds
    msecs=millis();  
    delay(1000); //ms
    digitalWrite(statusLED, LOW); 
  }
}

void sendInfraredSignal() {
  // repeat 16 Signals
  for(int i=0; i<16; i++) { 
    digitalWrite(irLED, HIGH);
    delayMicroseconds(ACTIVE_HIGH_CAN);
    digitalWrite(irLED, LOW);
    delayMicroseconds(ACTIVE_LOW_CAN);
   } 
   
   // delay for immidiate shot
   delayMicroseconds(7330); 

  // repeat 16 Signals
   for(int i=0; i<16; i++) { 
    digitalWrite(irLED, HIGH);
    delayMicroseconds(ACTIVE_HIGH_CAN);
    digitalWrite(irLED, LOW);
    delayMicroseconds(ACTIVE_LOW_CAN);
   }   
}

Aktuell habe ich viel Spaß daran, den Sonnenuntergang aufzunehmen und mit Hilfe von Lightroom in einen Video umzurechnen. Meine Familie findet das zwar albern, aber die Ergebnisse beeindrucken dann doch.


Für alle die wissen wollen, wie man so einen Film macht und als Tip für ein Tool zur optimalen Erstellung von solchen Filmen mit Adobe Lightroom, kann ich lrtimelapse sehr empfehlen.

Inzwischen habe ich aus der Breadboard Version auch eine ordentlichere Variante auf Lochstreifen aufgebaut, die ich auf den Arduino Uno aufstecken kann.

Edit:
Inzwischen habe ich den Code an meiner EOS 60D getestet und mit je 12 uS On/Off Wartezeiten die maximale Reichweite erreicht. Bei optimaler Ausrichtung in der Wohnung waren das etwa 5 Meter.