Inhoudsopgave:
- Stap 1: Verzamel onderdelen en bestanden
- Stap 2: monteer circuit
- Stap 3: Upload broncode naar Arduino
- Stap 4: Bedien de controller
- Stap 5: Begin met fotograferen
Video: Arduino-controller voor geautomatiseerde 360 ° productfotografie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Laten we een op Arduino gebaseerde controller bouwen die een stappenmotor en een camerasluiter bestuurt. Samen met een stappenmotor aangedreven draaitafel is dit een krachtig en voordelig systeem voor geautomatiseerde 360° productfotografie of fotogrammetrie. De automatische camerasluiter is gebaseerd op een geweldige bibliotheek van "Sebastian Setz" en werkt voor infrarood geactiveerde camera's van Nikon, Canon, Minolta, Olympus, Pentax, Sony.
Ik heb twee versies van de controller voorbereid:
- Een basisversie die bediend wordt met een simpele drukknop en een status led.
- Een geavanceerde versie die een 16x2 LCD + toetsenbord schild gebruikt en dus een menu heeft om de variabelen "on the fly" te wijzigen en niet alleen in de broncode.
Wat doet de controleur?
Als u een "fotoshoot" activeert door op de knop te drukken, voert de draaitafel een volledige omwenteling uit, verdeeld in een vooraf gedefinieerd aantal stappen. Na elke rotatiestap maakt de controller een korte pauze en activeert vervolgens de camera. U kunt de variabelen van de rotatiesnelheid, de vertragingstijd en het aantal stappen in de broncode (voor eenvoudige controllerversie) of in het displaymenu (geavanceerde controllerversie) wijzigen.
Stap 1: Verzamel onderdelen en bestanden
Onderdelen:
- Arduino Uno (of vergelijkbaar)
- Breadboard (half size breadboard past)
- Easydriver Stappenmotor Driver
- 2X koellichaam voor Easydriver (optioneel maar STERK aanbevolen) https://www.sparkfun.com/products/11510Je hebt thermische tape nodig om het koellichaam op de chip te bevestigen. Als u uw koellichaam bestelt, zorg er dan voor dat termaltape is meegeleverd of apart kan worden besteld.
- Infrarood LED 950nm (voor IR-cameratrigger)
- Weerstand 220 ohm (voorweerstanden voor infrarood-LED)
- Piezo-geluidselement (optioneel, als u feedbackgeluiden wilt hebben)
- Sommige jumperdraden
- Externe voeding voor stappenmotor Ik heb goede ervaringen opgedaan met een 12V 1A voedingsadapter om een 1A NEMA 17 stappenmotor van Trinamic aan te sturen. Ik had ook een 24V 3A voedingsadapter in gebruik. Het Easydriver-bord ondersteunt tot 30V en 750mA per fase. Meer over de easydriver-specificaties hier:
- Aansluiting voor externe voeding stappenmotor
- Bipolaire NEMA 17 Stappenmotor en Draaitafel b.v. de FluxGarage „Automated Turntable With Steppermotor“Link:
Toevoegen voor basis drukknop-controller …
- Druk op de knop
- Weerstand 10k ohm (voor de drukknop)
- LED (status-led)
- Weerstand 220 ohm (voorweerstanden voor status-LED)
… OF voeg toe voor geavanceerde controller met display+toetsenbordmenu:
Adafruit LCD Shield Kit met 16x2 Character Display, b.v
Download de Arduino-codes en Fritzing-diagrammen voor de basis- en geavanceerde controller:
Als je het Fritzing-document voor de geavanceerde controller wilt openen, zorg er dan voor dat je de adafruit-elementen downloadt en installeert:
Let op: Op de foto's gebruik ik de FluxGarage "Tinkerer's Baseplate" en de FluxGarage "Front Plate for 16x2 LCD + Keypad Shield". Het gebruik van die elementen is optioneel, als je ze ook wilt gebruiken, klik dan op de links voor de betreffende instructables.
Stap 2: monteer circuit
Soldeer Easydriver board voor breadboard gebruik:Om de easydriver op een breadboard te gebruiken, moet je een aantal mannelijke pin headers op het board solderen. De beste manier is om de mannelijke pin-headers in het breadboard te plaatsen, de easydriver erop te leggen en vervolgens de pinnen te solderen.
Bedrading: Sluit de onderdelen aan zoals weergegeven in de betreffende Fritzing-afbeelding voor de basis- of geavanceerde controller. Download de Firtzing diagrammen op github, vind de links in stap 1.
Controleer als volgt of alles is aangesloten:
- Arduino digitale pin 02 = dir pin van Easydriver
- Arduino digitale pin 03 = stappen van Easydriver
- Arduino digitale pin 09 = uitgang voor piëzo
- Arduino digitale pin 12 = uitgang voor infrarood LED (plaats 220 ohm pre-weerstand voor led)
+ voor basiscontroller:
- Arduino digitale pin 04 = ingang voor drukknop (plaats 10k ohm weerstand voor knop massa)
- Arduino digitale pin 13 = uitgang voor status-LED (plaats 220 ohm pre-weerstand voor led)
+ voor geavanceerde controller:
Stapel het scherm + toetsenbord schild op de arduino, eigenlijk worden die pinnen gebruikt: Arduino analoge pin A4+A5 en 5V+GND
Stappenmotor aansluiten: Het aansluiten van bipolaire stappenmotoren (4 draden) gaat over het aansluiten van de twee spoelen (A en B) van de motor op de rechter pinnen van het easydriver-bord. Bekijk de afbeelding in het midden van deze pagina en op de specificaties van uw specifieke stappenmotor:
U kunt hier ook meer informatie vinden over het aansluiten van uw stappenmotor en de Easydriver:
Externe voeding aansluiten Het Easydriver-bord heeft twee aparte voedingspinnen rechtsboven (M+ en Ground). Terwijl het bord zelf stroom krijgt van de Arduino, levert de aparte ingang stroom voor de stappenmotor. Als u een typische "out of the box" voedingsadapter en een stopcontact gebruikt, moet u de "+"-draad aansluiten op de "M+"-pin van de easydriver en de "-"-draad op de "GND"-pin van easydriver. Meestal zit de „+“aan de binnenkant, terwijl de „-“aan de buitenkant van de stekker zit. Maar wees voorzichtig, sommige stroomadapters maken het mogelijk om de polariteit te veranderen! Als u uw easydriver verkeerd bedraden, kan en zal deze waarschijnlijk beschadigd raken, houd daar rekening mee.
Stap 3: Upload broncode naar Arduino
Download de Arduino-broncode op Github:
Arduino-IDE downloaden:
www.arduino.cc/en/Main/Software
Download de bibliotheken van derden en kopieer ze naar de bibliotheekmap van uw IDE:… voor de camerasluiter:https://github.com/dharmapurikar/Arduino/tree/mast…… voor de Adafruit 16x2 Display+Keypad Shield:https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…
De code is getest en werkt prima met de nieuwste Arduino IDE (1.8.7 op windows) en Arduino Uno + Easydriver Stepper motor Driver + Adafruit 16x2 Display+Keypad Shield, + een Trinamic stappenmotor en een Nikon D60 camera.
Pas de code aan om met uw specifieke camera te werken: zoals vermeld, heb ik de "multiCameraIrControl.h" -bibliotheek van Sebastian Setz gebruikt. Om het voor je camera te laten werken, moet je de schuine strepen in de opmerkingen vóór de naam van de camerafabrikant verwijderen en natuurlijk de schuine strepen voor alle andere namen van de fabrikant toevoegen:
// Cameratype instellen Nikon D5000(12);//Canon D5(12);//Minolta A900(12);//Olympus E5(12);//Pentax K7(12);//Sony A900(12);
Doe de vergelijkbare aanpassing in de "snap"-functie:
// Maak een picturevoid snap(){D5000.shotNow();//D5.shotNow();//A900.shotNow();//E5.shotNow();//K7.shotNow();//A900.shotNow();}
Let op: Helaas heb ik nog geen andere IR-getriggerde camera's kunnen testen dan mijn eigen Nikon D60. De camerasluiterbibliotheek zou moeten werken met verschillende camera's van de verschillende fabrikanten, niet alleen met de specifieke cameramodellen die in de code worden genoemd. Het zou leuk zijn als je een reactie plaatst over je ervaringen met je Canon, Minolta, Olympus, Pentax of Sony camera.
Stap 4: Bedien de controller
Wat doet de code respectievelijk de controller? Als u op de knop drukt, wordt een "fotoshooting" geactiveerd. Elke fotoshoot is een eindige lus van de volgende reeks:
- Camera wordt geactiveerd
- Korte vertraging
- Stappenmotor draait een vooraf gedefinieerd aantal graden
- Korte vertraging
Een fotoshoot is gebaseerd op een reeks variabelen die het exacte gedrag bepalen. U kunt deze variabelen wijzigen in de broncode (voor eenvoudige controllerversie) of in het displaymenu (geavanceerde controllerversie).
Bediening van de basiscontroller:
Op de basiscontroller geeft de Status-LED aan wanneer het systeem klaar is om te presteren. De LED gaat uit wanneer u een fotoshoot start. U kunt een fotoshoot onderbreken door de knop ingedrukt te houden totdat het "onderbrekingsgeluid" verschijnt en de draaitafel stopt. Bekijk de video in het bovenste gedeelte van deze instructable om dit in "het echte leven" te zien.
De variabelen van de fotoshoot zijn te vinden in het bovenste gedeelte van de code en kunnen worden gewijzigd om de fotoshoot aan te passen. Hieronder ziet u de beginwaarden:
int schietstappen = 20; // aantal stappen voor een volledige omwenteling, moet 10, 20 of 40float opnamesnelheid = 0,01 zijn; // rotatiesnelheid: elk getal van.01 -> 1 waarbij 1 de snelste is - Langzamer is sterker (langzamer = beter voor "zware" objecten) int shootingdelay = 1000; // pauze in milliseconden voor en na elke rotatie
De geavanceerde controller bedienen:
Bij het inschakelen van de geavanceerde controller wordt gedurende 4 seconden een FluxGarage-logosplash weergegeven. Daarna is de controller klaar om uit te voeren en toont hij een lijst met de instelbare set variabelen:
- ST = aantal stappen, kan 10, 20 of 40. zijn
- SP = Rotatiesnelheid, kan 1-5 zijn, terwijl 1 het langzaamst is
- DE = Vertraging voor en na elke stap in tienden van een seconde, kan 5, 10, 25, 50. zijn
- LI = Bepaalt of de achtergrondverlichting van het scherm aan of uit is tijdens het fotograferen. Kan 1 = aan of 0 = uit zijn
U kunt met de linker- en rechterknop door de variabele typen navigeren en de waarden wijzigen met de omhoog- en omlaagknoppen. Start een fotoshoot door op de selectieknop te drukken en onderbreek een fotoshoot door de selectieknop ingedrukt te houden totdat het "onderbrekingsgeluid" verschijnt. Bekijk de video in het bovenste gedeelte van deze instructable om dit in "het echte leven" te zien.
Stap 5: Begin met fotograferen
Als je je eigen controller + draaitafel hebt gebouwd en je camera is geplaatst, ben je helemaal klaar om te beginnen met fotograferen … bijna. Ik zal enkele lessen uit mijn eigen experimenten met u delen:
- Gebruik een lichttent om uw objecten gelijkmatig te verlichten. Je kunt hier op instructables.com veel goede tutorials vinden die laten zien hoe je een diy lightbox kunt maken. Ook zijn er goedkope textiellichttenten die in veel online winkels te koop zijn.
- Gebruik gloeilampen met dezelfde kleurtemperatuur (Kelvin)
- Stel het object handmatig scherp op de draaitafel, deactiveer de autofocus van uw camera
- Schakel de beeldstabilisator van uw camera uit als u met een statief werkt
- Selecteer een meetbereik op de achtergrond, waar het geschoten object niet zal verschijnen. Zo voorkom je flikkeringen in je beeldreeks. Een andere manier is om de belichtingstijden enz. van uw camera handmatig in te stellen.
- Als u uw 360-afbeeldingen in uw website wilt opnemen, gebruikt u javascript-plug-ins zoals "Jquery Reel Plugin" door Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel "360 Degrees Product Viewer" door "Codyhouse “→
Dit is het resultaat van een van mijn opnames (gemaakt met de instelling hierboven):
Aanbevolen:
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) - Arduino gebaseerd: 15 stappen (met afbeeldingen)
Geautomatiseerde modelspoorbaan met twee treinen (V2.0) | Gebaseerd op Arduino: het automatiseren van modelbaanlay-outs met behulp van Arduino-microcontrollers is een geweldige manier om microcontrollers, programmeren en modelspoorbanen samen te voegen tot één hobby. Er zijn een heleboel projecten beschikbaar over het autonoom laten rijden van een trein op een modelspoorbaan
Eenvoudige geautomatiseerde modelspoorbaan - Arduino bestuurd: 11 stappen (met afbeeldingen)
Eenvoudige geautomatiseerde modelspoorbaan | Arduino-gestuurd: Arduino-microcontrollers zijn een geweldige aanvulling op de modelspoorbaan, vooral als het om automatisering gaat. Hier is een eenvoudige en gemakkelijke manier om aan de slag te gaan met modelspoorautomatisering met Arduino. Dus, zonder verder oponthoud, laten we aan de slag gaan
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Zelfbouw -- Klap geautomatiseerde elektrische auto -- Zonder Arduino: 3 stappen
Zelfbouw || Klap geautomatiseerde elektrische auto || Zonder Arduino: hier ga ik je laten zien hoe je een Clap Controlled Car maakt zonder Arduino te gebruiken, maar met behulp van IC 4017. Het is een auto waarvan de voorwaartse en achterwaartse beweging kan worden bestuurd door een Clap. Dit project is gebaseerd op Clap ON - Klap UIT Circuit dat wordt weergegeven
DIY - Geautomatiseerde tuinirrigatie - (Arduino / IOT): 9 stappen (met afbeeldingen)
DIY - Geautomatiseerde tuinirrigatie - (Arduino / IOT): Dit project laat je zien hoe je een irrigatiecontroller voor een huistuin kunt bouwen. Geschikt voor het meten van bodemvochtmetingen en het activeren van irrigatie vanuit een tuinkraan als de grond te droog wordt. De controller bevat ook een temperatuur- en h