Innholdsfortegnelse:
- Trinn 1: Samle deler og filer
- Trinn 2: Sett sammen kretsen
- Trinn 3: Last opp kildekoden til Arduino
- Trinn 4: Betjen kontrolleren
- Trinn 5: Start opptaket
Video: Arduino -kontroller for automatisert 360 ° produktfotografering: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
La oss bygge en arduino -basert kontroller som styrer en trinnmotor og en kameralukker. Sammen med en steppermotordrevet dreieskive er dette et kraftig og rimelig system for automatisert 360 ° produktfotografering eller fotogrammetri. Den automatiske kameralukkeren er basert på et flott bibliotek fra "Sebastian Setz" og fungerer for infrarøde kameraer fra Nikon, Canon, Minolta, Olympus, Pentax, Sony.
Jeg har forberedt to versjoner av kontrolleren:
- En grunnleggende versjon som betjenes med en enkel trykknapp og en statuslys.
- En avansert versjon som bruker et 16x2 LCD + tastaturskjerm og dermed har en meny for å endre variablene "on the fly" og ikke bare i kildekoden.
Hva gjør kontrolleren?
Hvis du utløser en "fotografering" ved å trykke på knappen, utfører platespilleren en full omdreining, delt inn i en forhåndsdefinert mengde trinn. Etter hvert rotasjonstrinn, gjør kontrolleren en kort pause og utløser deretter kameraet. Du vil kunne endre variablene for rotasjonshastigheten, forsinkelsestiden og antall trinn i kildekoden (for enkel kontrollerversjon) eller i displaymenyen (avansert kontrollerversjon).
Trinn 1: Samle deler og filer
Deler:
- Arduino Uno (eller lignende)
- Brødbrett (passer til halvbrett)
- Easydriver Stepper Motor Driver
- 2X kjøleribbe for Easydriver (valgfritt, men anbefales på det sterkeste) https://www.sparkfun.com/products/11510 Du trenger termisk tape for å feste kjøleribben på brikken. Hvis du bestiller kjøleribben, må du kontrollere at termetape er inkludert eller kan bestilles separat.
- Infrarød LED 950nm (for IR -kamerautløser)
- Motstand 220 ohm (formotstander for infrarød-LED)
- Piezo -lydelement (valgfritt, hvis du vil ha tilbakemeldingslyder)
- Noen hoppetråder
- Ekstern strømforsyning for trinnmotor Jeg gjorde gode erfaringer med en 12V 1A strømadapter for å drive en 1A NEMA 17 trinnmotor fra Trinamic. Jeg hadde også en 24V 3A strømadapter i bruk. Easydriver -kortet støtter opptil 30V og 750mA per fase. Mer om easydriver-spesifikasjonene her:
- Stikkontakt for trinnmotorens eksterne strømforsyning
- Bipolar NEMA 17 Trinnmotor og dreieskive f.eks. FluxGarage „Automated Turntable With Steppermotor“Link:
Legg til for grunnleggende trykknappkontroller …
- Trykknapp
- Motstand 10k ohm (for trykknappen)
- LED (status-led)
- Motstand 220 ohm (formotstander for status-LED)
… ELLER legg til for avansert kontroller med display+tastaturmeny:
Adafruit LCD Shield Kit med 16x2 tegnvisning, f.eks
Last ned Arduino-koder og Fritzing-diagrammer for grunnleggende og avansert kontroller:
Hvis du vil åpne Fritzing-dokumentet for den avanserte kontrolleren, må du laste ned og installere adafruit-elementene:
Merk: På bildene bruker jeg FluxGarage "Tinkerer's Baseplate" og FluxGarage "Frontplate for 16x2 LCD + tastaturskjerm". Å bruke disse elementene er valgfritt. Hvis du også vil bruke dem, klikker du på koblingene for instruksjonene.
Trinn 2: Sett sammen kretsen
Loddemaskin for lett bruk av brødbrett: For å bruke easydriveren på et brødbrett må du lodde noen mannlige pinhoder på brettet. Den beste måten er å sette hanhodene i brødbrettet, legge easydriveren på toppen og deretter lodde pinnene.
Kabling: Kabling av delene som vist i Fritzing -grafikken for den grunnleggende eller avanserte kontrolleren. Last ned Firtzing -diagrammer på github, finn koblingene i trinn 1.
Dobbeltsjekk om alt er koblet til som følger:
- Arduino digital pin 02 = dir pin av Easydriver
- Arduino digital pin 03 = trinnnål til Easydriver
- Arduino digital pin 09 = utgang for piezo
- Arduino digital pin 12 = utgang for infrarød LED (plasser 220 ohm for motstand før led)
+ for Basic Controller:
- Arduino digital pin 04 = inngang for trykknapp (plasser 10k ohm motstand før knappjord)
- Arduino digital pin 13 = utgang for status -LED (plasser 220 ohm før motstand før led)
+ for avansert kontroller:
Stable skjermen+tastaturskjoldet på arduinoen, faktisk brukes disse pinnene: Arduino analog pin A4+A5 og 5V+GND
Koble til trinnmotor: Kobling av bipolare trinnmotorer (4 ledninger) handler om å koble de to spolene (A og B) på motoren til de høyre pinnene på easydriver -kortet. Se på grafikken i midten av denne siden og på spesifikasjoner for din spesifikke trinnmotor:
Du kan også finne mer informasjon om hvordan du kobler til steppermotoren og Easydriver her:
Koble til ekstern strømforsyning Easydriver -kortet har to separate strømpinner øverst til høyre (M+ og bakken). Mens brettet selv får strøm fra Arduino, gir den separate inngangen strøm til trinnmotoren. Hvis du bruker en typisk "out of the box" strømadapter og en stikkontakt, bør du koble "+" ledningen til "M+" pinnen på easydriveren og "-" ledningen til easydriverens "GND" pin. Vanligvis er "+" på innsiden, mens "-" er på utsiden av pluggen. Men vær forsiktig, noen strømadaptere tillater å bytte polaritet! Hvis du kobler til easydriveren feil, kan og vil den sannsynligvis bli skadet, husk det.
Trinn 3: Last opp kildekoden til Arduino
Last ned Arduino-kildekoden på Github:
Last ned Arduino IDE:
www.arduino.cc/en/Main/Software
Last ned tredjepartsbibliotekene og kopier dem til IDEs bibliotekmappe: … for kameralukker: https://github.com/dharmapurikar/Arduino/tree/mast ……. for 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 + Tastaturskjerm, + en Trinamic trinnmotor og et Nikon D60 kamera.
Juster koden for å fungere med ditt spesifikke kamera: Som nevnt brukte jeg biblioteket „multiCameraIrControl.h“av Sebastian Setz. For å få det til å fungere for kameraet ditt, må du slette kommentarfeltene før kameraprodusentnavnet og selvfølgelig legge til skråstreker før alle de andre produsentnavnene:
// Sett kameratype Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);
Gjør den samme justeringen i "snap" -funksjonen:
// Ta en bildeløs snap () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}
Vær oppmerksom på: Dessverre var jeg ennå ikke i stand til å teste andre IR -utløste kameraer enn min egen Nikon D60. Kameralukkerbiblioteket skal fungere med flere kameraer fra de forskjellige produsentene, ikke bare de spesifikke kameramodellene som er nevnt i koden. Det ville være flott hvis du legger ut en kommentar om dine erfaringer med Canon, Minolta, Olympus, Pentax eller Sony kamera.
Trinn 4: Betjen kontrolleren
Hva gjør koden henholdsvis kontrolleren? Hvis du trykker på knappen, utløses en "fotografering". Hver fotografering er en endelig sløyfe med følgende sekvens:
- Kameraet er utløst
- Kort forsinkelse
- Steppermotor vil rotere en forhåndsdefinert mengde grader
- Kort forsinkelse
En fotografering er basert på et sett med variabler som bestemmer dens eksakte oppførsel. Du kan endre disse variablene i kildekoden (for enkel kontrollerversjon) eller i displaymenyen (avansert kontrollerversjon).
Betjening av den grunnleggende kontrolleren:
På den grunnleggende kontrolleren viser status -LED når systemet er klart til å utføre. Lysdioden slås av når du starter en fotografering. Du kan avbryte et fotografering ved å holde knappen inntil "avbruddslyden" vises og platespilleren stopper. Ta en titt på videoen i denne instruksjons øverste delen for å se dette i "det virkelige liv".
Fotograferingens variabler finner du i kodens øverste del, og kan endres for å endre fotograferingen. Nedenfor kan du se startverdiene:
int skytetrinn = 20; // antall trinn for en full omdreining, bør være 10, 20 eller 40 flyte skytehastighet = 0,01; // rotasjonshastighet: et hvilket som helst tall fra.01 -> 1 med 1 som er raskest - Saktere er sterkere (langsommere = bedre for "tunge" objekter) int shootingdelay = 1000; // pause i millisekunder før og etter hver rotasjon
Betjening av den avanserte kontrolleren:
Når du slår på den avanserte kontrolleren, vises et FluxGarage -logosplash i 4 sekunder. Etter det er kontrolleren klar til å utføre og viser en liste over det justerbare settet med variabler:
- ST = Antall trinn, kan være 10, 20 eller 40
- SP = Rotasjonshastighet, kan være 1-5 mens 1 er tregest
- DE = Forsinkelse før og etter hvert trinn på tiendedels sekund, kan være 5, 10, 25, 50
- LI = Bestemmer om bakgrunnslyset på displayet er på eller av under fotografering. Kan være 1 = på eller 0 = av
Du kan navigere gjennom variabeltypene med venstre og høyre knapp og endre verdiene med opp- og nedknappene. Start en fotografering ved å trykke på velgeknappen og avbryte et fotografering ved å holde valgknappen til "avbryt lyd" vises. Ta en titt på videoen i denne instruksjons øverste delen for å se dette i "det virkelige liv".
Trinn 5: Start opptaket
Hvis du har bygget din egen kontroller + platespiller og kameraet er på plass, er du klar til å begynne å skyte … nesten. La meg dele noen erfaringer fra mine egne eksperimenter:
- Bruk et lystelt til å belyse objektene dine jevnt. Du kan finne mange gode opplæringsprogrammer her på instructables.com som viser hvordan du lager en DIY lightbox. Det er også rimelige tekstiltelt som du kan kjøpe i mange nettbutikker.
- Bruk lyspærer med samme fargetemperatur (Kelvin)
- Fokuser objektet på dreieskiven manuelt, deaktiver kameraets autofokus
- Slå av kameraets bildestabilisator hvis du arbeider med stativ
- Velg et måleområde i bakgrunnen, der skuddobjektet ikke vil vises. Ved å unngå dette vil du unngå å flimre i bildesekvensen. En annen måte er å manuelt sette kameraets eksponeringstider osv.
- Hvis du vil inkludere 360-bildene dine på nettstedet ditt, kan du bruke javascript-plugins som "Jquery Reel Plugin" av Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel "360 Degrees Product Viewer" av "Codyhouse" “→
Dette er resultatet av en av mine skytinger (opprettet med innstillingen ovenfor):
Anbefalt:
Akvariedesign med automatisert kontroll av grunnleggende parametere: 4 trinn (med bilder)
Akvariedesign med automatisert kontroll av grunnleggende parametere: Introduksjon I dag er marin akvariumpleie tilgjengelig for alle akvarister. Problemet med å skaffe seg et akvarium er ikke vanskelig. Men for innbyggernes fulle livsstøtte, beskyttelse mot tekniske feil, enkelt og raskt vedlikehold og pleie
Modelljernbanelayout med automatisert sidespor: 13 trinn (med bilder)
Modelljernbanelayout med automatisert sidespor: Å lage modelltogoppsett er en flott hobby, og automatisering av det vil gjøre det mye bedre! La oss ta en titt på noen av fordelene med automatiseringen: Billig drift: Hele oppsettet styres av en Arduino mikrokontroller, ved hjelp av en L298N mo
Automatisert vannmotor med nivåindikator: 6 trinn (med bilder)
Automatisert vannmotor med nivåindikator: Hei alle, velkommen til nok en instruerbar. I dette prosjektet vil vi lære å lage en helautomatisk vanntanknivåkontroller med vannstandsindikatorfunksjon ved hjelp av Arduino Nano. Arduino er hjernen til dette prosjektet. Det vil ta innspill fra
Slik bruker du RPLIDAR 360 ° laserskanner med Arduino: 3 trinn (med bilder)
Slik bruker du RPLIDAR 360 ° laserskanner med Arduino: Jeg er en stor fan av å bygge sumobotter, og jeg er alltid på utkikk etter nye interessante sensorer og materialer å bruke for å bygge en bedre, raskere og smartere robot. Jeg fant ut om RPLIDAR A1 som du kan få for $ 99 på DFROBOT.com. Jeg sa at jeg var helt
DIY LED SOFTBOX -stativ for produktfotografering: 27 trinn (med bilder)
DIY LED SOFTBOX -stativ for produktfotografering: Lær hvordan du lager en SOFTBOX LED -lampe hjemme enkelt Kartong DIY #DIY #Softbox #Light #Film #Studio #HowToMake #Cardboard #LED #Bulb #DiyAtHome ▶ Følg trinnvise instruksjonene i videoen og ha det gøy ved å prøve selv !!! ▶ Vennligst la