This shows you the differences between two versions of the page.
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 :\\ |