Indholdsfortegnelse:

Arduino -controller til automatiseret 360 ° produktfotografering: 5 trin (med billeder)
Arduino -controller til automatiseret 360 ° produktfotografering: 5 trin (med billeder)

Video: Arduino -controller til automatiseret 360 ° produktfotografering: 5 trin (med billeder)

Video: Arduino -controller til automatiseret 360 ° produktfotografering: 5 trin (med billeder)
Video: 199 Amazing Fastest Big Wood Sawmill Machines Working At Another Level ►2 2024, November
Anonim
Image
Image
Saml dele og filer
Saml dele og filer

Lad os bygge en arduino -baseret controller, der styrer en steppermotor og en kameralukker. Sammen med en steppermotordrevet drejeskive er dette et kraftfuldt og billigt system til automatiseret 360 ° produktfotografering eller fotogrammetri. Den automatiske kameralukker er baseret på et fantastisk bibliotek fra „Sebastian Setz“og fungerer til infrarøde kameraer fra Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Jeg har forberedt to versioner af controlleren:

  • En grundlæggende version, der betjenes med en enkel trykknap og et statuslys.
  • En avanceret version, der bruger et 16x2 LCD + tastaturskærm og dermed har en menu til at ændre variablerne "on the fly" og ikke kun i kildekoden.

Hvad gør controlleren?

Hvis du udløser et "fotografering" ved at trykke på knappen, udfører drejeskiven en fuld omdrejning, opdelt i en foruddefineret mængde trin. Efter hvert rotationstrin foretager controlleren en kort pause og udløser derefter kameraet. Du vil kunne ændre variablerne for rotationshastigheden, forsinkelsestiden og antallet af trin i kildekoden (for enkel controllerversion) eller i displaymenuen (avanceret controllerversion).

Trin 1: Saml dele og filer

Saml dele og filer
Saml dele og filer
Saml dele og filer
Saml dele og filer

Dele:

  • Arduino Uno (eller lignende)
  • Brødbræt (passer til halvbrødsbræt)
  • Easydriver Stepper Motor Driver
  • 2X kølelegeme til Easydriver (valgfri, men anbefales stærkt) https://www.sparkfun.com/products/11510Du skal bruge termotape til at fastgøre kølelegemet på chippen. Hvis du bestiller din kølelegeme, skal du sørge for, at termotape er inkluderet eller kan bestilles separat.
  • Infrarød LED 950nm (til IR -kameraudløser)
  • Modstand 220 ohm (formodstande til infrarød-LED)
  • Piezo -lydelement (valgfrit, hvis du vil have feedbacklyde)
  • Nogle Jumper Wires
  • Ekstern strømforsyning til steppermotor Jeg lavede gode oplevelser med en 12V 1A strømadapter til at drive en 1A NEMA 17 Steppermotor fra Trinamic. Jeg havde også en 24V 3A strømadapter i brug. Easydriver -kortet understøtter op til 30V og 750mA pr. Fase. Mere om easydriver-specifikationerne her:
  • Stikkontakt til steppermotorens eksterne strømforsyning
  • Bipolar NEMA 17 Steppermotor og drejeskive f.eks. FluxGarage „Automatiseret drejeskive med trinmotor“-link:

Tilføj til grundlæggende trykknap-controller …

  • Trykknap
  • Modstand 10k ohm (til trykknappen)
  • LED (status-led)
  • Modstand 220 ohm (formodstande til status-LED)

… ELLER tilføj til avanceret controller med display+tastaturmenu:

Adafruit LCD Shield Kit med 16x2 tegnvisning, f.eks

Download Arduino-koder og Fritzing-diagrammer til grundlæggende og avanceret controller:

Hvis du vil åbne Fritzing-dokumentet for den avancerede controller, skal du sørge for at downloade og installere adafruit-elementerne:

Bemærk: På billederne bruger jeg FluxGarage „Tinkerer's Baseplate“og FluxGarage „Frontplade til 16x2 LCD + tastaturskærm“. Det er valgfrit at bruge disse elementer, hvis du også vil bruge dem, skal du klikke på linkene for de relevante instruktioner.

