Mục lục:

Bộ điều khiển Arduino để chụp ảnh sản phẩm 360 ° tự động: 5 bước (có ảnh)
Bộ điều khiển Arduino để chụp ảnh sản phẩm 360 ° tự động: 5 bước (có ảnh)

Video: Bộ điều khiển Arduino để chụp ảnh sản phẩm 360 ° tự động: 5 bước (có ảnh)

Video: Bộ điều khiển Arduino để chụp ảnh sản phẩm 360 ° tự động: 5 bước (có ảnh)
Video: Arduino Controller for DIY Automated Turntable with Camera Shutter for 360° Product Photography 2024, Tháng bảy
Anonim
Image
Image
Thu thập các bộ phận và tệp
Thu thập các bộ phận và tệp

Hãy xây dựng một bộ điều khiển dựa trên arduino để điều khiển một động cơ và màn trập máy ảnh. Cùng với bàn xoay điều khiển bằng steppermotor, đây là một hệ thống mạnh mẽ và chi phí thấp để chụp ảnh sản phẩm 360 ° tự động hoặc đo ảnh. Màn trập máy ảnh tự động dựa trên một thư viện tuyệt vời từ “Sebastian Setz” và hoạt động cho các máy ảnh kích hoạt hồng ngoại của Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Tôi đã chuẩn bị hai phiên bản của bộ điều khiển:

  • Một phiên bản cơ bản được vận hành với một nút bấm đơn giản và một đèn LED trạng thái.
  • Phiên bản nâng cao sử dụng tấm chắn bàn phím + LCD 16x2 và do đó có menu để thay đổi các biến "một cách nhanh chóng" và không chỉ trong mã nguồn.

Bộ điều khiển làm gì?

Nếu bạn kích hoạt "chụp ảnh" bằng cách nhấn nút, bàn xoay sẽ thực hiện một vòng quay đầy đủ, được chia thành một số bước được xác định trước. Sau mỗi bước quay, bộ điều khiển sẽ ngắt quãng ngắn và sau đó kích hoạt camera. Bạn sẽ có thể thay đổi các biến của tốc độ quay, thời gian trễ và số bước trong mã nguồn (đối với phiên bản bộ điều khiển đơn giản) hoặc trong menu hiển thị (phiên bản bộ điều khiển nâng cao).

Bước 1: Thu thập các bộ phận và tệp

Thu thập các bộ phận và tệp
Thu thập các bộ phận và tệp
Thu thập các bộ phận và tệp
Thu thập các bộ phận và tệp

Các bộ phận:

  • Arduino Uno (hoặc tương tự)
  • Breadboard (vừa với breadboard cỡ nửa)
  • Trình điều khiển động cơ bước Easydriver
  • 2X tản nhiệt cho Easydriver (tùy chọn nhưng được khuyến nghị CAO) https://www.sparkfun.com/products/11510Bạn sẽ cần băng keo nhiệt để cố định tản nhiệt vào chip. Nếu bạn đặt hàng bộ tản nhiệt của mình, hãy đảm bảo rằng băng keo cuối cùng được dán sẵn hoặc có thể được đặt hàng riêng.
  • Đèn LED hồng ngoại 950nm (để kích hoạt camera hồng ngoại)
  • Điện trở 220 ohms (điện trở trước cho đèn LED hồng ngoại)
  • Yếu tố âm thanh Piezo (tùy chọn, nếu bạn muốn có âm thanh phản hồi)
  • Một số dây nhảy
  • Nguồn điện bên ngoài cho Steppermotor Tôi đã có những trải nghiệm tốt với bộ chuyển đổi nguồn 12V 1A để điều khiển Bộ chuyển đổi nguồn 1A NEMA 17 của Trinamic. Tôi cũng có một bộ đổi nguồn 24V 3A đang được sử dụng. Bo mạch Easydriver hỗ trợ lên đến 30V và 750mA mỗi pha. Tìm hiểu thêm về thông số kỹ thuật của easydriver tại đây:
  • Ổ cắm cho nguồn điện bên ngoài của steppermotor
  • Bipolar NEMA 17 Steppermotor và Turntable, ví dụ: FluxGarage “Bàn xoay tự động với Steppermotor” Liên kết:

Thêm cho bộ điều khiển nút bấm cơ bản…

  • Nút bấm
  • Điện trở 10k ohms (đối với nút bấm)
  • LED (trạng thái dẫn)
  • Điện trở 220 ohms (điện trở trước cho đèn LED trạng thái)

… HOẶC thêm cho bộ điều khiển nâng cao với menu màn hình + bàn phím:

Adafruit LCD Shield Kit với Màn hình ký tự 16x2, ví dụ:

Tải xuống mã Arduino và sơ đồ Fritzing cho bộ điều khiển cơ bản và nâng cao:

Nếu bạn muốn mở tài liệu Fritzing cho bộ điều khiển nâng cao, hãy đảm bảo tải xuống và cài đặt các phần tử adafruit:

Xin lưu ý: Trên các hình ảnh, tôi đang sử dụng FluxGarage “Tấm đế của Tinkerer” và “Tấm phía trước của FluxGarage cho LCD 16x2 + Tấm chắn bàn phím”. Việc sử dụng các phần tử đó là tùy chọn, nếu bạn cũng muốn sử dụng chúng, hãy nhấp vào các liên kết để xem các tài liệu hướng dẫn liên quan.

Bước 2: Lắp ráp mạch

Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch

Hàn bảng Easydriver để sử dụng breadboard: Để sử dụng easydriver trên bảng breadboard, bạn cần hàn một số đầu ghim nam trên bảng. Cách tốt nhất là đặt các đầu ghim đực vào breadboard, đặt dao kéo lên trên và sau đó hàn các đầu ghim.

Nối dây: Nối dây các bộ phận như được hiển thị trong đồ họa Fritzing liên quan cho bộ điều khiển cơ bản hoặc nâng cao. Tải xuống sơ đồ Firtzing trên github, tìm các liên kết ở bước 1.

Kiểm tra kỹ xem mọi thứ đã được kết nối như sau:

  • Chân số 02 của Arduino = chân dir của Easydriver
  • Chân số 03 của Arduino = chân bước của Easydriver
  • Chân kỹ thuật số Arduino 09 = đầu ra cho piezo
  • Chân số 12 của Arduino = đầu ra cho đèn LED hồng ngoại (đặt điện trở trước 220 ohms trước đèn LED)

+ cho Bộ điều khiển cơ bản:

  • Chân kỹ thuật số Arduino 04 = đầu vào cho nút bấm (đặt điện trở 10k ohms trước khi tiếp đất nút)
  • Chân số 13 của Arduino = đầu ra cho đèn LED trạng thái (đặt điện trở trước 220 ohms trước đèn LED)

+ cho Bộ điều khiển nâng cao:

Xếp tấm chắn màn hình + bàn phím lên arduino, thực ra các chân đó được sử dụng: chân tương tự Arduino A4 + A5 và 5V + GND

Kết nối Steppermotor: Nối dây động cơ bước lưỡng cực (4 dây) là kết nối hai cuộn dây (A và B) của động cơ với các chân bên phải của bảng điều khiển dễ dàng. Hãy xem hình ảnh ở giữa trang này và tại thông số kỹ thuật của động cơ bước cụ thể của bạn:

Bạn cũng có thể tìm thêm thông tin về cách đấu dây động cơ bước và Easydriver tại đây:

Kết nối nguồn điện bên ngoài Bo mạch Easydriver có hai chân cắm nguồn riêng biệt ở phía trên bên phải (M + và Ground). Trong khi bản thân bo mạch nhận được nguồn từ Arduino, đầu vào riêng biệt cung cấp năng lượng cho động cơ steppermotor. Nếu bạn sử dụng bộ đổi nguồn „ngoài hộp“thông thường và một ổ cắm, bạn nên kết nối dây „+“với chân „M +“của easydriver và dây „-“với easydriver là chân „GND“. Thông thường dấu “+“ở phía bên trong, trong khi dấu “-“ở phía bên ngoài của phích cắm. Nhưng hãy cẩn thận, một số bộ điều hợp nguồn cho phép chuyển đổi cực tính! Nếu bạn đấu dây không chính xác, nó có thể và sẽ bị hỏng, hãy ghi nhớ điều đó.

Bước 3: Tải mã nguồn lên Arduino

Tải mã nguồn lên Arduino
Tải mã nguồn lên Arduino

Tải xuống mã nguồn Arduino tại Github:

Tải xuống Arduino IDE:

www.arduino.cc/en/Main/Software

Tải xuống thư viện của bên thứ ba và sao chép chúng vào thư mục thư viện IDE của bạn:… cho màn trập máy ảnh: https://github.com/dharmapurikar/Arduino/tree/mast…… cho Màn hình Adafruit 16x2 + Tấm chắn bàn phím: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Mã được kiểm tra và hoạt động tốt với Arduino IDE mới nhất (1.8.7 trên windows) và Arduino Uno + Trình điều khiển động cơ bước Easydriver + Màn hình Adafruit 16x2 + Tấm chắn bàn phím, + động cơ bước Trinamic và máy ảnh Nikon D60.

Điều chỉnh mã để hoạt động với máy ảnh cụ thể của bạn: Như đã đề cập, tôi đã sử dụng thư viện „multiCameraIrControl.h“của Sebastian Setz. Để làm cho nó hoạt động cho máy ảnh của bạn, bạn phải xóa các dấu gạch chéo nhận xét trước tên nhà sản xuất máy ảnh của bạn và tất nhiên thêm dấu gạch chéo trước tất cả các tên nhà sản xuất khác:

// Đặt Loại máy ảnhNikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Thực hiện điều tương tự trong hàm “snap”:

// Chụp ảnh snapoid () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Xin lưu ý: Rất tiếc, tôi chưa thể kiểm tra các máy ảnh kích hoạt IR khác ngoài Nikon D60 của riêng tôi. Thư viện cửa trập máy ảnh phải hoạt động với một số máy ảnh của các nhà sản xuất khác nhau, không chỉ với các kiểu máy ảnh cụ thể được đề cập trong mã. Sẽ thật tuyệt nếu bạn đăng bình luận về trải nghiệm của mình với máy ảnh Canon, Minolta, Olympus, Pentax hoặc Sony.

Bước 4: Vận hành Bộ điều khiển

Vận hành bộ điều khiển
Vận hành bộ điều khiển
Vận hành bộ điều khiển
Vận hành bộ điều khiển

Mã tương ứng với bộ điều khiển làm gì? Nếu bạn nhấn nút, "chụp ảnh" sẽ được kích hoạt. Mỗi Chụp ảnh là một vòng lặp hữu hạn của chuỗi sau:

  1. Máy ảnh được kích hoạt
  2. Trì hoãn ngắn hạn
  3. Steppermotor sẽ xoay một lượng độ được xác định trước
  4. Trì hoãn ngắn hạn

Chụp ảnh dựa trên một tập hợp các biến xác định hành vi chính xác của nó. Bạn có thể thay đổi các biến này trong mã nguồn (đối với phiên bản bộ điều khiển đơn giản) hoặc trong menu hiển thị (phiên bản bộ điều khiển nâng cao).

Vận hành bộ điều khiển cơ bản:

Trên bộ điều khiển cơ bản, đèn LED Trạng thái hiển thị khi hệ thống sẵn sàng hoạt động. Đèn LED tắt khi bạn bắt đầu chụp ảnh. Bạn có thể làm gián đoạn quá trình chụp ảnh bằng cách giữ nút cho đến khi "âm thanh ngắt" xuất hiện và bàn xoay dừng lại. Hãy xem video trong phần trên cùng của hướng dẫn này để thấy điều này trong "cuộc sống thực".

Các biến của chụp ảnh có thể được tìm thấy trong phần trên cùng của mã và có thể được thay đổi để sửa đổi chụp ảnh. Dưới đây, bạn có thể thấy các giá trị ban đầu:

int shootingsteps = 20; // số bước cho một cuộc cách mạng đầy đủ, phải là 10, 20 hoặc 40float shootingspeed = 0,01; // tốc độ quay: bất kỳ số nào từ.01 -> 1 với 1 là nhanh nhất - Chậm hơn mạnh hơn (chậm hơn = tốt hơn cho các đối tượng “nặng”) int shootingdelay = 1000; // ngắt theo mili giây trước và sau mỗi vòng quay

Vận hành bộ điều khiển nâng cao:

Khi bật bộ điều khiển nâng cao, dấu nháy logo FluxGarage sẽ hiển thị trong 4 giây. Sau đó, bộ điều khiển đã sẵn sàng thực hiện và hiển thị danh sách tập hợp các biến có thể điều chỉnh:

  • ST = Số bước, có thể là 10, 20 hoặc 40
  • SP = Tốc độ quay, có thể là 1-5 trong khi tốc độ chậm nhất là 1
  • DE = Độ trễ trước và sau mỗi bước trong phần mười giây, có thể là 5, 10, 25, 50
  • LI = Xác định xem đèn nền của màn hình đang bật hay tắt trong khi chụp. Có thể là 1 = bật hoặc 0 = tắt

Bạn có thể điều hướng qua các loại biến bằng các nút trái và phải và thay đổi các giá trị bằng các nút lên và xuống. Hãy xem video trong phần trên cùng của hướng dẫn này để thấy điều này trong "cuộc sống thực".

Bước 5: Bắt đầu chụp

Bắt đầu chụp
Bắt đầu chụp

Nếu bạn đã xây dựng bộ điều khiển + bàn xoay của riêng mình và máy ảnh của bạn đã sẵn sàng, bạn đã sẵn sàng để bắt đầu chụp… gần như vậy. Hãy để tôi chia sẻ một số bài học từ các thử nghiệm của riêng tôi:

  • Sử dụng lều ánh sáng để chiếu sáng đồng đều các đồ vật của bạn. Bạn có thể tìm thấy rất nhiều hướng dẫn hay ở đây, tại allowable.com hướng dẫn cách tạo hộp đèn tự làm. Ngoài ra, có những chiếc lều bằng vải sợi rẻ tiền có thể mua được ở nhiều cửa hàng trực tuyến.
  • Sử dụng bóng đèn có cùng nhiệt độ màu (Kelvin)
  • Lấy nét đối tượng trên bàn xoay theo cách thủ công, tắt tính năng tự động lấy nét của máy ảnh
  • Tắt bộ ổn định hình ảnh của máy ảnh nếu làm việc với chân máy
  • Chọn phạm vi đo ở hậu cảnh, nơi đối tượng chụp sẽ không xuất hiện. Làm như vậy, bạn sẽ tránh được hiện tượng nhấp nháy trong chuỗi hình ảnh của mình. Một cách khác là đặt thủ công thời gian phơi sáng của máy ảnh, v.v.
  • Nếu bạn muốn đưa 360-Images vào trang web của mình, hãy sử dụng các plugin javascript như „Jquery Reel Plugin“của Petr Vostřel bí danh „PISI” → https://jquery.vostrel.cz/reel360 Degrees Product Viewer “của„ Codyhouse “→

Đây là kết quả của một trong những vụ bắn súng của tôi (được tạo với cài đặt ở trên):

Đề xuất: