Cuprins:

Controller Arduino pentru fotografierea automată a produselor la 360 °: 5 pași (cu imagini)
Controller Arduino pentru fotografierea automată a produselor la 360 °: 5 pași (cu imagini)

Video: Controller Arduino pentru fotografierea automată a produselor la 360 °: 5 pași (cu imagini)

Video: Controller Arduino pentru fotografierea automată a produselor la 360 °: 5 pași (cu imagini)
Video: Dorian este speriat de un interlop când face poze 😱🥊🤣 #timisoara #dorianpopa #cluj #bucuresti 2024, Noiembrie
Anonim
Image
Image
Adunați piese și fișiere
Adunați piese și fișiere

Să construim un controler bazat pe arduino care controlează un motor de pas și un obturator al camerei. Împreună cu un platan rotativ acționat de un motor cu pas, acesta este un sistem puternic și cu costuri reduse pentru fotografierea automată a produselor la 360 ° sau fotogrametria. Declanșatorul automat al camerei se bazează pe o bibliotecă excelentă de la „Sebastian Setz“și funcționează pentru camerele cu declanșare în infraroșu de la Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Am pregătit două versiuni ale controlerului:

  • O versiune de bază care este acționată cu un buton simplu și un led de stare.
  • O versiune avansată care utilizează un ecran LCD de 16x2 + tastatură și are astfel un meniu pentru a schimba variabilele „din mers” și nu numai în codul sursă.

Ce face controlerul?

Dacă declanșați o „fotografiere” prin apăsarea butonului, platoul rotativ efectuează o revoluție completă, împărțită într-o cantitate predefinită de pași. După fiecare pas de rotație, controlerul face o scurtă pauză și apoi declanșează camera. Veți putea modifica variabilele vitezei de rotație, timpul de întârziere și numărul de pași din codul sursă (pentru versiunea simplă a controlerului) sau din meniul de afișare (versiunea avansată a controlerului).

Pasul 1: Adunați piese și fișiere

Adunați piese și fișiere
Adunați piese și fișiere
Adunați piese și fișiere
Adunați piese și fișiere

Părți:

  • Arduino Uno (sau similar)
  • Breadboard (se potriveste pe jumatate)
  • Driver pentru motorul pas cu pas Easydriver
  • Radiator 2X pentru Easydriver (opțional, dar extrem de recomandat) https://www.sparkfun.com/products/11510 Veți avea nevoie de bandă termică pentru a fixa radiatorul pe cip. Dacă comandați radiatorul, asigurați-vă că banda termală este inclusă sau poate fi comandată separat.
  • LED cu infraroșu 950nm (pentru declanșarea camerei IR)
  • Rezistor de 220 ohmi (pre-rezistențe pentru infraroșu-LED)
  • Element de sunet piezo (opțional, dacă doriți să aveți sunete de feedback)
  • Unele fire Jumper
  • Alimentare externă pentru Steppermotor Am făcut experiențe bune cu un adaptor de alimentare 12V 1A pentru a conduce un Steppermotor 1A NEMA 17 de la Trinamic. Am avut și un adaptor de alimentare de 24V 3A în uz. Placa Easydriver acceptă până la 30V și 750mA pe fază. Mai multe despre specificațiile easydriver aici:
  • Priză pentru sursa de alimentare externă a motorului pas cu pas
  • Bipolar NEMA 17 Steppermotor și Turntable de ex. FluxGarage „Turntable automat cu Steppermotor“Link:

Adăugați pentru butonul de comandă de bază …

  • Apasa butonul
  • Rezistor 10 k ohmi (pentru buton)
  • LED (condus de stare)
  • Rezistor 220 ohmi (pre-rezistențe pentru LED de stare)

… SAU adăugați pentru controler avansat cu afișaj + meniu tastatură:

Set de ecran LCD Adafruit cu afișaj de caractere 16x2, de ex

Descărcați codurile Arduino și diagramele Fritzing pentru controlerul de bază și avansat:

Dacă doriți să deschideți documentul Fritzing pentru controlerul avansat, asigurați-vă că descărcați și instalați elementele adafruit:

Vă rugăm să rețineți: pe imagini folosesc FluxGarage „Placa de bază a Tinkererului” și FluxGarage „Placa frontală pentru ecran LCD 16x2 + tastatură“. Folosirea acestor elemente este opțională, dacă doriți să le utilizați, faceți clic pe link-urile pentru instructabile.

Pasul 2: Asamblați circuitul