Trin 2: Saml kredsløb

Saml kredsløb
Saml kredsløb
Saml kredsløb
Saml kredsløb
Saml kredsløb
Saml kredsløb

Lodde Easydriver board til brug af breadboard: For at kunne bruge easydriveren på et breadboard, skal du lodde nogle hanstifter på brættet. Den bedste måde er at lægge hanstifterne i brødbrættet, lægge easydriveren ovenpå og derefter lodde stifterne.

Kabelføring: Tilslut delene som vist i Fritzing -grafikken til den grundlæggende eller avancerede controller. Download Firtzing -diagrammerne på github, find linkene i trin 1.

Dobbelttjek, om alt er tilsluttet som følger:

  • Arduino digital pin 02 = dir pin af Easydriver
  • Arduino digital pin 03 = trinstift af Easydriver
  • Arduino digital pin 09 = output til piezo
  • Arduino digital pin 12 = output til infrarød LED (placer 220 ohm pre -modstand før LED)

+ til Basic Controller:

  • Arduino digital pin 04 = input til trykknap (placer 10k ohm modstand før knapjord)
  • Arduino digital pin 13 = udgang til status -LED (placer 220 ohm før modstand før LED)

+ til Advanced Controller:

Stak skærmen+tastaturbeskyttelse på arduinoen, faktisk bruges disse ben: Arduino analog pin A4+A5 og 5V+GND

Tilslut trinmotor: Tilslutning af bipolære steppermotorer (4 ledninger) handler om at forbinde motorens to spoler (A og B) til de højre ben på easydriver -kortet. Tag et kig på grafikken i midten af denne side og på specifikationer for din specifikke trinmotor:

Du kan også finde flere oplysninger om tilslutning af din stepper motor og Easydriver her:

Tilslut ekstern strømforsyning Easydriver -kortet har to separate strømstifter i øverste højre side (M+ og jord). Mens brættet selv får strøm fra Arduino, giver den separate indgang strøm til steppermotoren. Hvis du bruger en typisk "out of the box" strømadapter og en stikkontakt, skal du slutte "+" ledningen til "M+" stiften på easydriveren og "-" ledningen til easydriver's "GND" pin. Normalt er „+“på indersiden, mens „-“er på ydersiden af stikket. Men pas på, nogle strømadaptere gør det muligt at skifte polaritet! Hvis du kører din easydriver forkert, kan og vil den sandsynligvis blive beskadiget, husk det.

Trin 3: Upload kildekoden til Arduino

Upload kildekoden til Arduino
Upload kildekoden til Arduino

Download Arduino-kildekoden på Github:

Download Arduino IDE:

www.arduino.cc/en/Main/Software

Download tredjepartsbibliotekerne og kopier dem til din IDEs biblioteksmappe: … til kameralukker: https://github.com/dharmapurikar/Arduino/tree/mast.2012 til Adafruit 16x2 Display+Keypad Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Koden er testet og fungerer fint med den nyeste Arduino IDE (1.8.7 på windows) og Arduino Uno + Easydriver Stepper motor Driver + Adafruit 16x2 Display + Tastaturskærm, + en Trinamic stepper motor og et Nikon D60 kamera.

Juster koden, så den fungerer med dit specifikke kamera: Som nævnt brugte jeg biblioteket „multiCameraIrControl.h“af Sebastian Setz. For at få det til at fungere for dit kamera, skal du slette kommentarstregene før dit kameraproducentnavn og naturligvis tilføje skråstreger før alle de andre producentnavne:

// Indstil kameratype Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Udfør den samme justering i "snap" -funktionen:

// Tag en billedevoid snap () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Bemærk: Desværre kunne jeg endnu ikke teste andre IR -udløste kameraer end mit eget Nikon D60. Kameralukkerbiblioteket bør fungere med flere kameraer fra de forskellige producenter, ikke kun de specifikke kameramodeller, der er nævnt i koden. Det ville være fantastisk, hvis du skriver en kommentar til dine oplevelser med dit Canon, Minolta, Olympus, Pentax eller Sony kamera.

