{"id":3432,"date":"2021-12-10T18:56:00","date_gmt":"2021-12-10T18:56:00","guid":{"rendered":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/?p=3432"},"modified":"2021-12-13T19:14:26","modified_gmt":"2021-12-13T19:14:26","slug":"sterowanie-serwem-za-pomoca-joysticka-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-3-3-2-2-2-2-2-2-2-2-3-2-3-3-2-3-2-2-2-2-2-2-3-2-2-2-2-2-2-2-2-3-2-2-2-2-2","status":"publish","type":"post","link":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/?p=3432","title":{"rendered":"Hu\u015btawka!"},"content":{"rendered":"\n<p>Ju\u017c wiemy, do czego zmierzamy w tym semestrze &#8211; b\u0119dziemy <strong>stabilizowa\u0107 hu\u015btawk\u0119! <\/strong>Projekt bardzo ciekawy i w zasi\u0119gu r\u0119ki ka\u017cdego pocz\u0105tkuj\u0105cego hobbysty. O co chodzi? Na hu\u015btawce porusza\u0107 si\u0119 b\u0119dzie kulka (r\u00f3\u017cowa na rysunku poni\u017cej), kt\u00f3ra zmieniaj\u0105c swoje po\u0142o\u017cenie przechyli hu\u015btawk\u0119 w inne po\u0142o\u017cenie. Ale jest te\u017c silniczek (zielony), kt\u00f3rym b\u0119dzie sterowa\u0107 Arduino UNO (pomara\u0144czowe) tak, by kulka nie wypad\u0142a z hu\u015btawki i pozostawa\u0142a w \u015brodku (po\u0142o\u017ceniu r\u00f3wnowagi). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"895\" height=\"540\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/hustawka-1.png\" alt=\"\" class=\"wp-image-3435\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/hustawka-1.png 895w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/hustawka-1-300x181.png 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/hustawka-1-768x463.png 768w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><figcaption>Uk\u0142ad: hu\u015btawka (niebieska), kulka(r\u00f3\u017cowa), silniczek (zielony), Arduino UNO (pomara\u0144czowy).<\/figcaption><\/figure>\n\n\n\n<p>Aby to wszystko zrealizowa\u0107 potrzebujemy:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>zrobi\u0107 konstrukcj\u0119 hu\u015btawki (sklejka? profile <a rel=\"noreferrer noopener\" href=\"https:\/\/www.makerbeam.com\/\" data-type=\"URL\" data-id=\"https:\/\/www.makerbeam.com\/\" target=\"_blank\">Maker Beam<\/a>?)<\/li><li>musimy okre\u015bla\u0107 po\u0142o\u017cenie kulki na hu\u015btawce &#8211; wykorzystamy poznany tydzie\u0144 temu czujnik odleg\u0142o\u015bci HC-SR04<\/li><li>przechylanie hu\u015btawki: mikroserwo powinno wystarczy\u0107, ale je\u015bli oka\u017ce si\u0119 za s\u0142abe &#8211; to mamy te\u017c serwa.<\/li><\/ul>\n\n\n\n<p><strong>Hu\u015btawka z pleksi rury.<\/strong><\/p>\n\n\n\n<p>Pan Stanis\u0142aw tak si\u0119 zaanga\u017cowa\u0142 w projekt, \u017ce zakupi\u0142 ju\u017c element konstrukcyjny hu\u015btawki &#8211; rur\u0119 (\u0142adna! d\u0142uga: 50cm, ale gruba, bo \u015bcianki 3mm, no i droga&#8230;). Pomys\u0142 fajny, ale czy czujnik odleg\u0142o\u015bci na ko\u0144cu takiej rury b\u0119dzie dobrze wskazywa\u0107 pomiary odleg\u0142o\u015bci? W ko\u0144cu emituje on d\u017awi\u0119ki, kt\u00f3re b\u0119d\u0105 &#8222;buszowa\u0107&#8221; w zamkni\u0119tej rurze i kolejne pomiary mog\u0105 by\u0107 bezsensowne. Dlatego trzeba by\u0142o to sprawdzi\u0107. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307-1024x576.jpg\" alt=\"\" class=\"wp-image-3436\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307-1024x576.jpg 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307-300x169.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307-768x432.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307-1536x864.jpg 1536w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3307.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Testowanie czujnika w zamkni\u0119tej rurze &#8211; dzia\u0142a!<\/figcaption><\/figure>\n\n\n\n<p>Na nasze szcz\u0119\u015bcie okaza\u0142o si\u0119, \u017ce (o dziwo!) czujnik dzia\u0142a poprawnie! Sprawdzili\u015bmy to z wykorzystaniem metr\u00f3wek.<\/p>\n\n\n\n<p><strong>Silniczek &#8211; a dok\u0142adniej mikro serwo.<\/strong><\/p>\n\n\n\n<p>Proponuj\u0119 wykorzysta\u0107 mikro serwo do poruszania ramieniem hu\u015btawki. Jest to silnik sterowany sygna\u0142em PWM, kt\u00f3ry mo\u017cemy ustawi\u0107 w okre\u015blonej pozycji: <strong>od 0 (zera) do 180 stopni<\/strong>. Do obracaj\u0105cego si\u0119 orczyka przyczepimy element \u0142\u0105cz\u0105cy go z ramieniem hu\u015btawki. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/servo-motor-with-arduino-uno-wiring-diagram-schematic-circuit-tutorial-featured-image-1024x576-1.png\" alt=\"\" class=\"wp-image-3437\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/servo-motor-with-arduino-uno-wiring-diagram-schematic-circuit-tutorial-featured-image-1024x576-1.png 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/servo-motor-with-arduino-uno-wiring-diagram-schematic-circuit-tutorial-featured-image-1024x576-1-300x169.png 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/servo-motor-with-arduino-uno-wiring-diagram-schematic-circuit-tutorial-featured-image-1024x576-1-768x432.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Pod\u0142\u0105czenie: czarny przew\u00f3d to GND, czerwony to zasilanie (5V), a pomara\u0144czowy &#8211; sterowanie. Obrazek z https:\/\/www.makerguides.com\/servo-arduino-tutorial\/ (polecam zajrze\u0107).<\/figcaption><\/figure>\n\n\n\n<p>W tym konkretnym przypadku mo\u017cemy pod\u0142\u0105czy\u0107 zasilanie serwa bezpo\u015brednio do p\u0142ytki Arduino UNO, bo pojedyncze serwo po\u017cera jedynie ~200mA pr\u0105du (nie mo\u017cemy przekracza\u0107 500mA, bo uszkodzimy Arduino lub pod\u0142\u0105czonego z nim kompa &#8211; a tego nie chcemy). <\/p>\n\n\n\n<p>Programowanie polega na u\u017cyciu biblioteki Servo.h i znajduj\u0105cego si\u0119 w niej obiektu Servo. Tworzymy zmienn\u0105 (u nas silnik) i przypisujemy jej sterowanie do pinu 9 &#8211; metoda attach(). Nast\u0119pnie ustawiamy rami\u0119 silnika na okre\u015blon\u0105 pozycj\u0119 &#8211; tutaj 5, 90 i 175 stopni &#8211; za pomoc\u0105 metody write(). Celowo pomijam skrajne warto\u015bci 0 i 180 stopni, bo to nadwyr\u0119\u017ca serwa.  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Servo.h&gt;\nServo silnik;\n\nvoid setup() {\n  silnik.attach(9);\n}\n\nvoid loop() {\n    silnik.write(5);\n    delay(2000);\n  \n    silnik.write(90);\n    delay(2000);\n\n    silnik.write(175);\n    delay(2000);\n}<\/code><\/pre>\n\n\n\n<p>Zwracam tak\u017ce uwag\u0119, \u017ce po ustawieniu serwa na konkretn\u0105 warto\u015b\u0107 nale\u017cy da\u0107 mu czas na realizacj\u0119 tego polecenia &#8211; serwa dzia\u0142aj\u0105 powoli! Nasze <a rel=\"noreferrer noopener\" href=\"https:\/\/botland.com.pl\/serwa-typu-micro\/20436-serwo-mg-90s-micro-180-stopni-plastikowa-przekladnia.html\" data-type=\"URL\" data-id=\"https:\/\/botland.com.pl\/serwa-typu-micro\/20436-serwo-mg-90s-micro-180-stopni-plastikowa-przekladnia.html\" target=\"_blank\">MG90S<\/a>  obraca si\u0119 o 60 stopni w 0,1 sekundy &#8211; dlatego 2s op\u00f3\u017anienie przed kolejnym ustawieniem to rozs\u0105dna warto\u015b\u0107.  <\/p>\n\n\n\n<p><strong>Budowa konstrukcji.<\/strong><\/p>\n\n\n\n<p>I tu zaczynaj\u0105 si\u0119 schody&#8230; Trzeba si\u0119 troch\u0119 pobrudzi\u0107 \ud83d\ude09 Mo\u017ce sklejka lub podobny, mi\u0119kki materia\u0142 &#8211; \u0142atwy do obr\u00f3bki bez zaawansowanego osprz\u0119tu? A mo\u017ce wspomniane profile <a rel=\"noreferrer noopener\" href=\"https:\/\/www.makerbeam.com\/\" target=\"_blank\">Maker Beam<\/a>?<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311-1024x576.jpg\" alt=\"\" class=\"wp-image-3441\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311-1024x576.jpg 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311-300x169.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311-768x432.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311-1536x864.jpg 1536w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3311.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Tymczasowe dwie kolumny z osi\u0105 pomi\u0119dzy, do kt\u00f3rej przyczepiona jest po\u0142owa trzymaka do rury.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Jeszcze zobaczymy co zrobimy, ale najpierw trzeba przemy\u015ble\u0107 po\u0142\u0105czenie silniczka z ramieniem hu\u015btawki. S\u0105 r\u00f3\u017cne koncepcje. Poni\u017cej wynik prac przy tablicy&#8230;.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313-1024x576.jpg\" alt=\"\" class=\"wp-image-3442\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313-1024x576.jpg 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313-300x169.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313-768x432.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313-1536x864.jpg 1536w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3313.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Burza m\u00f3zg\u00f3w &#8211;  schematy po\u0142\u0105czenia silnika z ramieniem hu\u015btawki. <\/figcaption><\/figure><\/div>\n\n\n\n<p><strong>Trzymak do rury.<\/strong><\/p>\n\n\n\n<p>Aby z\u0142apa\u0107 rur\u0119 (hu\u015btawk\u0119) i przytwierdzi\u0107 j\u0105 do stabilnej konstrukcji &#8211; trzeba mie\u0107 odpowiedni uchwyt. Pewnie mo\u017cna poszuka\u0107 w jakim\u015b popularnym sklepie z materia\u0142ami budowlanymi, ale postanowi\u0142em lekko pom\u00f3c i zaprojektowa\u0142em na szybko taki uchwyt &#8211; poni\u017cej zdj\u0119cie jego po\u0142\u00f3wki, bo w\u0142a\u015bnie dwie takie cz\u0119\u015bci tworz\u0105 ca\u0142o\u015b\u0107. Uchwyt ma sporo nadmiarowych &#8222;uniwersalnych&#8221; otwor\u00f3w &#8211; tak na przysz\u0142o\u015b\u0107, aby nie tylko pe\u0142ni\u0142 funkcj\u0119 trzymania rury i obracania jej, ale i mechanizmu po\u0142\u0105czenia z silniczkiem&#8230; Powinno si\u0119 przyda\u0107.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"915\" height=\"691\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/trzymak-obejma2.png\" alt=\"\" class=\"wp-image-3445\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/trzymak-obejma2.png 915w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/trzymak-obejma2-300x227.png 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/trzymak-obejma2-768x580.png 768w\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" \/><figcaption>3D model trzymaka &#8211; uchwytu (jedna po\u0142owa, druga identyczna zamyka ca\u0142o\u015b\u0107). <\/figcaption><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314-1024x576.jpg\" alt=\"\" class=\"wp-image-3446\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314-1024x576.jpg 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314-300x169.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314-768x432.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314-1536x864.jpg 1536w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2021\/12\/DSC_3314.jpg 1800w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Wydrukowany trzymak w testach &#8211; na drewnianej prowadnicy\/wierzy.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Jak wida\u0107 sporo si\u0119 dzia\u0142o&#8230; a to dopiero pocz\u0105tek tego projektu \ud83d\ude09 <\/p>\n\n\n\n<p class=\"has-text-align-right\">(c) K.G. 2021<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ju\u017c wiemy, do czego zmierzamy w tym semestrze &#8211; b\u0119dziemy stabilizowa\u0107 hu\u015btawk\u0119! Projekt bardzo ciekawy i w zasi\u0119gu r\u0119ki ka\u017cdego pocz\u0105tkuj\u0105cego hobbysty. O co chodzi? Na hu\u015btawce porusza\u0107 si\u0119 b\u0119dzie kulka (r\u00f3\u017cowa na rysunku poni\u017cej), kt\u00f3ra zmieniaj\u0105c swoje po\u0142o\u017cenie przechyli hu\u015btawk\u0119 w inne po\u0142o\u017cenie. Ale jest te\u017c silniczek (zielony), kt\u00f3rym b\u0119dzie sterowa\u0107 Arduino UNO (pomara\u0144czowe) [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":3436,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[52],"tags":[466,467,71,461,464],"class_list":{"0":"post-3432","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-fibot","8":"tag-hustawka","9":"tag-mg90","10":"tag-serwo","11":"tag-sr-hc04","12":"tag-ultradzwieki","14":"post-with-thumbnail","15":"post-with-thumbnail-large"},"_links":{"self":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/3432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3432"}],"version-history":[{"count":5,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/3432\/revisions"}],"predecessor-version":[{"id":3448,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/3432\/revisions\/3448"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/media\/3436"}],"wp:attachment":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3432"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3432"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}