How To Motorize Your Camera Slider
In this tutorial nosotros will larn how make a motorized camera slider with pan and tilt head. This Arduino based project is 100% DIY, built with cheap materials like MDF and plywood and controlled using Arduino, three stepper motors, some buttons and a joystick fastened on a custom designed PCB. Despite this, the terminate result is quite impressive, with super-smooth camera moves enabling us to get professional looking cinematic shots.
You can spotter the post-obit video or read the written tutorial below.
Overview
Using the controller nosotros tin either manually move the camera around or nosotros can ready commencement and end points and and then the photographic camera volition automatically motility from one to the other position. Also using the supporting arm we can mountain the slider fifty-fifty on a smaller tripod, at any angle we want and all the same get a stable movements.
To begin with, I designed the slider using a 3D modeling software.
You can detect and download this 3D model and get all dimensions from the 3D model beneath, equally well as explore it in your browser on Thangs.
Download the assembly 3D model from Thangs.
3D Printed GT2 caster link:
Thingiverse
Edifice the photographic camera slider
And then I started with making the slider track for which I used 22mm tick copper pipe. I decided to brand the slider 1 meter long and then I cut two pieces to i meter of length. Copper pipes tin can easily oxidize so therefore nosotros need to polish them with a metal polish. In my example, I didn't take one and then I used a toothpaste for that purpose.
This wasn't the perfect solution fleck still I could notice a difference and got the pipes a bit cleaner.
So I moved on with making the wooden base on which the ii pipes will exist attached and also information technology will serve for mounting the slider onto a tripod. Using a circular saw I cut two pieces of 21mm tick plywood and glued them together in social club to get a single ticker piece. Then using a solid wood I fabricated a replica of my tripod mounting plate and fastened information technology to the plywood piece using a wood mucilage and a screw. Now the slider base tin can be easily mounted on the tripod.
I will mountain the slider rails to the base using 8mm threaded rods and so I fabricated two holes in the base of operations and inserted the 138mm long rods which I previously cut them to size. Next I had to drill 8mm tick holes in the pipes which tin actually be a little catchy.
For that purpose I fabricated a simple jig where I raised the pencil to a pinnacle of 11mm or that's half of the pipe bore. Then I secured the pipe on a apartment surface and using the jig marked the pipe from both sides. This enables to get precisely alighted holes from both sides. So offset I marked the drilling points with a abrupt screw tip so drilled them progressively using 2, 4, six and 8mm drill bit.
Subsequently that I inserted the runway through the threaded rods and using some washers and nuts I secured them to the slider base. In a like fashion, using a piece of plywood and a threaded rod I stock-still the ends of the runway.
Next is the sliding platform. Again I used a circular saw for cut the 8mm tick MDF board to size according to the 3D model. I also made some 8mm hole for the threaded rods on which the begetting are going to be attached. For assembling the platform I used a wood glue and some screws. Using a cordless drill, kickoff, I fabricated airplane pilot holes, and so made the counter sinks and screwed the 3mm screws in place.
Once the panels were secured I continued with assembling the bearing organization. The bearings that I'm using are 608Z with outer diameter of 22mm. Two washers and a nut between two bearings make enough altitude between them thus enabling good contact with the 22mm runway.
In gild to make the platform more secure when using the slider at an angle, in similar manner, I inserted ii more sets of bearings at the bottom side of the platform. At the end the sliding platform turned out to piece of work perfectly.
Here nosotros tin notice that now when moving the platform forth the slider on my pocket-size, not heavy duty tripod, the head cannot hold the weight of the platform so I had to brand a supporting arm in order to stabilize the slider. And then using two pieces of woods and some nuts and bolts I made a simple clamp which can be fastened to the one of the tripod legs.
The clamp has a bolt on which the supporting arm can exist fastened. Adjacent I had to brand a slot on supporting arm in lodge to exist able to position the slider at different bending. I made the slot by simply drilling many 6mm holes close to each other, then using a rasp made a fine directly lines. This supporting system concluded upwardly working perfectly.
I continued this build with adding legs to the slider, in case you don't want or demand to use a tripod. I made them out of 8mm MDF. Using a hand saw and a rasp I easily got the desired shape of the legs. Then using some little gum and ii nuts I secured them to the ends of the slider.
The next stage is edifice the pan and tilt arrangement which will be fastened on the top of the sliding platform. Using the circular saw, I cut all needed pieces, with the dimensions taken from the 3D model. I used few pieces of plywood for making the hinge mechanism of the leveling platform for the camera when the slider is set at an angle, as well as some MDF boards on which I made advisable holes for the motor and the bearings for panning organisation.
I moved on with installing the stepper motor and the timing belt for the sliding platform. On one side of the platform I secured the stepper motor with a slice of MDF lath and some screws and bolts. And on the other side of the slider I secured an idler pulley then now I can install the timing belt. Using ii bolts and naught ties I easily secured the timing belt to the sliding platform.
With this step the sliding mechanism was completely done.
I connected with making the upper parts of pan and tilt arrangement. According to the 3D model, I made all appropriate holes for the stepper motor and the bearings, and glued and screwed everything together.
A friend of mine 3D printed 2 80 tooth pulleys for me. In this way I got v times speed reduction relative to the 16 molar pulley attached on the stepper motor.
At present I needed to brand a closed loop timing chugalug according to my setup, then I measured how much length of belt I needed, cut it so simply glued it with a CA mucilage and added a piece of tape on top of it. The CA glue does a smashing job with rubber so the closed loop belt work without a problem.
Side by side I started the final assembly of the pan and tilt system. Showtime I secured the tilt motor using some bolts and then added the two bearings in identify while securing them in the slots with some epoxy. Then I secured the tilt platform on the pan platform using some 8mm bolts and at the aforementioned fourth dimension I attached the 80 tooth pulley to it together with the timing belt.
Here I noticed that the belt was a chip loose but I added a small bearing in the identify where the stepper motor bolt goes to act as a chugalug tensioner. This thing worked out and and then now the belt had enough tension to work properly.
Next I secured the pan motor and added bearings the elevation side of the leveling platform, as well as the on bottom side. Then I inserted a bolt through them, add a thrust bearing, the lxxx tooth caster and the timing belt, and on top of them add the previously assembled tilt head. Finally I secured it using a bolt and that's information technology, with this step the construction of the slider is completed.
Excursion Diagram
Ok, next comes the fun part or installing the electronics components. Here's the circuit diagram of this DIY camera slider project.
So the 3 NEMA 17 stepper motors are controlled via the three A4988 stepper drivers. For decision-making the slider movement we use a potentiometer continued to an analog input of the Arduino, and for controlling the pan and tilt caput we utilize a joystick module which actually consist of 2 potentiometers, then it is continued to two analog inputs. In that location'southward as well another potentiometer used for setting the speed of the automatic move from the in and out positions. These in and out position are ready with the help of push button. This push push has a pull up resistor and information technology's connected to a digital pin of the Arduino board. There as well a reset push button, a power switch and a power jack, likewise as a limit switch for the slider and ii LEDs for indicating the in and out status. We can power this project with either nine or 12V.
You can get the components needed for this project from the links below:
- Stepper Motor (NEMA17)………. Amazon / Banggood / AliExpress
- A4988 Stepper Commuter……………. Amazon / Banggood / AliExpress
- 12V 2A Adapter…………………..…. Amazon / Banggood / AliExpress
- Joystick ………………………………… Amazon / Banggood / AliExpress
- Power Jack…………….………….…… Amazon / Banggood / AliExpress
- Arduino Board ……………………… Amazon / Banggood / AliExpress
Disclosure: These are affiliate links. As an Amazon Associate I earn from qualifying purchases.
PCB Design
Adjacent, according the excursion diagram I designed a custom PCB in society to keep the electronics components organized.
I did that using the EasyEDA gratuitous online circuit design software. The circuit had quite a few connections, so I used both the tiptop and bottom layer and managed to get functional and good looking PCB. Once finished with this step I generated the Gerber file need for manufacturing the PCB. Then I ordered the PCB from JLCPCB, which is really the sponsor of this tutorial.
Hither nosotros tin just upload the Gerber file and once uploaded we can again review our PCB in the Gerber viewer. If everything is all right then we can go on, select the backdrop that we want for our PCB, and then we tin gild our PCB at a reasonable cost. Notation that if it's your first society from JLCPCB, yous can get upwards to 10 PCBs for just two dollars.
However, after a week the PCBs accept arrived. The quality of the PCBs is great and I must admit that it is quite satisfying to have your own PCB design manufactured.
Assembling the electronics
Ok, so next I moved on with assembling the electronics components. I started by soldering pin headers PCB. This enables easier connecting and disconnecting of the components when needed. I actually used pivot headers for everything except the capacitors and the resistors which I soldered straight on the PCB. Therefore I continued with soldering jumper wires to all of the electronics components.
In this way I tin can hands mount the components on the controller example and at the aforementioned time connect them to the PCB.
As for the controller example, I decided to make it out of 4mm tick transparent acrylic because I wanted the beauty of all electronics components to be visible. I used a circular saw to cut the panels for case to size. Then using a drill and Forstner bits I made the opening on the front panel for the buttons, the potentiometers, power switch and the joystick. Afterward that using a five minutes epoxy I assembled the instance, and as for the top I inserted and glued ii bolts through which the front end panel can be inserted and secured using nuts on top of it.
Finally I started assembling the electronics by inserting the Arduino lath and the A4988 stepper drivers onto the PCB. And so I continued with inserting and securing the buttons and the other components on the front panel.
Once I had them secured I continued the components to the appropriate pivot headers on the PCB. On the side panel of the case I added the power jack, and then inserted the PCB into the case. On the aforementioned console in that location is besides a hole through which I put jumper wires for connecting the drivers with the stepper motors, every bit well as the limit switch which I placed it at the end of the slider.
Using some heat-compress tubing I organized the jumper wires coming out of the controller example and finally, what was left to practise is to connect the controller with the three stepper motors and the limit switch.
As for powering the slider I used three 3.7V Li-ion batteries continued in series producing around 11V. And that'south it, the slider is done and works perfectly.
DIY Camera Slider Arduino Code
Now what's left in this tutorial is to take a look at the Arduino code and explain how the plan works. Every bit the code is a flake longer, for improve understanding, I volition mail service the source code of the program in sections with description for each section. And at the end of this article I will post the complete source code.
The program is based on the AccelStepper library past Mike McCauley. This is an incredible library which enables easy control of multiple stepper motors at the same fourth dimension. So one time we include this library and the MultiStepper.h library which is part of information technology, we need to ascertain all Arduino pins that going to be used, ascertain the instances for the steppers, every bit well every bit some variables need for the programme below.
#include <AccelStepper.h> #include <MultiStepper.h> #define JoyX A0 // Joystick X pin #define JoyY A1 // Joystick Y pin #define slider A2 // Slider potentiometer #define inOutPot A3 // In and Out speed potentiometer #define JoySwitch 10 // Joystick switch connected #define InOutSet 12 // Set Push button #define limitSwitch 11 #define inLED viii #ascertain outLED 9 // Ascertain the stepper motors and the pins the will utilize AccelStepper stepper1 (1, seven, half-dozen) ; // (Type:driver, STEP, DIR) AccelStepper stepper2 (1, 5, 4) ; AccelStepper stepper3 (1, iii, 2) ; MultiStepper StepperControl; // Create instance of MultiStepper long gotoposition[3]; // An array to store the In or Out position for each stepper motor int JoyXPos = 0; int JoyYPos = 0; int sliderPos = 0; int currentSpeed = 100; int inOutSpeed = 100; int XInPoint = 0; int YInPoint = 0; int ZInPoint = 0; int XOutPoint = 0; int YOutPoint = 0; int ZOutPoint = 0; int InandOut = 0;
Lawmaking language: Arduino ( arduino )
In the setup section we set the initial speed values for the steppers, define some pin modes, too every bit add the 3 steppers to the multi stepper control instance chosen "StepperControl". Using the while loops we motility the slider to the initial position, or it moves until it press the limit switch and and so it moves back 200 steps in order to release the limit switch.
void setup () { // Set initial seed values for the steppers stepper1.setMaxSpeed(3000); stepper1.setSpeed(200); stepper2.setMaxSpeed(3000); stepper2.setSpeed(200); stepper3.setMaxSpeed(3000); stepper3.setSpeed(200); pinMode(JoySwitch, INPUT_PULLUP); pinMode(InOutSet, INPUT_PULLUP); pinMode(limitSwitch, INPUT_PULLUP); pinMode(inLED, OUTPUT); pinMode(outLED, OUTPUT); // Create instances for MultiStepper - Calculation the 3 steppers to the StepperControl instance for multi command StepperControl.addStepper(stepper1); StepperControl.addStepper(stepper2); StepperControl.addStepper(stepper3); // Motion the slider to the initial position - homing while (digitalRead(limitSwitch) != 0) { stepper1.setSpeed(3000); stepper1.runSpeed(); stepper1.setCurrentPosition(0); // When limit switch pressed set position to 0 steps } filibuster(20); // Move 200 steps back from the limit switch while (stepper1.currentPosition() != -200) { stepper1.setSpeed(-3000); stepper1.run(); } }
Code language: Arduino ( arduino )
In the loop section nosotros start by checking whether the slider has reached the limit positions, or that'south the limit switch or 80cm on the other side of information technology.
// Limiting the movement - Exercise zip if limit switch pressed or distance traveled in other direction greater then 80cm while (digitalRead(limitSwitch) == 0 || stepper1.currentPosition() < -64800) {}
Code language: Arduino ( arduino )
With the next if argument we increase the Pan and Tilt speeds with each press of the joystick switch.
// If Joystick pressed increase the Pan and Tilt speeds if (digitalRead(JoySwitch) == 0) { currentSpeed = currentSpeed + 50; delay(200); }
Code language: Arduino ( arduino )
Then we check whether we have pushed the Set button, which is used for setting the IN and OUT positions. With the first button of the button we store the IN positions of stepper motors and also lite up the IN LED.
switch (InandOut) { case 0: // Fix IN position InandOut = 1; XInPoint = stepper1.currentPosition(); // Gear up the IN position for steppers 1 YInPoint = stepper2.currentPosition(); // Set the IN position for steppers 2 ZInPoint = stepper3.currentPosition(); // Set the IN position for steppers 3 digitalWrite(inLED, High); // Light up inLed break;
Code language: Arduino ( arduino )
In the same mode, with the second push we store the OUT positions and low-cal up the OUT LED.
case 1: // Set OUT position InandOut = ii; XOutPoint = stepper1.currentPosition(); // Set the OUT Points for both steppers YOutPoint = stepper2.currentPosition(); ZOutPoint = stepper3.currentPosition(); digitalWrite(outLED, HIGH); pause;
Lawmaking language: Arduino ( arduino )
And so with the next push button of the push button, we read the value of the automobile speed potentiometer which is use to set up the maximum speed of the motors. Also we put the IN positions into the "gotoposition" array which is used in the moveTo() function which calculates the required speed for all steppers separately. And then using the runSpeedToPosition() function the slider automatic moves to In position.
case 2: // Motion to IN position / become to case 3 InandOut = iii; inOutSpeed = analogRead(inOutPot); // Auto speed potentiometer // Identify the IN position into the Assortment gotoposition[0] = XInPoint; gotoposition[1] = YInPoint; gotoposition[2] = ZInPoint; stepper1.setMaxSpeed(inOutSpeed); stepper2.setMaxSpeed(inOutSpeed); stepper3.setMaxSpeed(inOutSpeed); StepperControl.moveTo(gotoposition); // Calculates the required speed for all motors StepperControl.runSpeedToPosition(); // Blocks until all steppers are in position delay(200); interruption;
Code linguistic communication: Arduino ( arduino )
In exactly the same style, in case number iii or with another push of the button, nosotros move the slider to the OUT position.
case 3: // Move to OUT position / go back to case 2 InandOut = two; inOutSpeed = analogRead(inOutPot); // Place the OUT position into the Assortment gotoposition[0] = XOutPoint; gotoposition[1] = YOutPoint; gotoposition[2] = ZOutPoint; stepper1.setMaxSpeed(inOutSpeed); stepper2.setMaxSpeed(inOutSpeed); stepper3.setMaxSpeed(inOutSpeed); StepperControl.moveTo(gotoposition); // Calculates the required speed for all motors StepperControl.runSpeedToPosition(); // Blocks until all are in position delay(200); break;
Code language: Arduino ( arduino )
In case nosotros concord the Set button pushed for longer than half a 2d the fourth case statement will exist executed, which resets the IN and OUT position so we tin can set new ones.
Next is the joystick Pan and Tilt control. The analog value we are getting from the joystick is from 0 to 1024, or when it rests in the centre the values is around 500. So if nosotros move the joystick to left and the analog value is greater than 600, we will set the speed of the particular motor to positive, and contrary, of nosotros movement the joystick right, nosotros volition set the speed of the motor to negative, which means it will rotate the reverse way.
// Joystick X - Pan movement JoyXPos = analogRead(JoyX); // if Joystick is moved left, move stepper 2 or pan to left if (JoyXPos > 600) { stepper2.setSpeed(currentSpeed); } // if Joystick is moved right, move stepper 2 or pan to correct else if (JoyXPos < 400) { stepper2.setSpeed(-currentSpeed); } // if Joystick stays in middle, no movement else { stepper2.setSpeed(0); }
Lawmaking language: Arduino ( arduino )
In case it stays in the middle, the speed is set to 0. This method is used for both axis of the joystick likewise every bit the slider potentiometer. Actually, in the case of the potentiometer we use its analog value to too increase the speed of the motor equally we further turn the potentiometer.
// Slider potentiometer sliderPos = analogRead(slider); // If potentiometer is turned left, motion slider left if (sliderPos > 600) { sliderPos = map(sliderPos, 600, 1024, 0, 3000); stepper1.setSpeed(sliderPos); // Increment speed as turning } // If potentiometer is turned right, move slider right else if (sliderPos < 400 ) { sliderPos = map(sliderPos, 400, 0, 0, 3000); stepper1.setSpeed(-sliderPos); // Increase speed every bit turning } // If potentiometer in eye, no motion else { stepper1.setSpeed(0); }
Code language: Arduino ( arduino )
Lastly, we call the runSpeed() functions for each of the three stepper motors and that executes the above commands, or rotates the motors appropriately.
// Execute the above commands - run the stepper motors stepper1.runSpeed(); stepper2.runSpeed(); stepper3.runSpeed();
Code language: Arduino ( arduino )
Here's the consummate source code:
/* DIY Camera Slider with Pan and Tilt Head by Dejan Nedelkovski world wide web.HowToMechatronics.com Library - AccelStepper by Mike McCauley: http://www.airspayce.com/mikem/arduino/AccelStepper/index.html */ #include <AccelStepper.h> #include <MultiStepper.h> #ascertain JoyX A0 // Joystick X pin #define JoyY A1 // Joystick Y pivot #define slider A2 // Slider potentiometer #ascertain inOutPot A3 // In and Out speed potentiometer #define JoySwitch ten // Joystick switch continued #ascertain InOutSet 12 // Ready Button #define limitSwitch 11 #define inLED eight #define outLED 9 // Define the stepper motors and the pins the will utilise AccelStepper stepper1 (1, vii, vi) ; // (Blazon:driver, Step, DIR) AccelStepper stepper2 (1, five, 4) ; AccelStepper stepper3 (one, 3, ii) ; MultiStepper StepperControl; // Create case of MultiStepper long gotoposition[3]; // An array to shop the In or Out position for each stepper motor int JoyXPos = 0; int JoyYPos = 0; int sliderPos = 0; int currentSpeed = 100; int inOutSpeed = 100; int XInPoint = 0; int YInPoint = 0; int ZInPoint = 0; int XOutPoint = 0; int YOutPoint = 0; int ZOutPoint = 0; int InandOut = 0; void setup () { // Set initial seed values for the steppers stepper1.setMaxSpeed(3000); stepper1.setSpeed(200); stepper2.setMaxSpeed(3000); stepper2.setSpeed(200); stepper3.setMaxSpeed(3000); stepper3.setSpeed(200); pinMode(JoySwitch, INPUT_PULLUP); pinMode(InOutSet, INPUT_PULLUP); pinMode(limitSwitch, INPUT_PULLUP); pinMode(inLED, OUTPUT); pinMode(outLED, OUTPUT); // Create instances for MultiStepper - Adding the three steppers to the StepperControl instance for multi control StepperControl.addStepper(stepper1); StepperControl.addStepper(stepper2); StepperControl.addStepper(stepper3); // Move the slider to the initial position - homing while (digitalRead(limitSwitch) != 0) { stepper1.setSpeed(3000); stepper1.runSpeed(); stepper1.setCurrentPosition(0); // When limit switch pressed gear up position to 0 steps } delay(xx); // Move 200 steps dorsum from the limit switch while (stepper1.currentPosition() != -200) { stepper1.setSpeed(-3000); stepper1.run(); } } void loop () { // Limiting the movement - Exercise zilch if limit switch pressed or distance traveled in other direction greater and then 80cm while (digitalRead(limitSwitch) == 0 || stepper1.currentPosition() < -64800) {} // If Joystick pressed increase the Pan and Tilt speeds if (digitalRead(JoySwitch) == 0) { currentSpeed = currentSpeed + 50; delay(200); } // If Gear up push button is pressed - toggle betwixt the switch cases if (digitalRead(InOutSet) == 0) { delay(500); // If we hold set button pressed longer and so half a 2nd, reset the in and out positions if (digitalRead(InOutSet) == 0) { InandOut = iv; } switch (InandOut) { case 0: // Set IN position InandOut = 1; XInPoint = stepper1.currentPosition(); // Set the IN position for steppers 1 YInPoint = stepper2.currentPosition(); // Set the IN position for steppers ii ZInPoint = stepper3.currentPosition(); // Fix the IN position for steppers 3 digitalWrite(inLED, Loftier); // Light up inLed break; instance 1: // Set OUT position InandOut = 2; XOutPoint = stepper1.currentPosition(); // Ready the OUT Points for both steppers YOutPoint = stepper2.currentPosition(); ZOutPoint = stepper3.currentPosition(); digitalWrite(outLED, High); pause; instance ii: // Move to IN position / go to case 3 InandOut = three; inOutSpeed = analogRead(inOutPot); // Auto speed potentiometer // Place the IN position into the Array gotoposition[0] = XInPoint; gotoposition[1] = YInPoint; gotoposition[2] = ZInPoint; stepper1.setMaxSpeed(inOutSpeed); stepper2.setMaxSpeed(inOutSpeed); stepper3.setMaxSpeed(inOutSpeed); StepperControl.moveTo(gotoposition); // Calculates the required speed for all motors StepperControl.runSpeedToPosition(); // Blocks until all steppers are in position delay(200); pause; case 3: // Move to OUT position / go dorsum to example ii InandOut = 2; inOutSpeed = analogRead(inOutPot); // Place the OUT position into the Array gotoposition[0] = XOutPoint; gotoposition[1] = YOutPoint; gotoposition[2] = ZOutPoint; stepper1.setMaxSpeed(inOutSpeed); stepper2.setMaxSpeed(inOutSpeed); stepper3.setMaxSpeed(inOutSpeed); StepperControl.moveTo(gotoposition); // Calculates the required speed for all motors StepperControl.runSpeedToPosition(); // Blocks until all are in position delay(200); break; case iv: // If Set button is held longer then half a second go back to example 0 InandOut = 0; digitalWrite(inLED, Depression); digitalWrite(outLED, Low); delay(yard); intermission; } } // Joystick X - Pan movement JoyXPos = analogRead(JoyX); // if Joystick is moved left, move stepper 2 or pan to left if (JoyXPos > 600) { stepper2.setSpeed(currentSpeed); } // if Joystick is moved right, move stepper 2 or pan to right else if (JoyXPos < 400) { stepper2.setSpeed(-currentSpeed); } // if Joystick stays in centre, no motion else { stepper2.setSpeed(0); } //Joystick Y - Tilt movement JoyYPos = analogRead(JoyY); if (JoyYPos > 600) { stepper3.setSpeed(currentSpeed); } else if (JoyYPos < 400) { stepper3.setSpeed(-currentSpeed); } else { stepper3.setSpeed(0); } // Slider potentiometer sliderPos = analogRead(slider); // If potentiometer is turned left, move slider left if (sliderPos > 600) { sliderPos = map(sliderPos, 600, 1024, 0, 3000); stepper1.setSpeed(sliderPos); // Increase speed as turning } // If potentiometer is turned right, motility slider right else if (sliderPos < 400 ) { sliderPos = map(sliderPos, 400, 0, 0, 3000); stepper1.setSpeed(-sliderPos); // Increase speed equally turning } // If potentiometer in middle, no motility else { stepper1.setSpeed(0); } // Execute the higher up commands - run the stepper motors stepper1.runSpeed(); stepper2.runSpeed(); stepper3.runSpeed(); }
Code language: Arduino ( arduino )
And so that would be all, I hope yous enjoyed this Arduino projection and learned something new. Feel gratuitous to ask any question in the comments department beneath and check my Arduino Projects Drove.
Source: https://howtomechatronics.com/tutorials/arduino/diy-motorized-camera-slider-pan-tilt-head-project/
Posted by: guffeysche1949.blogspot.com
0 Response to "How To Motorize Your Camera Slider"
Post a Comment