My Projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

arduino:Spin-Scan [2018/11/02 10:16]
tony
arduino:Spin-Scan [2023/03/12 22:17] (current)
tony
Line 1: Line 1:
-{{:​pilone.png |Cone icon by Fornax, CC-BY-SA 3.0, wikimedia commons}} ((PAGE UNDER CONSTRUCTION)) 
 <​html><​p style="​text-align:​right;">​Published ​ 2 Apr 2018</​p></​html>​ <​html><​p style="​text-align:​right;">​Published ​ 2 Apr 2018</​p></​html>​
 <​html><​p style="​text-align:​center"><​b><​font size="​6">​Making 360° GIF Photos</​font></​b></​p></​html>​ <​html><​p style="​text-align:​center"><​b><​font size="​6">​Making 360° GIF Photos</​font></​b></​p></​html>​
Line 32: Line 31:
 ===== Hardware configuration ===== ===== Hardware configuration =====
  
-  * Arduino Uno clone (duinotech UNO classic r3, p/n XC-4410) +I had a choice of a number of  recycled stepper motors, and settled on using a [[:​electronic:actuator:​stepper:​msaf200b51]],​ a Sankyo Mitsubishi flat motor with 1.8º/step (200 steps per revolution) and runs off a 12V power supply. ​ Its low profile, and lack of any protruding shaft from underneath meant it could just sit on the desk while testing.
- +
-  * LCD keypad shield clone (duinotech 2 x 16 LCD Controller, p/n XC-4454) +
- +
-  * Stepper Motor controller (duinotech L298N based, Dual Stepper Motor Controller, p/n XC-4492) +
- +
-I had a choice of a number of  recycled stepper motors, and settled on using a [[:​electronic:​stepper:​msaf200b51]],​ a Sankyo Mitsubishi flat motor with 1.8º/step (200 steps per revolution) and runs off a 12V power supply. ​ Its low profile, and lack of any protruding shaft from underneath meant it could just sit on the desk while testing.+
  
 {{arduino:​spin-scan:​p4188738a.jpg?​640 |Arduino, LCD, Stepper controller, stepper motor}} {{arduino:​spin-scan:​p4188738a.jpg?​640 |Arduino, LCD, Stepper controller, stepper motor}}
Line 44: Line 37:
  
 <​html><​br style="​clear:​ both;" /></​html>​ <​html><​br style="​clear:​ both;" /></​html>​
 +===== Parts list =====
 +  * Arduino Uno clone (duinotech UNO classic r3, p/n XC-4410)
 +  * LCD keypad shield clone (duinotech 2 x 16 LCD Controller, p/n XC-4454)
 +  * Stepper Motor controller (duinotech L298N based, Dual Stepper Motor Controller, p/n XC-4492)
 +  * [[:​electronic:​actuator:​stepper:​msaf200b51|MSAF200B51]],​ a Sankyo Mitsubishi stepper motor
  
 ===== The program code ===== ===== The program code =====
  
-As mentioned, I started with Shapespear'​s [[https://​cdn.instructables.com/​ORIG/​F59/​07PC/​IJUCSTEF/​F5907PCIJUCSTEF.zip|3D scanner firmware]], which was a great base as I had no experience with Arduinos at this point and his code did most of what I wanted. ​ My code is basically the same, but I have removed the manual step-and-take-exposure button function and added a post exposure delay selection option instead. ​ The other minor change is that I don't use the motor enable/​disable controls.+As mentioned, I started with Shapespear'​s [[https://​cdn.instructables.com/​ORIG/​F59/​07PC/​IJUCSTEF/​F5907PCIJUCSTEF.zip|3D scanner firmware]], which was a great base as I had no experience with Arduinos at this point and his code did most of what I wanted. ​ My code is basically the same, but I have removed the manual step-and-take-exposure button function and added a post-exposure delay selection option instead. ​ The other minor change is that I don't use the motor enable/​disable controls.
  
-The program has the stepper motor and camera type set within the code, I assume it will be used in a fairly dedicated mode.  So it would need to be recompiled and re-downloaded to use it with alternative devices ((the Arduino IDE uses the term "​upload"​ for sending the code to the Arduino board, but in my terminology one downloads from the larger machine to the smaller machine - eg you download from the internet to your PC)).+The program has the stepper motor and camera-type set within the code, I assume it will be used in a fairly dedicated mode.  So it would need to be recompiled and re-downloaded to use it with alternative devices ((the Arduino IDE uses the term "​upload"​ for sending the code to the Arduino board, but in my terminology one downloads from the larger machine to the smaller machine - eg you download from the internet to your PC)).
  
 If you are using the code with a different motor, that has a different number of steps per rotation, you will need to adapt "​stepsPerRevolution"​ and "​stepChoices"​ \\ If you are using the code with a different motor, that has a different number of steps per rotation, you will need to adapt "​stepsPerRevolution"​ and "​stepChoices"​ \\
Line 62: Line 60:
 |  **Select**|Start/​stop scanner| |  **Select**|Start/​stop scanner|
 |  **Left**|Cycle through post shutter delay times| |  **Left**|Cycle through post shutter delay times|
-|  **Up**|Cycle through options for number of exposures per revolution|+|  **Up**|Cycle through options for the number of exposures per revolution|
 |  **Down**|Step one unit counter-clockwise without triggering camera| |  **Down**|Step one unit counter-clockwise without triggering camera|
 |  **Right**|Step one unit clockwise without triggering camera| |  **Right**|Step one unit clockwise without triggering camera|
Line 77: Line 75:
 All these functions except "​Up"​ (cycle through exposure count options) are live, even during a stepping run, so that you can tweak things while a scan is in progress. All these functions except "​Up"​ (cycle through exposure count options) are live, even during a stepping run, so that you can tweak things while a scan is in progress.
  
-I might update the code so that the manual step options just step one stepper motor step, rather in units of stepsPerRevolution/​stepChoices,​ as that would be more useful for aligning the photographic subject exactly where I want it.+I might update the code so that the manual step options ​are just step one stepper motor step, rather in units of stepsPerRevolution/​stepChoices,​ as that would be more useful for aligning the photographic subject exactly where I want it.
  
 Here is my modified version of Shapespear'​s code so far :\\ Here is my modified version of Shapespear'​s code so far :\\