Asamblați circuitul
Asamblați circuitul
Asamblați circuitul
Asamblați circuitul
Asamblați circuitul
Asamblați circuitul

Placă de lipit Easydriver pentru utilizarea panoului de rulare: Pentru a utiliza easydriver-ul pe o placă de panou, trebuie să lipiți niște anteturi masculine pe pin. Cea mai bună modalitate este să puneți anteturile pinului masculin în panoul de măsurare, să așezați easydriver-ul deasupra și apoi să lipiți pinii.

Cablare: conectați piesele așa cum se arată în graficul Fritzing referitor la controlerul de bază sau avansat. Descărcați diagramele Firtzing de pe github, găsiți linkurile la pasul 1.

Verificați dacă totul este conectat după cum urmează:

  • Pinul digital Arduino 02 = pinul direct al Easydriver
  • Pinul digital Arduino 03 = pinul pasului Easydriver
  • Pinul digital Arduino 09 = ieșire pentru piezo
  • Pin digital Arduino 12 = ieșire pentru LED în infraroșu (puneți pre rezistorul de 220 ohmi înainte de led)

+ pentru controler de bază:

  • Pin digital Arduino 04 = intrare pentru buton (amplasați rezistorul de 10 k ohmi înainte de împământarea butonului)
  • Pinul digital Arduino 13 = ieșire pentru LED-ul de stare (puneți pre rezistorul de 220 ohmi înainte de led)

+ pentru Advanced Controller:

Stivați ecranul + ecranul tastaturii pe arduino, de fapt acei pini sunt utilizați: pinul analogic Arduino A4 + A5 și 5V + GND

Conectați Steppermotor: Cablarea motoarelor pas cu pas bipolare (4 fire) este legată de conectarea celor două bobine (A și B) ale motorului la pinii dreapta ai plăcii easydriver. Aruncați o privire la graficul din mijlocul acestei pagini și la specificațiile motorului dvs. pas cu pas specific:

De asemenea, puteți găsi mai multe informații despre conectarea motorului dvs. pas cu pas și Easydriver aici:

Conectați sursa de alimentare externă Placa Easydriver are doi pini de alimentare separați în partea dreaptă sus (M + și masă). În timp ce placa în sine câștigă energie de la Arduino, intrarea separată asigură energie pentru motorul pas cu pas. Dacă utilizați un adaptor de alimentare tip „out of the box” și o priză, ar trebui să conectați firul „+“la pinul „M +“al easydriver-ului și firul „-“la pinul „GND“al easydriver-ului. De obicei „+“se află pe partea interioară, în timp ce „-“se află pe partea exterioară a mufei. Atenție însă, unele adaptoare de alimentare permit schimbarea polarității! Dacă conectați dispozitivul easydriver incorect, acesta poate și probabil va fi deteriorat, rețineți acest lucru.

Pasul 3: Încărcați codul sursă pe Arduino

Încărcați codul sursă în Arduino
Încărcați codul sursă în Arduino

Descărcați codul sursă Arduino de la Github:

Descărcați Arduino IDE:

www.arduino.cc/en/Main/Software

Descărcați bibliotecile terță parte și copiați-le în dosarul bibliotecii IDE: … pentru declanșatorul camerei: https://github.com/dharmapurikar/Arduino/tree/mast…… pentru ecranul Adafruit 16x2 + ecranul tastaturii: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Codul este testat și funcționează bine cu cel mai recent Arduino IDE (1.8.7 pe Windows) și Arduino Uno + Easydriver Stepper motor Driver + Adafruit 16x2 Display + Keypad Shield, + un motor pas cu pas Trinamic și o cameră Nikon D60.

Reglați codul pentru a funcționa cu camera dvs. specifică: După cum am menționat, am folosit biblioteca „multiCameraIrControl.h“de Sebastian Setz. Pentru a funcționa pentru camera dvs., trebuie să ștergeți barele de comentarii înainte de numele producătorului camerei și, desigur, adăugați bare înainte de toate celelalte nume ale producătorului:

// Setați tipul camerei Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Faceți ajustarea similară în funcția „snap“:

// Fă o fotografie.shotNow ();}

Vă rugăm să rețineți: Din păcate, încă nu am putut testa alte camere cu declanșare IR decât Nikon D60. Biblioteca obturatorului camerei ar trebui să funcționeze cu mai multe camere ale diferiților producători, nu numai cu modelele de camere specifice menționate în cod. Ar fi minunat dacă ați posta un comentariu la experiențele dvs. cu camera dvs. Canon, Minolta, Olympus, Pentax sau Sony.

Pasul 4: Acționați controlerul

Operați controlerul
Operați controlerul
Operați controlerul
Operați controlerul

Ce face codul respectiv controlerul? Dacă apăsați butonul, se declanșează o „fotografiere”. Fiecare fotografiere este o buclă finită din următoarea secvență:

  1. Camera este declanșată
  2. Întârziere scurtă
  3. Steppermotor va roti o cantitate predefinită de grade
  4. Întârziere scurtă

O fotografiere se bazează pe un set de variabile care determină comportamentul său exact. Puteți modifica aceste variabile în codul sursă (pentru versiunea simplă a controlerului) sau în meniul de afișare (versiunea avansată a controlerului).

Operarea controlerului de bază:

Pe controlerul de bază, LED-ul de stare arată când sistemul este gata să funcționeze. LED-ul se stinge când începeți fotografierea. Puteți întrerupe fotografierea ținând apăsat butonul până când apare „sunetul de întrerupere“și se oprește platoul rotativ. Aruncați o privire la videoclipul din secțiunea de sus a acestui instructiv pentru a vedea acest lucru în „viața reală”.

Variabilele fotografierii pot fi găsite în secțiunea de sus a codului și pot fi modificate pentru a modifica fotografierea. Mai jos puteți vedea valorile inițiale:

int shootingsteps = 20; // numărul de pași pentru o revoluție completă, ar trebui să fie de 10, 20 sau 40 viteza de tragere a flotei = 0,01; // viteza de rotație: orice număr de la.01 -> 1 cu 1 fiind cel mai rapid - Mai lent este mai puternic (mai lent = mai bun pentru obiectele „grele”) în fotografiere întârziere = 1000; // rupeți în milisecunde înainte și după fiecare rotație

Operarea controlerului avansat:

Când porniți controlerul avansat, este afișat un logosplash FluxGarage timp de 4 secunde. După aceea, controlerul este gata să efectueze și afișează o listă a setului de variabile reglabile:

  • ST = Numărul de pași, poate fi de 10, 20 sau 40
  • SP = Viteza de rotație, poate fi de 1-5, în timp ce 1 este cel mai lent
  • DE = Întârziere înainte și după fiecare pas în zecime de secundă, poate fi de 5, 10, 25, 50
  • LI = Stabilește dacă lumina de fundal a afișajului este aprinsă sau oprită în timpul fotografierii. Poate fi 1 = activat sau 0 = oprit

Puteți naviga prin tipurile de variabile cu butoanele stânga și dreapta și puteți schimba valorile cu butoanele sus și jos. Începeți o fotografiere apăsând butonul de selectare și întrerupeți o fotografiere ținând apăsat butonul de selectare până când apare „sunetul de întrerupere“. Aruncați o privire la videoclipul din secțiunea de sus a acestui instructiv pentru a vedea acest lucru în „viața reală”.

Pasul 5: Începeți fotografierea

Începeți fotografierea
Începeți fotografierea

Dacă ți-ai construit propriul controler + platan rotativ și camera este la locul lor, ești pregătit să începi să filmezi … aproape. Permiteți-mi să vă împărtășesc câteva învățături din propriile experimente:

  • Folosiți un cort ușor pentru a vă lumina obiectele în mod uniform. Puteți găsi o mulțime de tutoriale bune aici la instructables.com care arată cum să creați o casetă ușoară DIY. De asemenea, există corturi ușoare textile ieftine care pot fi cumpărate în multe magazine online.
  • Utilizați becuri cu aceeași temperatură de culoare (Kelvin)
  • Focalizați manual obiectul pe platan, dezactivați focalizarea automată a camerei
  • Opriți stabilizatorul de imagine al camerei, dacă lucrați cu un trepied
  • Selectați un domeniu de măsurare în fundal, unde obiectul împușcat nu va apărea. Procedând astfel, veți evita să pâlpâie în secvența de imagini. O altă modalitate este de a seta manual timpul de expunere al camerei dvs. etc.
  • Dacă doriți să includeți imaginile dvs. 360 în site-ul dvs. web, utilizați pluginuri javascript precum „Jquery Reel Plugin“de Petr Vostřel alias „PISI” → https://jquery.vostrel.cz/reel nevoie360 Degrees Product Viewer “de„ Codyhouse „→

Acesta este rezultatul uneia dintre filmările mele (create cu setările de mai sus):

Recomandat: