Prototype robot for timelapse shooting running Arduino
This article describes the creation of a prototype of a programmable mobile platform with several degrees of freedom to perform photography with a SLR camera - for the subsequent installation of time-lapse video. It is recommended to understand nothing in electronics and microcontrollers, “professional developers” of solutions on Arduino and their sellers have nothing useful here.
Briefly about why I needed it
I was always drawn to perversions. Everything begins in a very peaceful and banal way, but then curiosity pulls in breadth and depth and experiments begin - the results of which even sometimes are inconvenient to tell.
With photography and video I had the same way. Having mastered the film apparatus in the millennium, I was drawn to experimenting with early digital cameras. Do you know that not so long ago the pictures were written on PCMCIA-screw, and there was no anti-aliasing filter on the matrices? Poke, push the button of the machine, throw a photo into the cloud through the WiFi camera, drove through the instagram decorations? Not our way. Only hardcore, only hands.
With a similar approach, instead of filming sights, families and naked girls, I came to specific types of photography. By the same astrophotography - all in an adult, except that without adaptive optics and an observatory in Chile. Now I suffer with the search for a buyer to a country house in the middle of which an observatory stands. In the process of creative torment over commercials about summer cottage, he returned to another of his hobbies - experiments with timelapse video filming. Well, you know, this is where perverts shoot the same thing on a frame per second / minute / hour, and then they pretend that this is such a very inhibited video. All of you have seen examples of similar clips.
However, I would not be myself if it suited me. Static timelapse shooting is even boring. I want to revive the frame. You can simply fasten the camera to an astronomical mount and get a me-e-e-pan (360 ° in 24 hours;)). For the impatient, even pribluds are sold for panning - for curiosity I bought one such from the Chinese and was terribly spat upon. Got to study the issue and found out that everything is pretty sad. Ready pribludy worth terrible money. Especially in terms of wood. Tolerable for the price are suitable only for things like GoPro. A kilogram DSLR with a lens on something to hoist and move - no, this is a BABEL. Moreover, most often both commercial and amateur pribluds are a small rail on which a carriage with a camera is being pulled. Guys, this is so boring! Although it comes out smoothly, I admit. In general, having rummaged in search engines on the subject of timelapse dolly, I was very disappointed in humanity.
But then I remembered Arduino.
')
I avoided the topic of microcontrollers for a long time, although, of course, as a modern person I use their work every day without even noticing it. Of course, I know that there are such small microcircuits that everyone can do themselves - just cling to them is necessary and you will get the result. But I am not friends with electricity, I don’t understand anything in electronics and last I programmed in C a dozen years ago. About the experiments with the assembler, I generally keep silent. Rather, I'm not even mediocre, I'm a disgusting programmer. So all the work that microcontrollers could do for me, I did not get or reached with pens, or with some crude, primitive electrical engineering.
And here is such a wonderful occasion for experimentation. How was it possible to pass me by?
Perhaps not everyone can imagine the possibilities of even the simplest microcontrollers. Especially poorly owned by people of "creative professions". Designers, photographers, operators - often they learn the “process” and adhere to conservative views on the subject of their profession, not wanting to change anything. Especially when moving in the direction (not necessarily this movement forward) is associated with noticeable efforts to study something new, which is not necessarily useful in the main activity. Say, well, and why do I need it - better go another naked girl take off. Of course, this case is rarely annoying. And even if people think about moving to the side, they can often afford to just pay. Why build a piece of iron, if you can buy a piece of iron?
But if there is nothing to buy a piece of metal, besides, it will never pay off and you just want to play around with the idea? If we consider microcontrollers as a replacement for Tanchiki, capable of issuing something interesting IRL? So just motivate yourself and take a step. Suddenly, it turns out that even for a photographer (hereinafter referred to as a robot user, a photographer is called a photographer, although he is shooting a video with him. Life is a strange thing) everything looks not so scary and difficult. Especially if you stay at this very toy-knee level.
For me, the motivation to dig deeper was the desire to build a mobile platform for my DSLR. Shooting time-lapse video can be significantly revitalized and made more interesting by moving the shooting point. Like a simple sequential movement, both panning and combining these and other movements.
Accordingly, for me the task was formed in such a way - to provide several degrees of freedom for a heavy SLR camera - with the accuracy and stability of motion required for a timelapse. And, of course, fully automated shooting. And all a little blood, I mean a small amount of rubles and tolerable time. That is, as quickly as possible. This is how my project 4DOF Timelapse Robot was born.
Enough to take a step. And then for those who have never been engaged in programming and assembling electronic devices, a wonderful and thoughtful world opens up. Where stepped becomes the owner of boundless prospects. Is this possible? Can. That's how? Can. And I want it - can I? Yes, you can, see how it is done ...
For example, in the simulator of the simplest avr, for 35 ruble tasks go an order of magnitude more interesting: a rich (compared to any games for sure) assembler, a lot of registers, and not any, but 8-bit, some of them are paired 16-bit, a bunch of peripherals that can and should be used (all sorts of timers, comparators, ADCs / DACs, dead man’s buttons aka wdt), one or more I / O ports, each of which has 8 pins, each pin on which can be programmatically reconfigured, a hardware interrupt system (yes yes, you heard right - hardware n interruptions in the most primitive piece of iron, and they can be used!), several types of memory, the features of which need to be taken into account, and the pins themselves are also not simple - single-bit, logical, able only at 0 and 1, but quickly, quickly, at speeds in units and dozens of MHz with individual and general current limits. So much for all sorts of things - and all yours.
And you manage all this zoo, and only you! It is like a solid-sized workshop for grinding information, with a lot of complex, interesting, unique equipment, with its own capabilities and features. Bored here does not happen. The management is nowhere thinner - no Sims / strategies / zombies and farms were lying around.
And this is only the tip of the iceberg, and the iceberg itself - ogogo:
Included is an indescribable universe of glass time, where the second stretches to infinity, and you think in cycles and nanoseconds. At these time intervals, you study the outside world and interact with it - the speed of the ports of the simplest MK is enough for such delicate manipulations. MK turns into a time microscope, where you can examine any short-term process in detail, and even have time to respond to changes in it if you want to intervene in this process.
As a bonus, a full-fledged tasty datasheet comes with the most complete information about the work of the MC, which is nice even to read, like a tutorial (this is not some 5-page stub), plus thousands of forums and manuals. And of course there is a party: thousands of people in your language, often even professionals (engaged in MK for a long time and for a salary), with whom you can communicate, share experiences, learn, and even ask for help. In games, the wall is waiting for you here. In general, a real MK simulator or a live MK is not an example of a more lively and interesting toy than any computer game.
Moreover, the threshold of entry for it is extremely low, and the process of entry is more pleasant. In addition, useful, but not ephemeral, but real, and that is especially tasty - it is affordable for anyone: for those 35 rubles, your hobby from a toy can turn into a real piece of iron on your hands, which, if you have a soldering iron, Something with real benefits.
And now avr'ki not really listed, because, having thrown another 10 rubles on top, stm'ki and even initial arm'y become available to you, and this is a much more serious hardware with much greater capabilities, almost an adult computer on a chip - namely Arm'y for example work in your smartphones and tablets.
And this is the lowest price level! A little more expensive is already a much more delicious iron.
MK programming is a window into the wonderful world of iron, this world is big and interesting, and not just somewhere behind the screen, but right here, and you can enjoy the fruits of this world unhindered. Also in this world there are often true unique ones, such as any specialized hardware, architectures in general are very many, very different, most of which few have even heard, and some of them are simply amazed by the possibilities ...
For neophytes, the most advertised Arduino universe seems to be the most attractive and easily accessible. This can be treated differently, but one cannot but admit that it is the availability and prevalence of decisions based on all sorts of variations with atmega328 that allows the neophyte to easily achieve tolerable results without understanding the details of the microcontroller’s work and its communication with the periphery. Nuba won't understand a damn thing how it works inside, but the handicraft will work and will move according to his wishes, and here it doesn't matter that the Chinese have done it for a long time cheaper and printed it with a million copies. Yes, even if this is a repetition of the path long since traversed by thousands of others, it is still the pleasure of independently accomplishing the task. Why collect Lego according to the instructions - because others have already collected? Pleasure. Why shoot galaxies with an extremely simple technique if there is a Hubble? Pleasure. Why collect a trolley on wheels with a remote control if the store has hundreds of them in beautiful boxes? Pleasure.
This is the way to approach Arduino - we are going to have fun, and the fact that enterprising Chinese, Italians and local traffickers make money for us - well, you have to pay for the pleasure! Well, and professionals from electronics can fairly spit towards Arduino-hand-made articles and further.
So in this article we get pleasure from the unheard of - our DSLR itself goes and shoots frames at a given frequency, while we, satisfied, drink coffee and read geektimes.
What we want from crafts:
- Camera control - performing on the camera the exposure we set and maintaining the desired pause between frames;
- Moving back and forth at an arbitrary distance - without the requirements of long installation or preparation of the base;
- Rotation of the camera left-right c arbitrary step;
- Rotate the camera up and down with an arbitrary step;
- The rotation of the zoom ring or the focus of the lens - of course, also with the intensity we choose.
This set of possibilities implies greater creative freedom when shooting time-lapse videos. You can solve almost any task - combining the camera movement in different proportions and controlling the shutter speed. Only arbitrary exposure control depending on the light level remains inaccessible - here you can only rely on the camera's exposure meter program or limit it to a small interval. All those who shot time-lapses in the morning and evening perfectly represent how quickly the lighting conditions change.
Unfortunately, up to now the rotation of the camera is also not implemented - well, relative to the chassis. I still can not imagine what means to do this in the dimensions of my prototype. So far, we have to get along with the initially set angle of elevation of the camera when it is fastened - and the difference from the horizontal position makes it impossible to control the zoom-focus.
The first problem is the question - what is the camera moving to? SLR is a heavy thing. The search for a compromise begins - one would like not to carry heavy loads like a children's electric car and that the camera would stand stable and not outweigh due to the high center of gravity. Photographers with GoPro toys may well be satisfied with four-wheeled auto-platforms buggy. For my DSLR, I would like something more stable. Having studied the issue and the existing solutions, I settled on a tracked platform.
Specialized and ready-made tracked platforms were worth a lot. It was more reasonable to use a toy for our purpose. Since the family already has a radio-controlled tank (Leopard 1:20), the first thing looked in his direction. But it became a pity - let him go further and spit balls to the delight of children. What else can you quickly and inexpensively buy and crush? Picked up on Avito found out that the tanks were either too small or expensive. But there are little-demanded children and therefore not so expensive, but in no way inferior to my goals excavators. But, unfortunately, in my city there was nothing suitable for sale. Order by mail? Maybe then see the Chinese? So I came to the site to the "robot merchant" Ning aka SINONING . Want aluminum cool "tanchik" chassis for $ 138 - no problem! Do you want the same size, but the entire plastic "excavator" chassis for thirty? Please! Absolutely greedy? Here for you for $ 14 tank chassis and even with a motor. You can also buy arduinkas there, but I have enough of this stuff and the city is full, so the cheap plastic chassis SN1000 came from the Chinese to me.
According to the Arduino, I took advantage of the offers from Make Robots ( https://vk.com/makerobot66 ) where the following junk used in this project was purchased:
DCcduino UNO (with USB cable) ... 480 x 1 = 480
GY-273 HMC5883L Module ... 170 x 1 = 170
Arduino Starter Kit ... 480 x 1 = 480
1 Channels 5V Relay Module ... 180 x 1 = 180
LCD 2004 I2C blue ... 610 x 1 = 610
Motor Drive Shield L293D ... 360 x 1 = 360
Joystick Module KY-023… 170 x 1 = 170
Timing belt GT2 6mm ... 120 x 1 = 120
Timing pulley GT2 16t 6mm ... 140 x 1 = 140
10pcs 30cm jump wires 1f1f ... 55 x 1 = 55
10pcs 30cm jump wires 1m1f ... 55 x 1 = 55
28BYJ-48 Stepper Motor + ULN2003 driver ... 260 x 1 = 260
Battery holder 18650 x2… 60 x 1 = 60
Total 3140r.
In addition, it took:
two 18650 batteries
thin laminated fiberboard "plywood".
a bunch of bolts and gadgets M4
six screws 3.5x51 sort of.
10 sleeves M5 and 2 M8 - just like spacers.
Several details from the "mehano" designer.
solder switch
3.5mm jack for soldering
2.1x5.5 power jack
and paper clip
From the side of the photo equipment, they were useful:
- SLR
- the remote control is Chinese “wireless” - as a donor of the cable connecting to the remote control connector of the camera
- the simplest fasteners for the camera from a tripod bolt with spacers. A normal tripod head would have been much better, but a minus would have been a higher center of gravity.
From the mechanics of fuss was not much. The resulting SN1000 has two “130-size” DC motors to drive the tracks, and another DC motor is installed in the gearbox to rotate the platform on this crawler. Everything is collected. So everything is almost done. It remains only to fix the camera and electronics on the platform. The traditional solution I have overseen is to place the electronic junk on the chassis under the plane on which the payload or controls are placed. The plane is separated from the chassis by spacers of the desired height. Some manage to build as many floors as possible.
Okay, I sawed the plywood, drilled holes in it for fasteners, bought bushings and self-tapping screws - that's all. There is nothing difficult in this even for the photographer. The "excavator" chassis also provides sufficient rigidity of the platform and attachment points.
With electronics more trouble, but it is noticeably more exciting. No, really, this is very entertaining. But not difficult. Despite a completely specialized education, I do not understand electronics well, Om’s law does not rebound from the teeth at all, I programmed in C for the last time twelve years ago and purely learning tasks, no sales, and I don’t really know how to work with my hands. But not so scary. Even such a bad programmer like me, absolutely not familiar with the used electronic components, was able to quickly and easily distribute something workable. Moreover, the path from flashing the LED to solving the tasks set is passed very quickly and easily - thanks to the numerous arduino web resources where everything is chewed up to the commensurately commented code and pictures with switching. There are also quite good (sometimes even Russian-speaking) books in which the most popular features of the Arduino platform are consistently and fairly accessible. So, after swallowing a few books and saving a dozen bookmarks in browsers for interesting solutions, I was quite quick, in just a few days I wrote and debugged a program (sketch) of the project for Arduino. Fussing with a soldering iron is also not so much, and the whole of it is limited to soldering the wiring to the shawl or switch. It turned out, of course, ugly, but on the knee it works. For a photographer, the perfectionism of a solder or a program is essential only when their lack interferes with the realization of his goals.
Let's return once again to the list of components - I will comment on the purpose and their interaction with each other.
Prototype brains are DCcduino UNO. This is the classic Arduino UNO R3 in the Chinese implementation. I note, nothing inferior to the original. The Atmega328P with its harness is still there, except that the driver for the virtual serial port for USB requires a different, but easily found (CH340 chip), and in Win8 it seems to be even complete. This arduinka is most often the first and simplest one that picks noobs and I was no exception. And, you know, it was enough for me. Those. straining resources arose, but, nevertheless, my simple 8-bit microcontroller was more than able to perform its tasks.
Brains control motors through another scarf, the so-called. “Shield” - the arduine of the board that is inserted into the connectors of the board on which the useful load is soldered and soldered. This must be distinguished from just a "module." “Modules” —a ready-made solution with all wiring and soldered components — are connected to arduink by means of wires stuck into arduink connectors, sometimes with an intermediary in the form of a solderless development board. A “shield” is such a “module” that is installed on top of the arduinka, since the latter has a standardized size and position of the connectors.
In my case, I found it necessary to purchase Motor Drive Shield L293D - this is a module for controlling four DC motors (or two stepper motors) with currents up to 600mA for each DC motor. Simply put, for small machines fit. For engines in my chassis, the Chinese have prescribed 800mA stall current - maximum motor consumption, so I assumed that was enough for me. A little bit wrong. Now I'd rather choose Adafruit Motor Shield V2 - this shawl is much better suited to the task and frees up a lot of resources that my first version selects. There is not even a lack of current in the case - with the first board, this is also solved by installing another twin over each L293D chip or, in general, replacing them with an SN754410 chip similar in layout. I also note that the motors must be rated for a voltage of 6V or more. The Chinese say that I have 6V motors there and I am too lazy to check. Because 3V motors will also work, just not for too long. In any case, they are standard size and easy to change. By the way, you will note for yourself that before the start of the fussing with the project I had no idea about anything written above, but all this is easily located, mastered and applied.
Power system is connected to "shield". From it are powered and the motors and arduinka and other binding. The power in this project are two 18650 Li-Ion batteries, yielding about 7.4V with a current up to 3A (maybe more, but I’d rather not check). As a backup power supply to the switch, the output to the external power supply is also soldered through a 2.1x5.5mm connector. Of course, we must not forget to pull out the battery before connecting an external source, because nothing good comes out of parallel use. Definitely. But nevertheless, it is necessary to provide external power supply, because in the cold Li-Ion batteries run out very, very, very quickly and can even permanently.
Arduinka communicates with the camera through a relay module. It is clear that all she can do with this is to close the “button” of the remote control. And there it depends on the camera which exposure it will work out (more precisely, which exposure the photographer has set). Of course, if the camera is in Bulb mode, then the duration of the relyushka- “button” we control the exposure. For night shots without this, there is no way, because in the program we set not only the relyushka's drawdown, but also the possibility of keeping the included relyushka the time necessary for the photographer. I have Nikon, because I needed a specific connector for the remote control, which I borrowed from the Chinese console time-lapse shooting. Happy supporters canon cost simple plugs, jacks, envy.
The direct and feedback organs - LCD 2004 I2C blue and Joystick Module KY-023 are intended to communicate the photographer with the program. The first is a blue backlit LCD display with a matrix of 20 characters on 4 lines and one Latin in the character generator. His I2C adapter noticeably appreciated it - this is a attachment to it, allowing you to communicate with Arduinka using only two wires. More precisely, even one by one, but the wiring is all one and two, and, of course, two more for power-earth (+ and -, aha). Since most of the ports of Arduino we have a shawl, “shield” of motor control (what is the advantage of Shield V2 - he also communicates via I2C, leaving ports free), we have no other way out. Three more ports (two analog inputs and one digital) have a joystick eats away from us. This is a fairly simple device, in which by swinging the joystick on two axes we change their resistance, and the arduink on it can quite accurately tell the program where and how much we have rejected it, and by pressing the joystick we close the button contact. In total, we get at least five opportunities to say something to the program using only three ports (but five wires, power-to-ground, yeah). The joystick itself, however, does not cause pleasant emotions. Very sensitive, inconvenient to install, but ... it works, okay.
Finally, a stepper motor (stepper) 28BYJ-48 deals with the camera lens of this prototype. He also needs a driver - a chip that drives a large current out of him on a low-current command from arduinka. Here is the shawl module with ULN2003. Since the movement of the lens rings must be very accurate and repeatable - the usual DC-motor is not applicable. The stepper motor allows you to turn the lens slightly with perfect precision, and the next time it will do a little bit more - very accurately and without jerks destroying any time lapse. Of course, it is not built into the lens and the problem begins.It twists through a gear belt size GT2 6mm wide. As one might expect, torsion reliability depends on the belt tension and its adhesion to the rubberized surface of the lens rings. But I did not anticipate and believed that there would be no problems. Will be.
Since on this prototype the shag is located to the left of the camera, a well-stretched belt causes the camera to roll off the tripod bolt as soon as it is not tightened. If he were to the right, on the contrary, he would be deceptive, but here it’s sad ... And the grip of anyhow, like a tightened belt, is rather unstable. You can increase it by sticking some coating with a better grip on the ring. Or move the motor to the other side. Until I decided that it was better.
Now I will talk about the logic of the work of all this. In logic, everything is very primitive - if you do not try to delve into how everything works. So, our “unpretentious” microprocessor (atmega328) has a kilobyte of rewritable read-only memory (I’m talking about an EEPROM) in which the values ​​of the shooting timelapse parameters are stored. There is a non-volatile 32KB flash memory for storing the program and the loader-overwriter. There is 2KB of RAM that our program uses to store variables during operation. Of course, there is still a lot of registers, timers and even a thermometer inside, but there is no need to know about it now.
When power is applied, the bootloader in flash launches our program recorded there. First of all, it places all variables and constants in it in RAM, reads the shooting parameters from the EEPROM and displays alternatives for further actions offered to the photographer from the EEPROM. After the withdrawal - spinning in the waiting cycle of any reaction of the photographer - until the batteries are completely discharged. The following actions are available:
- direct control of the robot drives - to check the operability of the connections, evaluate the work-calibration of the motors and install it in the starting position of the chassis.
- programming time-lapse shooting - changing those shooting parameters determined by the photographer.
- test execution of shooting - step-by-step execution of the programmed shooting, which does not include exposure and pauses between steps (“frames”).
- start timelapse shooting - execution step by step of the shooting program according to the entered parameters.
The execution cycle of the shooting program consists of repeating frame steps - their number equals the number of shots in the video set by the photographer. It is
executed in the following order: 0) output to the LCD of the current shooting parameters and the progress of its execution.
1) exposure. We switch the relay and wait for the time specified in the parameters.
2) movement back and forth. We turn on the motors and move to the distance specified in the parameters.
3) camera rotation left and right. Rotate the camera to the left or right by the degrees specified in the parameters. Rotation may not happen every frame, but maybe every second, third, fifth, tenth - depends on the photographer who realizes his fantasies.
4) rotation of the lens ring at an angle specified by the parameters. More precisely, the parameters specify the number of steps for the shagger, and how many steps lead to the desired angle of rotation of the ring the photographer calculates in advance - in the direct control mode of the shagger.
5) waiting for a pause between frames. If there was a movement in the frame, it makes sense to pause for at least two seconds, as the platform needs to calm down.
And, further, if the user has not interrupted the execution - go to the beginning of the next frame step.
In general, no brutal math or incomprehensible simple photographer algorithms.
Why do I call it a prototype, and not run to establish industrial production, patents, certification and international sales?
Firstly, it's a toy. I pampered, satisfied curiosity by studying the microcontroller and its strapping, I got some more ideas in my head on the implementation of some household devices, but I did not learn how to make money. But the cost turned out to be quite good - at a price of up to a hundred bucks, it is quite a tolerable device that pulls the SLR on itself.
Secondly, there are enough problems and there is something to finish. I will briefly list:
- about the belt and the lens has already been written above.
- powering the motor from one channel of the L293D is enough for the robot to jaunt up and run on a flat surface, even tilted up at a noticeable angle, but categorically not enough for off-roading — it’s not good to drive a robot along the sand and sand. In part, I decided to finish the engines with another channel, the second L293D. Decisively solved by replacing the motors in the drive of the tracks with more powerful ones and using them with a driver that produces such a good current.
- with the rotation of the platform is also not ice. Turning less than a degree is difficult. Need a stepper motor. The gearbox, again, the backlash has a completely toy - do not forget about the origin and purpose of the chassis! Since the rotation during time-lapse shooting is performed in one direction - the backlash is chosen quickly and is not so critical further, but if there is a movement back and forth, then involuntary movements by the platform are possible - within the backlash.
- how to realize the camera rotation up and down I never thought of. Thus, although the project is called 4DoF, in fact we have only three degrees of freedom.
- engines and their drives on tracks have different characteristics. Not exactly identical. Therefore, with a formally rectilinear motion, the robot will lead a bit to the side. In my estimation it is about 10 cm by five meters. I assumed this and intended to introduce a course correction by applying feedback based on the magnetometer GY-273 HMC5883L Module mentioned in the list.
It was assumed that, having remembered the value of the field in the direction of movement in the frame, the robot, upon completion of the prescribed movement, would earn one track to correct the course to the similarity of the values ​​measured during the field correction and the stored one. It is unclear in advance whether the accuracy of the magnetometer will suffice for this, or instead of feedback, you just have to introduce an empirically calculated correction for a given prototype for the running time of one engine. Just because the purchased module turned out to be not quite efficient - instead of the values ​​from the sensor, one noise, and I haven’t received a replacement for it yet. And on this sensor I wanted to screw the detection of overturning while moving - in order to stop shooting. Although this is useful.
- The interface is very dull. An inconvenient joystick, inertia of the robot control (more on this later), the absence of beautiful graphs, buttons, curls, bells and whistles - some incomprehensible symbols and those in the Latin alphabet. In general, a non-commercial product, for sure ...
- a general horror from the pricked product. A lot of wiring, handkerchief somehow shoved, fixed and protruding here and there. This is clearly not like a beautiful white toy for the store.
Thirdly, there is more where to develop the project! In addition to solving these problems and the formation of a commercial image. True! For example, the above mentioned inertia of the interface came from the desire to implement remote control and receive telemetry from the robot. Yes Yes.A microcontroller, even such a really powerful thing, just works inefficiently in my hands. Everything could fly, but the drawbacks of programming and using standard libraries lead to the fact that, controlling the joystick, you have to wait some time for the robot to respond to the action. Just along the way, the robot is ready to control it from other devices. True true. Already at the stage of such a prototype, it can be easily controlled from a smartphone or computer. Steer, adjust shooting parameters, track performance - all this can now be done from anywhere. Surprisingly, for this I did not even have to be a guru in microcontrollers - somehow, but it already works. Although it is better not to ask me how. Glory to Arduino, Che.
What's next?I will shoot. Enjoy the shot or motivation for the re-shooting, remaking. For this and done, not? It is not so easy to use. Here it is not one to complain about except himself.
It’s a little bit more than that. However, even just “there are some perversions!” Will be enough for me. Thanks for reading and time spent.
If you are not even lazy to spend time even more, you can get acquainted with the written code. But it works. 800 lines.