Inhaltsverzeichnis:
- Schritt 1: Teile und Dateien sammeln
- Schritt 2: Schaltung zusammenbauen
- Schritt 3: Quellcode auf Arduino hochladen
- Schritt 4: Bedienen Sie den Controller
- Schritt 5: Starten Sie die Aufnahme
Video: Arduino Controller für automatisierte 360° Produktfotografie - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Lassen Sie uns einen Arduino-basierten Controller bauen, der einen Schrittmotor und einen Kameraverschluss steuert. Zusammen mit einem schrittmotorgetriebenen Drehtisch ist dies ein leistungsstarkes und kostengünstiges System für die automatisierte 360° Produktfotografie oder Photogrammetrie. Der automatische Kameraverschluss basiert auf einer großartigen Bibliothek von „Sebastian Setz“und funktioniert für Infrarotkameras von Nikon, Canon, Minolta, Olympus, Pentax, Sony.
Ich habe zwei Versionen des Controllers vorbereitet:
- Eine Basisversion, die mit einem einfachen Taster und einer Status-LED bedient wird.
- Eine erweiterte Version, die ein 16x2 LCD + Tastaturschild verwendet und somit ein Menü hat, um die Variablen „on the fly“und nicht nur im Quellcode zu ändern.
Was macht der Controller?
Wenn Sie per Knopfdruck ein „Fotoshooting“auslösen, führt der Drehteller eine volle Umdrehung aus, aufgeteilt in eine vordefinierte Anzahl von Schritten. Nach jedem Drehschritt macht der Controller eine kurze Pause und löst dann die Kamera aus. Sie können die Variablen der Rotationsgeschwindigkeit, der Verzögerungszeit und der Anzahl der Schritte im Quellcode (für einfache Controller-Version) oder im Anzeigemenü (erweiterte Controller-Version) ändern.
Schritt 1: Teile und Dateien sammeln
Teile:
- Arduino Uno (oder ähnlich)
- Steckbrett (halbes Steckbrett passt)
- Easydriver Schrittmotortreiber
- 2X Kühlkörper für Easydriver (optional, aber DRINGEND empfohlen) https://www.sparkfun.com/products/11510Sie benötigen Wärmeleitband, um den Kühlkörper auf dem Chip zu befestigen. Achten Sie bei der Bestellung Ihres Kühlkörpers darauf, dass ein Thermoband mitgeliefert wird oder separat bestellt werden kann.
- Infrarot-LED 950nm (für IR-Kamera-Trigger)
- Widerstand 220 Ohm (Vorwiderstände für Infrarot-LED)
- Piezo-Soundelement (optional, wenn Sie Feedback-Sounds haben möchten)
- Einige Überbrückungsdrähte
- Externes Netzteil für Schrittmotor Gute Erfahrungen habe ich mit einem 12V 1A Netzteil zum Antrieb eines 1A NEMA 17 Schrittmotors von Trinamic gemacht. Ich hatte auch ein 24V 3A Netzteil im Einsatz. Das Easydriver Board unterstützt bis zu 30V und 750mA pro Phase. Mehr zu den easydriver-Spezifikationen hier:
- Buchse für externes Netzteil des Schrittmotors
- Bipolarer NEMA 17 Schrittmotor und Plattenspieler z. B. die FluxGarage „Automated Turntable With Steppermotor“Link:
Für Basis-Taster-Controller hinzufügen …
- Druckknopf
- Widerstand 10k Ohm (für den Taster)
- LED (Status-LED)
- Widerstand 220 Ohm (Vorwiderstände für Status-LED)
… ODER für erweiterten Controller mit Display+Keypad-Menü hinzufügen:
Adafruit LCD Shield Kit mit 16x2 Zeichen Display, z. B
Laden Sie die Arduino-Codes und Fritzing-Diagramme für den grundlegenden und erweiterten Controller herunter:
Wenn Sie das Fritzing-Dokument für den Advanced Controller öffnen möchten, stellen Sie sicher, dass Sie die adafruit-Elemente herunterladen und installieren:
Bitte beachten: Auf den Bildern verwende ich die FluxGarage „Tinkerer's Baseplate“und die FluxGarage „Front Plate for 16x2 LCD + Keypad Shield“. Die Verwendung dieser Elemente ist optional, wenn Sie sie auch verwenden möchten, klicken Sie auf die Links für die entsprechenden Anleitungen.
Schritt 2: Schaltung zusammenbauen
Löten Sie die Easydriver-Platine für die Verwendung mit Steckbrettern: Um den Easydriver auf einem Steckbrett zu verwenden, müssen Sie einige Stiftleisten auf die Platine löten. Am besten steckt man die Stiftleisten in das Steckbrett, legt den Easydriver darauf und verlötet dann die Pins.
Verdrahten:Verdrahten Sie die Teile wie in der entsprechenden Fritzing-Grafik für den Basis- oder erweiterten Controller gezeigt. Laden Sie die Firtzing-Diagramme auf github herunter, finden Sie die Links in Schritt 1.
Überprüfen Sie, ob alles wie folgt verbunden ist:
- Arduino digitaler Pin 02 = Dir-Pin von Easydriver
- Arduino digitaler Pin 03 = Step-Pin von Easydriver
- Arduino digitaler Pin 09 = Ausgang für Piezo
- Arduino digitaler Pin 12 = Ausgang für Infrarot-LED (220 Ohm Vorwiderstand vor LED platzieren)
+ für Basiscontroller:
- Arduino digitaler Pin 04 = Eingang für Taster (10k Ohm Widerstand vor Tastermasse platzieren)
- Arduino digitaler Pin 13 = Ausgang für Status-LED (220 Ohm Vorwiderstand vor LED platzieren)
+ für Advanced Controller:
Stapeln Sie das Display + Tastaturschild auf das Arduino, tatsächlich werden diese Pins verwendet: Arduino analoger Pin A4 + A5 und 5V + GND
Schrittmotor anschließen: Beim Verdrahten von bipolaren Schrittmotoren (4 Drähte) werden die beiden Spulen (A und B) des Motors mit den rechten Pins der easydriver-Platine verbunden. Sehen Sie sich die Grafik in der Mitte dieser Seite und die Spezifikationen Ihres spezifischen Schrittmotors:
Weitere Informationen zur Verkabelung Ihres Schrittmotors und des Easydriver finden Sie auch hier:
Externes Netzteil anschließenDie Easydriver-Platine hat oben rechts zwei separate Stromanschlüsse (M+ und Masse). Während die Platine selbst Strom vom Arduino erhält, liefert der separate Eingang Strom für den Schrittmotor. Wenn Sie ein typisches „out of the box“Netzteil und eine Steckdose verwenden, verbinden Sie das „+“Kabel mit dem „M+“Pin des easydriver und das „-“Kabel mit dem „GND“Pin des easydrivers. Normalerweise befindet sich das „+“auf der Innenseite, das „-“auf der Außenseite des Steckers. Aber Vorsicht, bei manchen Netzteilen kann die Polarität umgeschaltet werden! Wenn Sie Ihren easydriver falsch verkabeln, kann und wird er wahrscheinlich beschädigt, denken Sie daran.
Schritt 3: Quellcode auf Arduino hochladen
Laden Sie den Arduino-Quellcode bei Github herunter:
Arduino-IDE herunterladen:
www.arduino.cc/en/Main/Software
Laden Sie die Bibliotheken von Drittanbietern herunter und kopieren Sie sie in den Bibliotheksordner Ihrer IDE:… für den Kameraverschluss: https://github.com/dharmapurikar/Arduino/tree/mast…… für das Adafruit 16x2 Display+Keypad Shield:https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…
Der Code wurde getestet und funktioniert einwandfrei mit der neuesten Arduino IDE (1.8.7 unter Windows) und Arduino Uno + Easydriver Stepper Motor Driver + Adafruit 16x2 Display+Keypad Shield, + einem Trinamic Schrittmotor und einer Nikon D60 Kamera.
Passen Sie den Code an Ihre spezifische Kamera an: Wie bereits erwähnt, habe ich die Bibliothek „multiCameraIrControl.h“von Sebastian Setz verwendet. Damit es für Ihre Kamera funktioniert, müssen Sie die Kommentar-Schrägstriche vor Ihrem Kameraherstellernamen löschen und natürlich Schrägstriche vor allen anderen Herstellernamen hinzufügen:
// Kameratyp einstellenNikon D5000(12);//Canon D5(12);//Minolta A900(12);//Olympus E5(12);//Pentax K7(12);//Sony A900(12);
Führen Sie die ähnliche Einstellung in der „Snap“-Funktion durch:
// Machen Sie einen Picturevoid-Snap(){D5000.shotNow();//D5.shotNow();//A900.shotNow();//E5.shotNow();//K7.shotNow();//A900.shotNow();}
Bitte beachten: Andere IR-getriggerte Kameras als meine eigene Nikon D60 konnte ich leider noch nicht testen. Die Kamera-Shutter-Bibliothek sollte mit mehreren Kameras der verschiedenen Hersteller funktionieren, nicht nur mit den spezifischen Kameramodellen, die im Code erwähnt werden. Es wäre toll, wenn Sie Ihre Erfahrungen mit Ihrer Canon-, Minolta-, Olympus-, Pentax- oder Sony-Kamera kommentieren würden.
Schritt 4: Bedienen Sie den Controller
Was macht der Code bzw. der Controller? Wenn Sie den Knopf drücken, wird ein „Fotoshooting“ausgelöst. Jedes Fotoshooting ist eine endliche Schleife der folgenden Sequenz:
- Kamera wird ausgelöst
- Kurze Verzögerung
- Schrittmotor dreht sich um einen vordefinierten Grad
- Kurze Verzögerung
Ein Fotoshooting basiert auf einer Reihe von Variablen, die sein genaues Verhalten bestimmen. Sie können diese Variablen im Quellcode (für einfache Controller-Version) oder im Anzeigemenü (erweiterte Controller-Version) ändern.
Bedienung der Grundsteuerung:
Am Basiscontroller zeigt die Status-LED an, wenn das System betriebsbereit ist. Die LED erlischt, wenn Sie eine Fotoaufnahme starten. Sie können ein Fotoshooting unterbrechen, indem Sie die Taste gedrückt halten, bis der „Unterbrechungston“erscheint und der Plattenspieler stoppt. Werfen Sie einen Blick auf das Video im oberen Abschnitt dieses instructable, um dies im "echten Leben" zu sehen.
Die Variablen des Fotoshootings befinden sich im oberen Abschnitt des Codes und können geändert werden, um das Fotoshooting zu ändern. Unten sehen Sie die Anfangswerte:
int Schussschritte = 20; // Anzahl der Schritte für eine volle Umdrehung, sollte 10, 20 oder 40float Schießgeschwindigkeit = 0,01 sein; // Rotationsgeschwindigkeit: beliebige Zahl von.01 -> 1 wobei 1 am schnellsten ist - Langsamer ist stärker (langsamer = besser für „schwere“Objekte)int Shootingdelay = 1000; // Pause in Millisekunden vor und nach jeder Umdrehung
Bedienung des erweiterten Controllers:
Beim Einschalten des erweiterten Controllers wird 4 Sekunden lang ein FluxGarage-Logosplash angezeigt. Danach ist der Controller betriebsbereit und zeigt eine Liste des einstellbaren Variablensatzes:
- ST = Anzahl der Schritte, kann 10, 20 oder 40. betragen
- SP = Rotationsgeschwindigkeit, kann 1-5 sein, wobei 1 am langsamsten ist
- DE = Verzögerung vor und nach jedem Schritt in Zehntelsekunden, kann 5, 10, 25, 50. betragen
- LI = Bestimmt, ob die Hintergrundbeleuchtung des Displays während der Aufnahme ein- oder ausgeschaltet ist. Kann 1 = ein oder 0 = aus sein
Sie können mit der linken und rechten Taste durch die Variablentypen navigieren und mit den Auf- und Ab-Tasten die Werte ändern. Starten Sie ein Fotoshooting durch Drücken der Auswahltaste und unterbrechen Sie eine Fotoaufnahme, indem Sie die Auswahltaste gedrückt halten, bis der „Unterbrechungston“erscheint. Werfen Sie einen Blick auf das Video im oberen Abschnitt dieses instructable, um dies im "echten Leben" zu sehen.
Schritt 5: Starten Sie die Aufnahme
Wenn Sie Ihren eigenen Controller + Plattenspieler gebaut haben und Ihre Kamera an Ort und Stelle ist, können Sie mit der Aufnahme beginnen … fast. Lassen Sie mich einige Erkenntnisse aus meinen eigenen Experimenten teilen:
- Verwenden Sie ein Lichtzelt, um Ihre Objekte gleichmäßig auszuleuchten. Hier bei instructables.com finden Sie viele gute Tutorials, die zeigen, wie Sie eine DIY-Lightbox erstellen. Außerdem gibt es preiswerte textile Lichtzelte, die in vielen Online-Shops gekauft werden können.
- Verwenden Sie Glühbirnen mit derselben Farbtemperatur (Kelvin)
- Fokussieren Sie das Objekt manuell auf dem Drehteller, deaktivieren Sie den Autofokus Ihrer Kamera
- Schalten Sie den Bildstabilisator Ihrer Kamera aus, wenn Sie mit einem Stativ arbeiten
- Wählen Sie im Hintergrund einen Messbereich, in dem das Aufnahmeobjekt nicht erscheint. Dadurch vermeiden Sie Flimmern in Ihrer Bildsequenz. Eine andere Möglichkeit besteht darin, die Belichtungszeiten Ihrer Kamera usw. manuell einzustellen.
- Wenn Sie Ihre 360-Bilder in Ihre Website einbinden möchten, verwenden Sie Javascript-Plugins wie „Jquery Reel Plugin“von Petr Vostřel alias „PISI“→ https://jquery.vostrel.cz/reel„360 Degrees Product Viewer“von „Codyhouse “→
Dies ist das Ergebnis eines meiner Shootings (erstellt mit der obigen Einstellung):
Empfohlen:
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): 3 Schritte
So deaktivieren Sie die Autokorrektur für nur ein Wort (iOS): Manchmal korrigiert die Autokorrektur möglicherweise etwas, das Sie nicht korrigieren möchten, z. Textabkürzungen beginnen sich in Großbuchstaben zu setzen (imo korrigieren zum Beispiel zu IMO). So erzwingen Sie, dass die Korrektur eines Wortes oder einer Phrase beendet wird, ohne aut zu deaktivieren
Interessante Programmieranleitung für Designer - Bringen Sie Ihr Bild zum Laufen (Teil 2): 8 Schritte
Interessante Programmieranleitung für Designer – Bringen Sie Ihr Bild zum Laufen (Teil 2): Mathematik scheint für die meisten von Ihnen nutzlos zu sein. Die in unserem täglichen Leben am häufigsten verwendete ist einfach Addieren, Subtrahieren, Multiplizieren und Dividieren. Es ist jedoch ganz anders, wenn Sie mit Programm erstellen können. Je mehr Sie wissen, desto mehr wundervolle Ergebnisse werden Sie erhalten
Arduino-Programmierung über das Handy -- Arduinodroid -- Arduino-Ide für Android -- Blinzeln: 4 Schritte
Arduino-Programmierung über das Handy || Arduinodroid || Arduino-Ide für Android || Blink: Bitte abonnieren Sie meinen Youtube-Kanal für weitere Videos…… Arduino ist ein Board, das direkt über USB programmiert werden kann. Es ist sehr einfach und günstig für College- und Schulprojekte oder sogar für Produktprototypen. Viele Produkte bauen zunächst darauf für i
RC-Tracked-Roboter mit Arduino – Schritt für Schritt: 3 Schritte
RC Tracked Robot mit Arduino – Schritt für Schritt: Hey Leute, ich bin zurück mit einem weiteren coolen Robot-Chassis von BangGood. Ich hoffe, Sie haben unsere vorherigen Projekte durchgegangen – Spinel Crux V1 – Der gestengesteuerte Roboter, Spinel Crux L2 – Arduino Pick-and-Place-Roboter mit Roboterarmen und The Badland Braw