Trin 4: Betjen controlleren

Betjen controlleren
Betjen controlleren
Betjen controlleren
Betjen controlleren

Hvad gør koden henholdsvis controlleren? Hvis du trykker på knappen, udløses et "fotografering". Hver fotografering er en endelig sløjfe af følgende sekvens:

  1. Kameraet udløses
  2. Kort forsinkelse
  3. Steppermotor roterer en foruddefineret mængde grader
  4. Kort forsinkelse

En fotografering er baseret på et sæt variabler, der bestemmer dens nøjagtige adfærd. Du kan ændre disse variabler i kildekoden (for enkel controllerversion) eller i displaymenuen (avanceret controllerversion).

Betjening af den grundlæggende controller:

På den grundlæggende controller viser status -LED'en, når systemet er klar til at udføre. Lysdioden slukker, når du starter en fotografering. Du kan afbryde et fotografering ved at holde knappen inde, indtil "afbrydelseslyden" vises, og drejeskiven stopper. Tag et kig på videoen i denne instruktørs øverste sektion for at se dette i "det virkelige liv".

Fotoshootningens variabler findes i kodens øverste sektion og kan ændres for at ændre fotograferingen. Nedenfor kan du se de oprindelige værdier:

int skydetrin = 20; // antal trin for en fuld omdrejning skal være 10, 20 eller 40 flydende skydehastighed = 0,01; // rotationshastighed: et hvilket som helst tal fra.01 -> 1, hvor 1 er hurtigst - Langsommere er stærkere (langsommere = bedre for „tunge“objekter) int shootingdelay = 1000; // pause i millisekunder før og efter hver rotation

Betjening af den avancerede controller:

Når den avancerede controller tændes, vises et FluxGarage -logosplash i 4 sekunder. Herefter er controlleren klar til at udføre og viser en liste over de justerbare sæt variabler:

  • ST = Antal trin, kan være 10, 20 eller 40
  • SP = Rotationshastighed, kan være 1-5, mens 1 er langsomst
  • DE = Forsinkelse før og efter hvert trin på tiendedels sekund, kan være 5, 10, 25, 50
  • LI = Bestemmer, om displayets baggrundslys er tændt eller slukket under optagelse. Kan være 1 = tændt eller 0 = slukket

Du kan navigere gennem variabeltyperne med venstre og højre knap og ændre værdierne med op- og ned -knapperne. Start en fotografering ved at trykke på vælgknappen og afbryde en fotografering ved at holde knappen valgt nede, indtil "afbryd lyd" vises. Tag et kig på videoen i denne instruktørs øverste sektion for at se dette i "det virkelige liv".

Trin 5: Start optagelsen

Start skydning
Start skydning

Hvis du har bygget din egen controller + pladespiller, og dit kamera er på plads, er du klar til at begynde at skyde … næsten. Lad mig dele nogle erfaringer fra mine egne eksperimenter:

  • Brug et lystelt til at belyse dine objekter jævnt. Du kan finde masser af gode selvstudier her på instructables.com, der viser, hvordan du opretter en diy lightbox. Der er også billige tekstilteltte, der kan købes i mange onlinebutikker.
  • Brug pærer med samme farvetemperatur (Kelvin)
  • Fokuser objektet på drejeskiven manuelt, deaktiver kameraets autofokus
  • Sluk kameraets billedstabilisator, hvis du arbejder med et stativ
  • Vælg et måleområde i baggrunden, hvor det skudte objekt ikke vises. På den måde undgår du at flimre i din billedsekvens. En anden måde er manuelt at indstille kameraets eksponeringstider osv.
  • Hvis du vil inkludere dine 360-billeder på dit websted, skal du bruge javascript-plugins som "Jquery Reel Plugin" af Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel «360 Degrees Product Viewer “af„ Codyhouse “→

Dette er resultatet af en af mine skyderier (oprettet med ovenstående indstilling):

Anbefalede: