Inhaltsverzeichnis:

Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller. - Gunook
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller. - Gunook

Video: Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller. - Gunook

Video: Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller. - Gunook
Video: 5 Schreibtisch Upgrades die alles verändern! 2024, Juli
Anonim
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller
Bauen Sie Ihren eigenen (billigen!) Multifunktions-Wireless-Kamera-Controller

Einführung Wollten Sie schon immer Ihren eigenen Kamera-Controller bauen?WICHTIGER HINWEIS: Die Kondensatoren für den MAX619 sind 470n oder 0,47u. Der Schaltplan ist korrekt, aber die Komponentenliste war falsch - aktualisiert. Dies ist ein Beitrag zum Digital Days-Wettbewerb. Wenn Sie ihn also nützlich finden, bewerten/abstimmen/kommentieren Sie bitte positiv! Wenn Sie es wirklich mögen und ein Stolperstein sind, klicken Sie auf "Ich mag es!":) Update: auf Hackaday vorgestellt! hackaday.com/2009/10/13/a-different-breed-of-camera-controllers/ Update: neue Fotos vom Laserauslöser in Aktion! Update: Erster Preis =D, danke für die Abstimmung und/oder Bewertung! Dieses anweisbare ist hauptsächlich zum Vorteil von SLR-Benutzern, die ein bisschen mehr Kilometer aus ihren Kameras herausholen möchten, aber wenn es irgendwelche Points and Shoots mit IR-Schnittstellen gibt, könnten Sie dies interessant finden. Sicherlich funktioniert dies (mit ein wenig Modifikation) auch mit Kamera-Hacks, bei denen Sie logische Ausgänge mit Kamera-Trigger-Anschlüssen verdrahten können. Dies begann als ausgewachsenes Tutorial, aber aufgrund einiger unerwarteter Einschränkungen, auf die ich später gestoßen bin, kann es eher eine Anleitung sein, wie Sie verschiedene Dinge erreichen können - ich überlasse Ihnen oft die Wahl, wie Sie Dinge tun können, die Ich denke, es ist ein besserer Weg, Dinge zu tun, als nur blind zu sagen "Du musst das tun". Betrachten Sie dies als eine Lektion im Design von Kamera-Controllern. Ich habe Schaltpläne und vollständigen Code bereitgestellt, damit Sie ihn immer einfach kopieren können. Für die meisten Leute ist es ein einfacher Fall, das Design auf ein Stripboard zu übertragen und das LCD hinzuzufügen. Ich habe durchgegangen, wie man es einsteckt, da der Prozess sehr ähnlich ist und Fehler korrigieren lässt, bevor Sie das Design dauerhaft machen! Funktionen: Einzelschussmodus Intervallmodus (Zeitraffer) Modus Ausgelöster Schuss (Trigger von externem Sensor) Modus mit variablen Bedingungen Enthaltene Sensordesigns - Licht, Ton (viel mehr möglich!) Gesamtkosten - unter 25 £ (ohne Werkzeuge) LCD-Display für einfache Änderung der Einstellungen Kompatibel mit Nikon/Canon (codiert), potenzielle Unterstützung (ungetestet) für Olympus/Pentax Keine Firmware Änderung erforderlich Verwendet IR, ist also sowohl drahtlos und beschädigt Ihre Kamera nicht. Ich hatte die Idee dazu, nachdem ich stundenlang draußen in der Kälte gesessen hatte und auf meine Fernbedienung geklickt hatte. Ich habe ein 8-Sekunden-Intervall für ungefähr 1000 Aufnahmen gemacht. Ich dachte, hey, es ist nur eine IR-LED, nicht wahr? Warum kann ich es nicht replizieren und meine eigene Fernbedienung mit einer eingebauten Verzögerung erstellen? Ich fand dann heraus (etwas verlegen, weil ich dachte, ich hätte eine massive Gehirnwelle), dass dies getan wurde und es sogar ein paar Anleitungen zu diesem Thema gibt. Meine Implementierung unterscheidet sich von den meisten Intervalometern und DIY-Fernbedienungen darin, dass sie viel Anpassung und Modularität ermöglicht, mit Nikon / Canon (und wahrscheinlich anderen später) kompatibel ist und die Möglichkeit kombiniert, ein Bild mit einem bestimmten Auslöser aufzunehmen. Die Idee ist einfach. Sie möchten etwas recht schnell fotografieren (derzeit begrenzt durch die Verzögerung Ihres Verschlusses, bei mir 6 ms). Dafür gibt es verschiedene Methoden: 1. Ausprobieren Sie versuchen das Bild im richtigen Moment aufzunehmen 2. Verbessertes Ausprobieren Sie verdunkeln den Raum, stellen Ihre Kamera auf Glühbirne (offener Verschluss) und zünden einen Blitz zur richtigen Zeit 3. Kaufen Sie einen dedizierten Trigger-Controller, der über eine Art Audio- / Lichtsensor verfügt, um das Bild auf Ihren Befehl hin aufzunehmen. 4. Bauen Sie selbst einen! Ok, 1 und 2 eignen sich gut zum Herumspielen und können einige sehr gute Bilder ergeben. Aber was ich Ihnen zeigen werde, ist, dass es möglich ist, eine Strecke zu konstruieren, die Ihnen immer wieder konstante Ergebnisse liefert. Am wichtigsten ist, dass die Kosten in diesen engen Zeiten niedriger sind als bei alternativen Modellen (einige Leute haben solche Bausätze hergestellt, aber sie kosten ein Vermögen, siehe Links). Die Vielseitigkeit des Designs ist folgende: Wenn Ihr Sensor eine Ausgangsspannung zwischen 0 und 5 V erzeugt, können Sie damit Ihre Kamera auslösen! Auf den ersten Blick ist dies eine langweilige Aussage, aber sobald Sie anfangen, die Auswirkungen zu verstehen, wird sie sehr mächtig. Durch einfaches Überwachen eines Spannungspegels kann Ihr Trigger lichtbasiert (LDR), geräuschbasiert (Mikrofon oder Ultraschall), temperaturbasiert (Thermistor) oder sogar ein einfaches Potentiometer sein. Eigentlich so ziemlich alles. Sie könnten die Schaltung sogar mit einem anderen Controller verbinden und vorausgesetzt, er kann Ihnen einen logischen Ausgang geben, sodass Sie davon triggern können. Die einzige große Einschränkung des Designs besteht derzeit darin, dass es nur mit IR-Schnittstellen funktioniert. Es wäre ziemlich einfach, die Software und Hardware für die Ausgabe über Mini-USB oder eine andere erforderliche Schnittstelle zu ändern. Hinweis: Quellcode: Ich habe in Schritt 13 einige Anwendungen bereitgestellt. Der Code, den ich derzeit auf meinem Controller ausführe, befindet sich dort oben in einer Hex-Datei zusammen mit der Haupt-C-Datei und ihren Abhängigkeiten. Sie können meinen Code einfach ausführen, wenn Sie sich beim Kompilieren nicht sicher sind. Ich habe auch einige Beispielcodes eingefügt, die Sie in verschiedenen Schritten verwenden können (sie heißen offensichtlich wie remote_test, intervalometer test und adc test. Wenn ich mich in einem Schritt auf Code beziehe, ist er wahrscheinlich drin. EDIT: Ein Update über Ballons platzen - es scheint, dass ich ein bisschen kurzsichtig war, als ich sagte, dass Sie leicht Fotos von platzenden Ballons machen können. Es stellte sich heraus, dass sich die Haut eines durchschnittlichen Ballons so schnell bewegt, dass sie vollständig geplatzt ist, wenn Ihre Kamera ausgelöst wird ist ein Problem mit den meisten Kameras, NICHT mit dem Controller (der den ADC mit einer Rate von etwa 120 kHz erkennt). Die Umgehung besteht darin, einen ausgelösten Blitz zu verwenden, was machbar ist, wenn Sie einen zusätzlichen Draht und einen weiteren kleinen Stromkreis hinzufügen sagte, du könntest theoretisch etwas anderes verwenden, um es zu knallen und mit der Verzögerung zu spielen (oder sogar den Verzögerungscode so zu ändern, dass er Mikrosekunden enthält). Eine Luftkugel, die 1m mit 150ms-1 reist, dauert ungefähr 6-7ms, genug Zeit, um auszulösen und zu schießen Eine bloße Bewegung der Waffe würde eine rudimentäre Verzögerung von einigen Mikrosekunden bewirken S. Nochmals, Entschuldigung, ich werde heute Abend herumspielen, wenn ich ein paar Ballons ergattern kann, aber es gibt immer noch viele Verwendungsmöglichkeiten für einen Audio-Trigger, wie Feuerwerk! Ich habe unten einen schnellen und schmutzigen Zeitraffer eingefügt, um zu zeigen, dass es jedoch funktioniert:) Vergiss nicht zu lesen, zu bewerten und/oder abzustimmen! Cheers, JoshDisclaimer Für den unwahrscheinlichen Fall, dass etwas fürchterlich schief geht oder du deine Kamera irgendwie kaputt machst/dremel deine Katze, übernehme ich keine Haftung. Indem Sie ein Projekt beginnen, das auf diesem instructable basiert, akzeptieren Sie das und fahren auf eigenes Risiko fort. Wenn Sie eines davon machen oder mein instructable verwenden, um Ihnen zu helfen - senden Sie mir bitte einen Link / ein Foto, damit ich es hier aufnehmen kann! Die Resonanz war bisher überwältigend (zumindest für meine Verhältnisse), daher wäre es großartig zu sehen, wie die Leute es interpretieren. Ich arbeite an Revision 2 während ich tippe;)

Schritt 1: Einige erste Gedanken…

Also, wie werden wir dieses Ding bauen?MikrocontrollerDas Herz und die Seele dieses Projekts ist ein AVR ATMega8. Es ist im Wesentlichen eine leicht getrimmte Version des ATMega168-Chips, den Arduino verwendet. Es ist in C oder Assembly programmierbar und verfügt über eine Vielzahl wirklich nützlicher Funktionen, die wir zu unserem Vorteil nutzen können." 28 Pins, die meisten davon Ein-/Ausgang (I/O)" Onboard-Analog-Digital-Wandler" Geringer Stromverbrauch " 3 Onboard-Timer" Interne oder externe Taktquelle" Viele Codebibliotheken und Beispiele online Viele Pins zu haben ist gut. Wir können uns mit einem LCD-Bildschirm verbinden, haben 6-Tasten-Eingänge und haben immer noch genug übrig für eine IR-LED zum Schießen und einige Status-LEDs begonnen (ich werde das kurz durchgehen, aber es gibt bessere dedizierte Tutorials) und haufenweise Code zum Nachdenken. Als Referenz werde ich dieses Projekt in C mit der AVR-LibC-Bibliothek codieren. Ich hätte leicht mit PIC gehen können, aber AVR wird gut unterstützt und alle Beispiele, die ich für Fernbedienungen gefunden habe, basieren auf AVR! Es gibt zwei Hauptarten der Anzeige, eine grafische und eine alphanumerische. Grafische Displays haben eine Auflösung und Sie können Pixel beliebig platzieren. Der Nachteil ist, dass sie schwieriger zu programmieren sind (obwohl Bibliotheken existieren). Alphanumerische Anzeigen bestehen einfach aus einer oder mehreren Zeichenreihen, das LCD verfügt über einen integrierten Speicher für Grundzeichen (d. h. das Alphabet, einige Zahlen und Symbole) und es ist relativ einfach, Zeichenfolgen usw. auszugeben. Der Nachteil ist, dass sie nicht so flexibel sind und die Darstellung von Grafiken praktisch unmöglich ist, aber es erfüllt unseren Zweck. Sie sind auch billiger!Alphanumerische Zeichen werden nach ihrer Zeilen- und Spaltenanzahl kategorisiert. Das 2x16 ist ziemlich üblich, mit zwei Zeilen mit 16 Zeichen, wobei jedes Zeichen eine 5x8-Matrix ist. Sie können auch 2x20 s bekommen, aber ich sehe die Notwendigkeit nicht. Kaufen Sie, womit Sie sich wohl fühlen. Ich habe mich für ein LCD mit roter Hintergrundbeleuchtung entschieden (ich möchte dieses für Astrofotografie verwenden und rotes Licht ist besser für Nachtsicht). Sie können auf eine Hintergrundbeleuchtung verzichten - Sie haben die Wahl. Wenn Sie sich für eine nicht beleuchtete Route entscheiden, sparen Sie Strom und Geld, benötigen jedoch im Dunkeln möglicherweise eine Taschenlampe. Bei der Suche nach einem LCD sollten Sie darauf achten, dass es vom HD44780 gesteuert wird. Es ist ein von Hitachi entwickeltes Industriestandardprotokoll und es gibt viele gute Bibliotheken, die wir zur Ausgabe von Daten verwenden können. Das Modell, das ich gekauft habe, war ein JHD162A von eBay. EingabeDie Eingabe erfolgt über Schaltflächen (einfach!). Ich wählte 6 - Modusauswahl, OK/Shoot und 4 Richtungen. Es lohnt sich auch, einen weiteren kleinen Knopf zum Zurücksetzen des Mikros im Falle eines Crashs zu besorgen. Was den Triggereingang angeht, sind einige Grundideen ein lichtabhängiger Widerstand oder ein Elektretmikrofon. Hier können Sie je nach Budget kreativ oder geizig werden. Ultraschallsensoren kosten etwas mehr und erfordern etwas zusätzliche Programmierung, aber Sie können einige wirklich nette Sachen damit machen. Die meisten Leute werden mit einem Mikrofon (wahrscheinlich der nützlichste allgemeine Sensor) zufrieden sein und Elektrete sind sehr billig. Beachten Sie, dass es auch verstärkt werden muss (aber ich werde später darauf eingehen). Ausgabe - StatusDie einzige wirkliche Ausgabe, die wir brauchen, ist der Status (neben der Anzeige), daher funktionieren hier ein paar LEDs gut. Ausgabe - SchießenZum Mitnehmen Bilder benötigen wir eine Schnittstelle zur Kamera und dafür brauchen wir eine Lichtquelle, die Infrarotstrahlung erzeugen kann. Zum Glück gibt es eine Vielzahl von LEDs, die dies tun, und Sie sollten versuchen, eine vernünftig hohe Leistung aufzunehmen. Das von mir gewählte Gerät hat eine Nennstromstärke von 100 mA max (die meisten LEDs haben etwa 30 mA). Beachten Sie auch die Wellenlängenausgabe. Infrarotlicht liegt im längerwelligen Teil des EM-Spektrums und Sie sollten nach einem Wert von etwa 850-950 nm suchen. Die meisten IR-LEDs neigen zum 950-Ende und Sie sehen möglicherweise ein wenig rotes Licht, wenn sie eingeschaltet sind. Dies ist kein Problem, aber es ist verschwendetes Spektrum, also versuchen Sie, wenn möglich, näher an 850 zu gehen Dies? Nun, es wird tragbar sein, also Batterien! Ich entschied mich für die Verwendung von 2 AA-Batterien, die dann auf 5V aufgestockt werden. Ich werde in den nächsten Abschnitten auf die Gründe dafür eingehen. „Gehäuse und Konstruktion“Wie Sie diesen Teil bewerkstelligen, liegt ganz bei Ihnen. Ich habe mich nach dem Prototyping für die Verwendung von Stripboard für die Schaltung entschieden, da es billig und flexibel ist und das Entwerfen einer benutzerdefinierten Leiterplatte erspart. Ich habe die Schaltpläne bereitgestellt, damit Sie Ihr eigenes PCB-Layout erstellen können - wenn Sie dies tun, wäre ich Ihnen jedoch dankbar, eine Kopie zu haben! in einem möglichst intuitiven Layout) und die Batterien. Was die Platinen angeht, ist diese nicht so kompliziert, viele der Verbindungen sind einfach mit Dingen wie den Tasten / dem LCD verbunden.

Schritt 2: Energieverwaltung

Energieverwaltung
Energieverwaltung

EnergieverwaltungFür ein Projekt wie dieses ist es offensichtlich, dass Portabilität ein wichtiger Aspekt sein sollte. Batterien sind daher die logische Wahl! Bei tragbaren Geräten ist es jetzt ziemlich wichtig, dass Sie sich für eine Batteriequelle entscheiden, die entweder wiederaufladbar oder leicht verfügbar ist. Die beiden Hauptoptionen sind die 9V PP3-Batterie oder AA-Batterien. Ich bin sicher, einige Leute werden annehmen, dass eine 9V-Batterie die beste Option ist, denn hey, 9V ist besser als 3, oder? Nun, nicht in diesem Fall. 9-V-Batterien sind zwar sehr nützlich, erzeugen jedoch ihre Spannung auf Kosten der Batterielebensdauer. Gemessen in mAh (Milliamperestunden) sagt Ihnen dieser Wert theoretisch, wie lange ein Akku bei einem Betrieb mit 1 mA in Stunden durchhält (obwohl Sie es mit einer Prise Salz nehmen, diese sind oft unter idealen Bedingungen mit geringer Last). Je höher die Bewertung, desto länger hält die Batterie. 9-V-Batterien haben eine Nennleistung von bis zu 1000 mAh. Alkalische AAs hingegen haben mit 2900mAh fast dreimal so viel. NiMH-Akkus können dies erreichen, obwohl 2500 mAh eine angemessene Menge sind (beachten Sie, dass wiederaufladbare Batterien mit 1,2 V und nicht mit 1,5 V betrieben werden!). obwohl es für niedrige Taktraten bis zu 2,7 gehen kann). Wir brauchen auch eine ziemlich stabile Spannung, wenn sie darüber schwankt, könnte es Probleme mit dem Mikrocontroller geben. Dazu verwenden wir einen Spannungsregler, Sie müssen jetzt eine Wahl zwischen Preis und Effizienz treffen. Sie haben die Möglichkeit, einen einfachen 3-poligen Spannungsregler wie den LM7805 (78er Serie, +5 Volt Ausgang) oder einen kleinen integrierten Schaltkreis zu verwenden. Einfachen Regler verwendenWenn Sie sich für diese Option entscheiden, müssen Sie ein paar Punkte im Hinterkopf. Erstens benötigen dreipolige Regler fast immer einen Eingang, der höher ist als ihr Ausgang. Dann stufen sie die Spannung auf den gewünschten Wert herunter. Der Nachteil ist, dass sie eine schreckliche Effizienz haben (50-60% ist gut). Der Vorteil ist, dass sie billig sind und mit einer 9-V-Batterie betrieben werden. Sie können ein Basismodell für 20 Pence in Großbritannien kaufen. Sie sollten auch bedenken, dass Regler eine Dropout-Spannung haben - die minimale Lücke zwischen Eingang und Ausgang. Sie können spezielle LDO-Regler (Low DropOut) kaufen, die Dropouts bei etwa 50 mV haben (im Vergleich zu 1-2 V bei anderen Designs). Mit anderen Worten, achten Sie auf LDOs mit einem +5V-Ausgang. Verwendung einer integrierten SchaltungDer ideale Weg ist ein Schaltregler. Dies sind für unseren Zweck normalerweise 8-polige Gehäuse, die eine Spannung aufnehmen und uns einen geregelten Ausgang mit hohem Wirkungsgrad liefern - in einigen Fällen fast 90%. Sie können Aufwärts- oder Abwärtswandler (Boost/Buck) erhalten, je nachdem, was Sie eingeben möchten. Alternativ können Sie Regler kaufen, die entweder über oder unter dem gewünschten Ausgang arbeiten. Der Chip, den ich für dieses Projekt verwende, ist ein MAX619+. Es ist ein 5-V-Aufwärtsregler, der 2 AAs benötigt (der Eingangsbereich beträgt 2V-3,3V) und einen konstanten 5V-Ausgang liefert. Es benötigt nur vier Kondensatoren zum Betrieb und ist sehr platzsparend. Kosten - 3,00 € einschließlich der Obergrenzen. Es ist wohl das Geld wert, nur um ein bisschen mehr aus Ihren Batterien herauszuholen. Der einzige große Nachteil ist, dass es nicht kurzschlussgeschützt ist. Seien Sie also bei einem Stromstoß gewarnt! Dies ist jedoch mit einer zusätzlichen Schaltung relativ trivial zu beheben: Ein weiteres nützliches Chip-Design - wenn auch nicht annähernd so ordentlich eine Lösung ist der LT1307. Auch hier ein 5-V-Regler, der jedoch eine Vielzahl von Eingängen aufnehmen kann und nützliche Dinge wie die Erkennung eines niedrigen Batteriestands bietet. Es kostet mit Induktivitäten, großen Kondensatoren und Widerständen mit fast 5,- etwas mehr. SpannungsschienenWir werden zwei Hauptspannungsschienen (plus eine gemeinsame Masse) verwenden. Das erste sind die 3 V von der Batterie, die verwendet werden, um die LEDs und andere Komponenten mit relativ hoher Leistung zu versorgen. Mein MAX619 ist nur für 60 mA ausgelegt (obwohl das absolute Maximum 120 mA beträgt), sodass es einfacher ist, den Mikrocontroller an einen MOSFET anzuschließen, um LEDs zu steuern. Der MOSFET zieht fast keinen Strom und wirkt als Unterbrechung im Stromkreis, wenn der Gate-Eingang unter etwa 3 V liegt. Wenn der Mikrocontroller eine logische 1 am Pin aussendet, beträgt die Spannung 5 V und der FET schaltet sich ein und wirkt dann nur als Kurzschluss (dh ein Stück Draht). Die 5 V-Schiene versorgt das LCD, den Mikrocontroller und alle Verstärkungsschaltungen für Eingangssensoren. StromverbrauchWenn wir uns verschiedene Datenblätter ansehen, stellen wir fest, dass der AVR bei maximaler Last nicht mehr als 15-20mA braucht. Das LCD braucht nur 1mA zum Betrieb (zumindest wenn ich es getestet habe, Budget für 2). Bei eingeschalteter Hintergrundbeleuchtung liegt es ganz bei Ihnen, zu entscheiden. Es ist in Ordnung, es direkt an die 5-V-Schiene anzuschließen (ich habe es versucht), aber stellen Sie sicher, dass es einen Onboard-Widerstand hat (folgen Sie den Spuren auf der Platine), bevor Sie dies tun. Es hat so 30mA gezogen - schrecklich! Mit einem 3,3k-Widerstand ist er immer noch sichtbar (perfekt für Astrofotografie) und zieht nur 1mA. Sie können immer noch eine anständige Helligkeit mit 1k oder auf andere Weise erzielen. Mir geht es gut mit meiner Zeichnung knapp unter 2 mA bei eingeschalteter Hintergrundbeleuchtung! Wenn Sie möchten, ist es trivial, einen Helligkeitsregler mit einem 10k-Potentiometer hinzuzufügen. Die IR-LED kann maximal 100 mA benötigen, aber ich habe mit 60 mA gute Ergebnisse bei mir erzielt (Experiment!). Sie können diesen Strom dann halbieren, da Sie effektiv mit einem Tastverhältnis von 50% arbeiten (wenn die LED moduliert ist). Wie auch immer, es leuchtet nur für den Bruchteil einer Sekunde, sodass wir uns darüber keine Sorgen machen müssen. Bei den anderen LEDs, mit denen Sie herumspielen sollten, stellen Sie möglicherweise fest, dass nur ein Strom von 10 mA ausreicht, um eine gute Helligkeit zu erzielen - sehen Sie auf jeden Fall für Low-Power-LEDs (mit Ausnahme der IR-LED) entwerfen Sie keine Taschenlampe! Ich habe mich entschieden, meiner Schaltung keine Leistungsanzeige hinzuzufügen, einfach weil es viel Strom für nicht viel Verwendung verbraucht. Verwenden Sie den Ein-/Aus-Schalter, um zu überprüfen, ob es eingeschaltet ist! Insgesamt sollten Sie nicht mehr als 30 mA auf einmal laufen lassen und mit einer theoretischen Versorgung von etwa 2500 (unter Berücksichtigung von Variationen) mAh, die Ihnen weit über 80 Stunden reichen sollte gerade mit allem an. Wenn der Prozessor die meiste Zeit im Leerlauf ist, wird sich dies mindestens verdoppeln / verdreifachen, so dass Sie Ihre Batterien nicht sehr oft wechseln müssen. Fazit Los geht es, das war einfach, nicht wahr! Sie können entweder auf Kosten der Effizienz mit einer 9-V-Batterie und einem LDO-Regler billig und fröhlich fahren oder etwas mehr bezahlen und dafür einen dedizierten IC verwenden. Mein Budget war selbst MIT dem IC immer noch unter 20 €, also können Sie es bei Bedarf noch weiter reduzieren.

Schritt 3: Ein genauerer Blick auf den ATmega8

Ein genauerer Blick auf den ATmega8
Ein genauerer Blick auf den ATmega8

PinsImage 1 ist das Pinout-Diagramm für den ATMega8 (genau das gleiche wie beim 168/48/88, der einzige Unterschied besteht in der Menge des Onboard-Speichers und den Interrupt-Optionen). Pin 1 - Reset, sollte auf VCC-Spannung gehalten werden (oder mindestens logisch 1). Wenn geerdet, wird das Gerät Pin 2-6 - Port D, allgemeiner Eingang/AusgangPin 7 - VCC, Versorgungsspannung (+5 V für uns) weich zurückgesetzt Pin 8 - MassePin 9, 10 - XTAL, externe Takteingänge (Teil von Port B)Pin 11 - 13 Port D, allgemeiner Eingang/AusgangPin 14 - 19 Port B, allgemeiner Eingang/AusgangPin 20 - AVCC, analoge Versorgungsspannung (wie VCC)Pin 21 - AREF, analoge SpannungsreferenzPin 22 - MassePin 23-28 Port C, allgemeiner Eingang/AusgangVerwendbare E/A-Ports: D = 8, C = 6, B = 6A insgesamt 20 nutzbare Ports sind großartig, der Einfachheit halber sollten Sie Ihre Ausgänge entweder in Ports gruppieren (z. B. D als Ausgangsport) oder in Gruppen auf der Platine - Sie möchten vielleicht, dass das LCD über Port C läuft, nur um die Drähte in dieser Ecke sauber zu halten. Es gibt drei zusätzliche Pins, die für die Programmierung erforderlich sind. Das sind MISO (18), MOSI (17) und SCK (19). Diese fungieren jedoch bei Bedarf gerne als I / O-Pins. Taktung Das Signal, das wir an die Kamera senden, muss genau getaktet sein (auf etwa eine Mikrosekunde genau), daher ist es wichtig, eine gute Taktquelle zu wählen. Alle AVRs haben einen internen Oszillator, von dem der Chip seinen Takt beziehen kann. Der Nachteil dabei ist, dass sie je nach Temperatur/Druck/Feuchtigkeit um etwa 10 % schwanken können. Was wir dagegen tun können, ist einen externen Quarzkristall zu verwenden. Diese sind in allem von 32768 kHz (Uhr) bis 20 MHz verfügbar. Ich habe mich für einen 4-MHz-Kristall entschieden, da er eine anständige Geschwindigkeit bietet, aber im Vergleich zu vielleicht 8Mhz+ ziemlich energiesparend ist. Tatsächlich habe ich die erste Version geschrieben, die sich stark auf den Leerlauf des Prozessors während des Zeitraffers verlässt. Leider hatte ich aus Zeitgründen einige Probleme mit der externen Ausführung der Uhr und der Unterbrechung mit den Timern. Im Wesentlichen müsste ich den Code umschreiben, damit der Controller einfach nicht aufwacht - was ich tun könnte, aber die Zeit ist gegen mich. Als solches zieht das Gerät nur 20 mA ish, so dass Sie damit durchkommen können. Wenn Sie wirklich Lust darauf haben, dann müssen Sie auf jeden Fall mit dem Code herumfummeln. Alles, was Sie tun müssen, ist, intern zu takten und dann Timer 2 im asynchronen Modus mit dem 4-MHz-Kristall für genauere Verzögerungen auszuführen. Es ist einfach, aber zeitaufwendig. ADCDas Schweizer Taschenmesser im AVR-Toolset, der ADC steht für Analogue to Digital Converter. Die Funktionsweise ist von außen relativ einfach. An einem Pin (von einem Sensor oder einem anderen Eingang) wird eine Spannung abgetastet, die Spannung wird in einen digitalen Wert zwischen 0 und 1024 umgewandelt. Ein Wert von 1024 wird beobachtet, wenn die Eingangsspannung gleich der ADC-Referenzspannung ist. Wenn wir unsere Referenz auf VCC (+5 V) setzen, beträgt jede Division 5/1024 V oder etwa 5 mV. Somit erhöht eine Erhöhung von 5 mV am Pin den ADC-Wert um 1. Wir können den ADC-Ausgangswert als Variable nehmen und dann damit herumspielen, ihn mit Dingen vergleichen usw. im Code. Der ADC ist eine unglaublich nützliche Funktion und ermöglicht es Ihnen, viele coole Dinge zu tun, z. B. Ihren AVR in ein Oszilloskop zu verwandeln. Die Abtastfrequenz beträgt ca. 125kHz und muss im Verhältnis zur Haupttaktfrequenz eingestellt werden. Register Sie haben vielleicht schon einmal von Registern gehört, aber keine Angst! Ein Register ist einfach eine Sammlung von Adressen (Orten) im AVR-Speicher. Register werden nach ihrer Bitgröße klassifiziert. Ein 7-Bit-Register hat 8 Stellen, da wir bei 0 beginnen. Es gibt Register für fast alles und wir werden uns später noch viel genauer damit befassen. Einige Beispiele sind die PORTx-Register (wobei x B, C oder D ist), die steuern, ob ein Pin auf High oder Low gesetzt wird und Pull-Up-Widerstände für Eingänge setzen, die DDRx-Register, die festlegen, ob ein Pin ausgegeben oder eingegeben wird und so weiter. Das DatenblattEin Literaturriese mit einem Gewicht von rund 400 Seiten; die AVR-Datenblätter sind ein unschätzbarer Hinweis auf Ihren Prozessor. Sie enthalten Details zu jedem Register, jedem Pin, wie Timer funktionieren, welche Sicherungen auf was eingestellt werden sollten und vieles mehr. Sie sind kostenlos und werden früher oder später benötigt, also laden Sie eine Kopie herunter!www.atmel.com/dyn/resources/prod_documents/doc2486.pdf

Schritt 4: Zuweisen von Pins

Zuordnung von Pins
Zuordnung von Pins

Ich habe bereits die Ein- und Ausgänge erwähnt, die wir benötigen, also sollten wir ihnen Pins zuweisen! Jetzt hat PORT D 8 Pins, was praktisch ist, da er als unser Ausgangsport fungieren kann. Das LCD benötigt 7 Pins zum Betrieb - 4 Datenpins und 3 Steuerpins. Die IR-LED benötigt nur einen Pin, so dass unser 8. PORTB unser Tastenport ist, es hat 6 Eingänge, aber wir brauchen nur 5. Dies sind die Modus- und Richtungstasten. PORTC ist Besonderes ist der ADC-Port. Wir brauchen nur einen Pin für den Triggereingang und es ist sinnvoll, diesen auf PC0 zu legen (eine gängige Abkürzung für Portpins in diesem Fall Port C, Pin 0). Wir haben dann ein paar Pins für Status-LEDs (einer leuchtet, wenn der ADC-Wert über einem bestimmten Zustand liegt, der andere leuchtet, wenn er unter einem bestimmten Zustand liegt). Aus Gründen, die später noch klar werden, werden wir hier auch unsere OK/Shoot-Button-Eingabe platzieren. Nach all dem haben wir den Großteil der Ports aufgebraucht, aber wir haben noch ein paar übrig, wenn Sie das Projekt erweitern möchten - vielleicht mehrere Trigger?

Schritt 5: Kommunikation mit der Kamera

Kommunikation mit der Kamera
Kommunikation mit der Kamera
Kommunikation mit der Kamera
Kommunikation mit der Kamera

Erster Preis beim Digital Days Fotowettbewerb

Empfohlen: