{"id":39336,"date":"2019-10-31T22:30:33","date_gmt":"2019-10-31T19:30:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\/"},"modified":"2019-10-31T22:30:33","modified_gmt":"2019-10-31T19:30:33","slug":"opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","title":{"rendered":"Experience in creating the first Arduino robot (the 'hunter' robot)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hello.<\/p>\n<p>In this article, I want to describe the process of building my first robot using Arduino. The material will be useful for other beginners like me who want to create some kind of \"self-driving cart.\" The article outlines the stages of work along with my additions regarding various nuances. A link to the final code (which is probably not perfect) is provided at the end of the article.<\/p>\n<p><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/a0ebb10f0a1f4b710110f91edb13e2c3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWhenever possible, I involved my son (8 years old). I dedicated part of the article to what worked well with him and what didn't \u2014 this may be helpful to someone.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>General description of the robot<\/h2>\n<p>\nFirst, a few words about the robot (<b>the idea<\/b>). I didn't want to build something typical at the start. At the same time, the components I had were quite standard \u2014 chassis, motors, ultrasonic sensor, line sensor, LEDs, and a buzzer. Initially, from this \"soup set,\" I designed a robot that protects its territory. It approaches the intruder who crosses the circle's line and then returns to the center. However, this variant required a drawn line, plus extra calculations to stay within the circle.<\/p>\n<p>So, after some reflection, I slightly changed the idea and decided to make a \"hunter\" robot. At the start, it rotates around its axis, selecting a nearby target (a person). If the \"prey\" is detected, the \"hunter\" turns on the flashing light and siren and starts moving towards it. When the person moves away, the robot selects a new target and pursues it, and so on. Such a robot doesn't need a limited circle and can operate in open territory.<\/p>\n<p>As you can see, this is quite reminiscent of the game 'tag.' Although the robot didn't turn out to be very agile, it honestly interacts with the people around it. This especially delights children (sometimes, though, it seems like they are about to trample it, and my heart skips a beat\u2026). I think this is a good solution for promoting technical design.<\/p>\n<h2>Structure of the robot<\/h2>\n<p>\nNow that we have settled on the idea, let's move on to <b>the layout<\/b>. The list of components is formed based on what the robot should be able to do. This is quite obvious, so let's immediately look at the numbering:<\/p>\n<p><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/d9a9eda197cb04e81e2c5b8d3cd48fa9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nThe \"brain\" of the robot is the Arduino Uno board (1), which was part of a kit ordered from China. It's sufficient for our purposes (we're considering the number of pins used). From the same kit, we took a ready-made chassis (2), to which two drive wheels (3) and one rear wheel (freely rotating) (4) are attached. The kit also included a ready-made battery compartment (5). At the front of the robot is an ultrasonic sensor (HC-SR04) (6), at the back is the motor driver (L298N) (7), in the center is a blinking LED (8), and slightly off to the side is a buzzer (9).<\/p>\n<p>During the assembly stage, we're looking at:<\/p>\n<p> \u2014 ensuring everything fits<br \/>\n \u2014 ensuring it's balanced<br \/>\n \u2014 ensuring it's rationally placed<\/p>\n<p>Partially, this has already been done for us by our Chinese colleagues. The heavy battery compartment is positioned in the center, and the drive wheels are placed roughly underneath it. All other boards are lightweight, so they can be arranged around the periphery.<\/p>\n<p>Details:<\/p>\n<ol>\n<li>The chassis from the kit has many factory holes, but I couldn't figure out their logic. The motors and battery pack were secured without any problems, but then it started the \"fitting\" process, involving drilling new holes to mount various boards.<\/li>\n<li>Brass stands and other fasteners from our supplies came in quite handy (sometimes I had to improvise).<\/li>\n<li>I routed wires from each board through clamps (which I also found in the supplies). It's very convenient; all wires are neatly arranged and not dangling.<\/li>\n<\/ol>\n<p><\/p>\n<h2>Individual blocks<\/h2>\n<p>\nNow I'll go over <b>the blocks<\/b> and explain each one individually.<\/p>\n<p><b>Battery compartment<\/b><\/p>\n<p>It's clear that the robot needs a good power source. There can be various options; I chose a setup with 4 AA batteries. Altogether, they provide about 5 V, and this voltage can be fed directly to the 5V pin of the Arduino board (bypassing the regulator).<\/p>\n<p>I did have some reservations, but this solution works quite well.<\/p>\n<p>Since power is needed everywhere, for convenience I made two connectors at the center of the robot: one provides ground (to the right), and the other provides 5 V (to the left).<\/p>\n<p><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/9b6e9842a8e6c73400119f63dc66ece9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Motors and driver<\/b><\/p>\n<p>First, about the engine mounting. The factory mounting is done with large tolerances. In other words, the engines can 'wiggle' a couple of millimeters left and right. For our task, this is not critical, but it can affect something (the robot may start to drift). Just to be safe, I aligned the engines perfectly and fixed them with glue.<\/p>\n<p><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/5fe08f0746ece439a987ec6c85f7a24b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo control the engines, as I mentioned above, I use the L298N driver. According to the documentation, it has three pins for each engine: one for speed adjustment and a pair of pins for rotation direction. There is one important point. It turns out that if the supply voltage is 5V, then speed control simply does not work! Either it doesn't turn at all, or it spins at maximum. This peculiarity cost me a few evenings. Eventually, I found a mention of it on one of the forums.<\/p>\n<p>Generally speaking, I needed low rotation speed when turning the robot\u2014to allow it time to scan the area. But since that idea didn't work out, I had to do it differently: small turn\u2014stop\u2014turn\u2014stop, and so on. Again, not as elegant, but functional.<\/p>\n<p>I'll also add here that after each pursuit, the robot chooses a random direction for its next turn (clockwise or counterclockwise).<\/p>\n<p><b>Ultrasonic sensor<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/d723408fb51c754dd63ba1f3ad2318ac.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnother piece of hardware where I had to find a compromise solution. The ultrasonic sensor gives unstable readings on real obstacles. This was actually expected. It works perfectly at competitions, where there are smooth, flat, and perpendicular surfaces, but when someone's legs are 'flashing' in front of it, additional processing is needed.<\/p>\n<p>As such processing, I set up <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B5%D0%B4%D0%B8%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80\">a median filter<\/a><\/noindex> for three readings. Based on tests on real children (no child was harmed during the tests!), this proved sufficient for normalizing the data. The physics here is simple: we have signals reflected from <b>relevant<\/b> objects (providing the required distance) and those reflected from farther objects, like walls. The latter present random outliers in measurements like 45, 46, <b>230<\/b>, 46, 46, 45, 45, <b>310<\/b>, 46\u2026 It is these outliers that the median filter filters out.<\/p>\n<p>After all the processing, we get the distance to the nearest object. If this distance is less than a certain threshold, we activate the alarm and go directly to the \"violator.\"<\/p>\n<p><b>Flashing light and siren<\/b><\/p>\n<p>Probably the simplest elements from all that has been mentioned. They can be seen in the photos above. There's not much to say about the hardware, so let's move on to <b>the code<\/b>.<\/p>\n<h2>Control program<\/h2>\n<p>\nI don't see the point in detailing the code; for those interested, the link is at the end of the article, where everything is quite readable. However, it would be good to explain the overall structure.<\/p>\n<p>The first thing I had to understand is that a robot is a real-time device. More precisely, I had to recall this because I've always been involved in electronics. So, we immediately forget about the call to <b>delay()<\/b>, which is often used in example sketches and simply \"freezes\" the program for the specified period. Instead, as experienced people advise, we introduce timers for each block. Once the required interval has passed, we perform the action (increased the brightness of the LED, turned on the motor, and so on).<\/p>\n<p>Timers can be interconnected. For example, the buzzer works synchronously with the flashing light. This slightly simplifies the program.<\/p>\n<p>Naturally, we break everything down into separate functions (flashing light, sound, turning, moving forward, and so on). If we don't do this, it becomes hard to understand later what is where. <\/p>\n<h2>Nuances of pedagogy<\/h2>\n<p>\nAll that was described above, I did in my free time in the evenings. At a leisurely pace, I spent about three weeks on the robot. This could be a conclusion, but I also promised to tell you about working with children. What can be done at such an age?<\/p>\n<p><b>Work according to the instructions<\/b><\/p>\n<p>We initially checked each component separately \u2014 LEDs, buzzer, motors, sensors, etc. There are plenty of ready-made examples \u2014 some are directly within the development environment, others can be found online. This is undoubtedly pleasing. We take the code, connect the component, make sure it works, and then start modifying it for our task. The connections according to the diagram and under my supervision are made by the child themselves. This is good. It's also essential to be able to follow instructions precisely.<\/p>\n<p><b>Working order (from specific to general)<\/b><\/p>\n<p>This is a tricky point. It's important to teach that a large project ('building a robot') consists of smaller tasks ('connecting a sensor', 'connecting motors'\u2026), which in turn are broken down into even smaller steps ('finding a program', 'connecting the board', 'uploading the firmware'\u2026). By tackling more or less clear lower-level tasks, we 'close' the intermediate-level tasks, and from those, we get the overall result. I explained it, but I think the realization will take some time. Perhaps around adolescence.<\/p>\n<p><b>Installation<\/b><\/p>\n<p>Drilling, threading, screws, nuts, soldering, and the smell of rosin \u2014 where would we be without them? The child acquired the basic skill 'Working with a soldering iron' \u2014 we managed to solder a few connections (I helped a little, I won't hide that). Don't forget about the explanation of safety precautions.<\/p>\n<p><b>Working on the computer<\/b><\/p>\n<p>I wrote the program for the robot, but we did achieve some incidental results.<\/p>\n<p>First: English. It was just starting in school, so we struggled to understand what words like pishalka, migalka, yarkost, and other transliterated terms meant. At least we grasped this. I deliberately avoided using native English words, as we haven't reached that level yet.<\/p>\n<p>Second: effective work. We learned hotkey combinations, how to quickly perform standard operations. Periodically, when we were writing a program, my son and I would switch places, and I would explain what needed to be done (replacements, searches, etc.). I had to repeat over and over: 'highlight with double-click', 'hold down Shift', 'hold down Ctrl', and so on. The learning process here isn't quick, but I think the skills will gradually become ingrained.<\/p>\n<p><b class=\"spoiler_title\">Hidden text<\/b>You might say that what is described above is almost obvious. But honestly, this autumn, I had the opportunity to teach computer science to 9th graders in one school. It's a disaster. The students don't know such elementary things as Ctrl + Z, Ctrl + C, and Ctrl + V, selecting text with Shift held down or double-clicking on a word, and so on. This is despite the fact that they have been studying computer science for three years... Draw your own conclusions. <\/p>\n<p>Third: touch typing. I entrusted my child with typing comments in the code (let them practice). We immediately positioned their hands properly so that their fingers would gradually memorize the key layout.<\/p>\n<p>As you can see, we are just getting started. We will continue to refine our skills and knowledge, which will come in handy in life.<\/p>\n<p>By the way, about the prospects...<\/p>\n<h2>Further development<\/h2>\n<p>\nThe robot is built, it moves, lights up, and beeps. What now? Inspired by our achievement, we plan to continue refining it. There's an idea to implement remote control \u2014 similar to a lunar rover. It would be interesting to control the robot's movement from a hypothetical remote while it's in a completely different location. But that's a story for another time...<\/p>\n<p>And in conclusion, here are the heroes of this article (video available by clicking):<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=faFykvct8r8\"><img decoding=\"async\" alt=\"Experience in creating the first Arduino robot (the &#039;hunter&#039; robot)\" src=\"\/wp-content\/uploads\/2019\/10\/087b0780a42eeee48c345f30fff54827.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Thank you for your attention!<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/doc35098661_487769877\">Link to the code<\/a><\/noindex><br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/436118\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c, \u043a\u0430\u043a \u0438 \u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0445\u043e\u0442\u044f\u0442 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u00ab\u0441\u0430\u043c\u043e\u0431\u0435\u0433\u043b\u0443\u044e \u0442\u0435\u043b\u0435\u0436\u043a\u0443\u00bb. \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044d\u0442\u0430\u043f\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u043e\u0438\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043d\u044e\u0430\u043d\u0441\u0430\u043c. \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 (\u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439) \u0434\u0430\u043d\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":39337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-39336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0410\u0440\u0434\u0443\u0438\u043d\u043e (\u0440\u043e\u0431\u043e\u0442-\u00ab\u043e\u0445\u043e\u0442\u043d\u0438\u043a\u00bb) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:30:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:30:33+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Experience of creating my first robot with Arduino (the \"hunter\" robot) | ProHoster","description":"Hello. In this article, I want to describe the process of building my first robot with Arduino.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0410\u0440\u0434\u0443\u0438\u043d\u043e (\u0440\u043e\u0431\u043e\u0442-\u00ab\u043e\u0445\u043e\u0442\u043d\u0438\u043a\u00bb) | ProHoster","og:description":"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:30:33+00:00","article:modified_time":"2019-10-31T19:30:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39336","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 01:41:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:51:28","updated":"2026-01-24 01:41:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/39336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=39336"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/39336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/39337"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=39336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=39336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=39336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}