Home > Technologie > Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Advertisement

Arduino Zeitraffer-Controller

Dieses Projekt begann ursprünglich mit einigen einfachen Teilen, die zusammengeworfen wurden, um einen sehr einfachen Zeitraffer-Controller für eine DSLR-Kamera zu schaffen. Nachdem ich mit dem ersten Prototypen zufrieden war, wollte ich eine endgültige Version erstellen, bei der die Programmierung der "Lapse Time" in einer einzigen Einheit enthalten war, anstatt sich auf einen Computer zu verlassen und die Verzögerung zwischen den Drehsitzungen zu ändern.

Nach dem Hinzufügen in ein Display, ein paar Knöpfe und ein komplexeres Programm, wurde der autonome Arduino Powered Time-Lapse Controller geboren!

Ich habe versucht, die Anweisungen so klar und benutzerfreundlich wie möglich zu machen, aber wenn irgendwelche Fragen auftreten, fühlen Sie sich frei zu fragen!

Schritt 1: Teile

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Teile:
- Arduino
- 7 Segmentanzeige
- 220 Ohm Widerstand x2
- 10K Ohm Widerstand x2
- Widerstand 470 Ohm
- Anschlussdraht
- NPN-Transistor
- 3/32 Telefonbuchse
- Anschlussdraht
- Montagefläche (zB Perfboard, Steckbrett, Leiterplatte)

Schritt 2: Verkabelung der 7-Segment-Anzeige

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Info:
Nach ein wenig Forschung, fand ich einige Beispiel - Code für eine 7 - Segment - Anzeige hier . Unter einem näheren Blick auf das erste Beispiel, bemerkte ich, dass jedes Segment des Displays zu einem sequenziellen Pin auf dem Arduino verdrahtet werden müssen. Im Falle des Beispiels sind die Pins 2-9 mit dem Pin 2 der "Punkt" auf dem Display.

Denken Sie daran, dass jedes Display Pinout ist anders und kann von der Anzeige, die ich verwendet (von Radioshack) unterscheiden, achten Sie darauf, ihr Datenblatt zu beachten.

Anleitung:
- Verdrahten Sie beide GND-Pins des Displays auf GND auf dem Arduino mit einem 220 Ohm-Widerstand
- Verkabeln Sie die Display-Pins mit sequentiellen Arduino-Pins. In meinem Fall habe ich Pins 3-9 verwendet
- Den "Dot" -Stift an den Arduino anschließen. Für mich Pin 2

Schritt 3: Verdrahten der Schaltflächen

Arduino Zeitraffer-Controller

Info:
Unter Verwendung dieses als Referenz verdrahtet ich auf die beiden Tasten

Anleitung:
Folgen Sie den Bildern in den oben genannten Link und die eine beiliegt und es sollte ziemlich einfach sein, herauszufinden.
- mit 10K Ohm Widerständen und Anschlussdraht I die Tasten an Pins 11 und 12 angeschlossen.

Schritt 4: Verdrahtung der Blendensteuerung

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Info:
Nach dem Durchlesen von Rickadams anweisbarem Zeitraffer beruhte ich meinen Kreislauf von seinem Entwurf.
Eine DSLR-Kamera verwendet eine 3/32 Phono-Buchse, um mit dieser Schaltung zu verbinden, aber dies könnte leicht an fast jede Kamera angepasst werden

Anleitung:
- Pin 1 der Phono-Buchse an Ardunio GND anschließen
- Verdrahten Sie den NPN-Transistor 1 mit Arduino GND
- Wire 470 Ohm Widerstand von einem offenen Arduino Pin (in meinem Fall 13) zu NPN Transistor Pin 2
- Pin 3 der Phono-Buchse auf Pin 3 des NPN-Transistors verdrahten

(HINWEIS: Die Pin-Werte, die in diesem Schritt angegeben werden, werden nur als Identifier verwendet und entsprechen nicht direkt den Angaben auf den Datenblättern)

Schritt 5: Blinken hochladen und Referenzblatt erstellen

Arduino Zeitraffer-Controller

Info:
Meine Annahme ist, dass das Display, das ich verwendete und wie es verkabelt ist, im Vergleich zu Ihrem Projekt anders ist. Um sicherzustellen, dass der endgültige Code ordnungsgemäß läuft, müssen wir einige Werte innerhalb des Programms ändern. Um diesen Vorgang zu erleichtern, wird ein Referenzblatt erstellt.

Anleitung:
- Öffnen Sie Arduino Blink Beispiel , und ändern Sie den Wert von "geführt" zu einem Ihrer Segment Pins. Laden Sie die Skizze zum Arduino herunter und führen Sie sie aus.
- Ändern Sie den Wert von "led" wieder zu einem anderen Pin, downloaden und ausführen
- Setzen Sie diesen Vorgang fort, während Sie die Position auf dem Display dokumentieren. Verweisen Sie das Bild als Beispiel.

Schritt 6: Ändern des Anzeigecodes für Ihre Schaltung

Arduino Zeitraffer-Controller

Anleitung:
Öffnen Sie den Segmenttestcode und ändern Sie "PIN" auf den Wert Ihres niedrigsten Pins.

Nach dem Hochladen und Ausführen des Codes sollte die Anzeige von 9 auf 0 abwärts gehen. Stattdessen zeigt das Display eine zufällige Symbolsammlung an

Mit Ihrem Referenzblatt ändern wir den vorhandenen Code, der an Ihre Schaltung angepasst werden soll.

- Am Anfang des Programms finden Sie diesen Abschnitt des Codes:
Byte sieben_seg_digits [10] [7] = {{1,1,1,1,1,1,0}, // = 0
{0,1,1,0,0,0,0}, // = 1
{1,1,0,1,1,0,1}, // = 2
{1,1,1,1,0,0,1}, // = 3
{0,1,1,0,0,1,1}, // = 4
{1,0,1,1,0,1,1}, // = 5
{1,0,1,1,1,1,1}, // = 6
{1,1,1,0,0,0,0}, // = 7
{1,1,1,1,1,1,1}, // = 8
{1,1,1,0,0,1,1} // = 9
};

Wir werden die 1s und 0s in diesem Abschnitt ändern.

- Jede Zeile entspricht der Ziffer, die angezeigt wird, und Datenmenge, um diese Ziffer korrekt anzuzeigen. Die Daten werden als 1s (on) und 0s (off) gesendet,
- Jede Spalte entspricht dem Pin, auf den die Daten geschrieben werden. Die linke Zahl entspricht dem kleinsten Pin, der durch "PIN" (in meinem Fall Pin 3) definiert ist. Wenn Sie die Zeile nach rechts bewegen, entspricht der nächste Wert dem nächsten Pin-Wert und so weiter und so weiter.

Zum Beispiel, im Falle meiner Schaltung:
- Ich möchte den Code so ändern, dass mein Stromkreis richtig "4"
- Bei Betrachtung des Referenzblatts sollten die folgenden Stifte leuchten: 3,4,7,6
- Um den Code zu ändern, ändere ich die entsprechenden Werte:

// Arduino-Stifte: 3,4,5,6,7,8,9
Byte sieben_seg_digits [10] [7] = {{1,1,1,1,1,1,0}, // = 0
{0,1,1,0,0,0,0}, // = 1
{1,1,0,1,1,0,1}, // = 2
{1,1,1,1,0,0,1}, // = 3
{1,1,0,1,1,0,0}, // = 4
{1,0,1,1,0,1,1}, // = 5
{1,0,1,1,1,1,1}, // = 6
{1,1,1,0,0,0,0}, // = 7
{1,1,1,1,1,1,1}, // = 8
{1,1,1,0,0,1,1} // = 9
};
- Setzen Sie diesen Vorgang fort, bis alle Werte geändert wurden. Nach dem Herunterladen und Ausführen des Programms sollte sich die Anzeige von 9 auf 0 verringern. Falls nicht, ändern Sie die entsprechenden Werte.

ANMERKUNG: Wenn der "Punkt" während irgendeines Schrittes dieses Prozesses aufleuchtet, stellen Sie sicher, dass die folgenden Dinge wahr sind:
- "PIN" wurde als der niedrigste Wert Ihrer Display-Pins definiert, wenn der "dot" -Pin der niedrigste ist, stellen Sie sicher, dass der nächsthöhere Wert verwendet wird
- Achten Sie beim Verdrahten des Displays darauf, dass der Punkt nicht die sequentielle Verdrahtung der Anzeigesegmentstifte unterbricht

Schritt 7: Ändern und Hochladen der abschließenden Code

Info:
Wir sind jetzt im Homestretch. Mit den Änderungen in der Segment-Test-Code, wir werden den endgültigen Code, so dass Ihre Schaltung wird die richtigen Zahlen angezeigt werden.

Anleitung:
- Kopieren Sie den bearbeiteten Code aus dem vorherigen Schritt und ersetzen Sie ihn im letzten Code
- Ändern Sie den Pin-Wert von "Bc" (Zyklus-Taste)
- Ändern Sie den Pin-Wert von "Ba" (Annahmetaste)
- Ändern Sie den Wert "PIN" auf den niedrigsten Anzeigepin
- Passen Sie die Funktion "lad" Ihrer eigenen Animation an, um die Annahme des gewählten Wertes zu bestätigen

Nachdem alle diese Änderungen vorgenommen werden, sollte der endgültige Code heruntergeladen und reibungslos ausgeführt werden.

Schritt 8: Verwendung des Rig

Arduino Zeitraffer-Controller

Arduino Zeitraffer-Controller

Funktionsweise des Programms:
- Beim ersten Einschalten der Schaltung sollte die Anzeige eventuell aufleuchten und "0" anzeigen,
- Durch Drücken der Zyklus-Taste wird der Wert um Eins erhöht und eine "1"
- Wenn Sie die Zyklus-Taste weiter drücken, erhöht sich der angezeigte Wert um eins, bis der Wert "9" erreicht ist
- Sobald "9" erreicht ist und die Zyklus-Taste erneut gedrückt wird, schaltet der nächste Wert wieder auf "0"
- Wenn Sie die Taste Akzeptieren drücken, wird der Wert im Arduino-Speicher gespeichert und eine Animationsanimation wird angezeigt
- Dieser Vorgang wiederholt sich insgesamt dreimal, wobei jede Ziffer einem Wert innerhalb der gewünschten Zeitverzögerung entspricht
- Nachdem die letzte Ziffer gespeichert ist, wird ein Countdown gestartet, nach dem Countdown nimmt die Kamera dann Bilder in dem Intervall auf, das Sie im Eingabeprozess angegeben haben
(HINWEIS: Wird beim Eingeben der Ziffern ein Fehler gemacht, kann die Reset-Taste gedrückt und das Programm neu gestartet werden)

Beispielsweise:
Dass das Intervall zwischen den Aufnahmen 1 Minute und 35 Sekunden betragen soll
- Schließen Sie die Kamera über die Phono-Buchse an
- Stromkreis einschalten
- Drücken Sie die Zyklus-Taste, bis die Ziffer 1 angezeigt wird
- Drücken Sie die Taste Akzept
- Drücken Sie die Zyklus-Taste, bis die Zahl 3 angezeigt wird
- Drücken Sie die Taste Akzept
- Drücken Sie die Zyklus-Taste, bis die Zahl 5 angezeigt wird
- Drücken Sie die Taste Akzept
- Nachdem der Vorgang abgeschlossen ist, wird ein Countdown gestartet, und dann nimmt die Kamera Bilder mit einem Intervall von 1 Minute und 35 Sekunden auf

Schritt 9: Schlussgedanken

Arduino Zeitraffer-Controller

Es war eine Weile her, seit ich ein Projekt wie dieses abgeschlossen hatte, so fühlte es sich gut tun tatsächlich wieder machen.

Ich habe noch einige Ideen für das Design, vor allem auf der Programmierung Seite, wie die Anzeige der Anzahl der Bilder, die seit dem Beginn der Sitzung. Wer weiß, was mir sonst noch in den Sinn kommen mag.

Zu schließen, hier ist ein kleiner Test in meinem Hinterhof getan.

Bleiben Sie dran für mögliche Updates!

Vielen Dank.

UPDATE (12-12-13):
Ich habe den Code aktualisiert und jetzt kann das Intervallometer die Anzahl der aufgenommenen Bilder zählen. Es ist unten angebracht. Ebenfalls enthalten ist ein ganzes Zeitraffer-Video von mir und einem Freund, der einen Computer baut.

Related Reading