{"id":24706,"date":"2025-09-09T09:34:39","date_gmt":"2025-09-09T07:34:39","guid":{"rendered":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?p=24706"},"modified":"2025-09-09T09:35:10","modified_gmt":"2025-09-09T07:35:10","slug":"sterowanie-robotem-astorino-za-pomoca-smartfona","status":"publish","type":"post","link":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/","title":{"rendered":"Sterowanie robotem Astorino za pomoc\u0105 smartfona"},"content":{"rendered":"\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.<\/p>\n\n\n\n<p>Praca powsta\u0142a w <strong>Zespole Szk\u00f3\u0142 Technicznych w Bytomiu<\/strong>, a jej autorami s\u0105 uczniowie: <strong>Nikodem Nieckarz<\/strong> i <strong>Dawid Przew\u0142ocki<\/strong>.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<iframe loading=\"lazy\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/w5XNXTjB58s\" title=\"Film konkursowy ZST w Bytomiu | Astorino Film Festival\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">1. Cel projektu<\/h2>\n\n\n\n<p>Celem projektu by\u0142a nauka funkcji DRIVE, p\u0119tli WHILE, a tak\u017ce obs\u0142ugi modu\u0142u wej\u015b\u0107 i wyj\u015b\u0107 Astorino z wykorzystaniem zewn\u0119trznego mikrokontrolera, kt\u00f3ry mia\u0142 mo\u017cliwo\u015b\u0107 obierania sygna\u0142\u00f3w poprzez modu\u0142 Bluetooth.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">2. Opis Astorino<\/h2>\n\n\n\n<p>Rami\u0119 robota <strong><a href=\"https:\/\/astorino.com.pl\/\" target=\"_blank\" rel=\"noreferrer noopener\">Astorino<\/a><\/strong>, wyposa\u017cone w precyzyjne silniki krokowe i czujniki pozycji, reaguje na polecenia z dok\u0142adno\u015bci\u0105 i p\u0142ynno\u015bci\u0105. Dzi\u0119ki tej zaawansowanej integracji, Astorino mo\u017ce by\u0107 u\u017cywany do r\u00f3\u017cnorodnych zada\u0144, takich jak podnoszenie, przenoszenie lub precyzyjne pozycjonowanie przedmiot\u00f3w.<\/p>\n\n\n\n<p>Jednak jego funkcjonalno\u015b\u0107 nie ko\u0144czy si\u0119 na podstawowych ruchach. Dodatkowe porty wej\u015b\u0107 i wyj\u015b\u0107 otwieraj\u0105 drzwi do szerszego spektrum mo\u017cliwo\u015bci, pozwalaj\u0105c na sterowanie robotem poprzez r\u00f3\u017cne \u017ar\u00f3d\u0142a zewn\u0119trzne.<\/p>\n\n\n\n<p>Jednym z tych \u017ar\u00f3de\u0142 sterowania jest mikrokontroler <strong>Arduino<\/strong>, kt\u00f3rego wszechstronno\u015b\u0107 pozwala u\u017cytkownikowi, za pomoc\u0105 modu\u0142u <strong>Bluetooth<\/strong>, p\u0142ynnie kierowa\u0107 jego sygna\u0142ami prosto z telefonu za pomoc\u0105 aplikacji <strong>Bluetooth Electronics<\/strong>.<\/p>\n\n\n\n<p>Wykorzystuj\u0105c w pe\u0142ni potencja\u0142 sterowniczy mikrokontrolera Arduino oraz elastyczno\u015b\u0107 programistyczn\u0105 ramienia robota Astorino mo\u017cemy stworzy\u0107 nowoczesny kontroler ramieniem robota, dost\u0119pny bezpo\u015brednio na naszym telefonie.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">3. Proces programowania<\/h2>\n\n\n\n<p>Podczas realizacji projektu natrafili\u015bmy na kilka problem\u00f3w. Pierwszy pojawi\u0142 si\u0119 podczas fazy ,,projektowania&#8221; samych za\u0142o\u017ce\u0144 sterowania, gdy zastanawiali\u015bmy si\u0119, jak zrealizowa\u0107 dok\u0142adn\u0105 zmian\u0119 po\u0142o\u017cenia pozycji robota. Jednak uda\u0142o nam si\u0119 rozwi\u0105za\u0107 ten problem dzi\u0119ki funkcji <strong>DRIVE<\/strong>, kt\u00f3ra pozwala\u0142a nam na dok\u0142adn\u0105 zmian\u0119 wsp\u00f3\u0142rz\u0119dnych pozycji robota, a tak\u017ce przez u\u017cycie funkcji <strong>WHILE<\/strong>, dzi\u0119ki kt\u00f3rej program zosta\u0142 zap\u0119tlony. Ostatni\u0105 barier\u0105 okaza\u0142a si\u0119 sama d\u0142ugo\u015b\u0107 programu, gdy\u017c jego pierwsza wersja okaza\u0142a si\u0119 by\u0107 zbyt du\u017ca, na szcz\u0119\u015bcie po uszczupleniu i modernizacji programu uda\u0142o nam si\u0119 za\u017cegna\u0107 i ten problem.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4. Schematy<\/h2>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1. Schemat elektryczny (U\u017cyty program: EasyEda)<\/strong><\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1139\" height=\"832\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image1-4.png\" alt=\"\" class=\"wp-image-24713\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image1-4.png 1139w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image1-4-840x614.png 840w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image1-4-768x561.png 768w\" sizes=\"auto, (max-width: 1139px) 100vw, 1139px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.2. Schemat pneumatyczny (U\u017cyty program: FluidSim)<\/strong><\/h3>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"252\" height=\"273\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image2-4.png\" alt=\"\" class=\"wp-image-24714\"\/><\/figure>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">5. Programy<\/h2>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.1. Program Arduino<\/strong><\/h3>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>void setup()\t\t\/\/ kod wykonywany po starcie arduino\n{ \n\tSerial.begin(9600);\t\t\/\/Ustawienie pr\u0119dko\u015bci transmisji\n\tpinMode(22, OUTPUT);\t\/\/ Konfiguracja pinu 22 jako wyj\u015bcie\n\tpinMode(23, OUTPUT);\t\/\/ Konfiguracja pinu 23 jako wyj\u015bcie\n\tpinMode(24, OUTPUT);\t\/\/ Konfiguracja pinu 24 jako wyj\u015bcie\n\tpinMode(25, OUTPUT);\t\/\/ Konfiguracja pinu 25 jako wyj\u015bcie\n\tpinMode(26, OUTPUT);\t\/\/ Konfiguracja pinu 26 jako wyj\u015bcie\n\tpinMode(27, OUTPUT);\t\/\/Konfiguracja pinu 27 jako wyj\u015bcie\n\tpinMode(28, OUTPUT);\t\/\/ Konfiguracja pinu 28 jako wyj\u015bcie\n\tdigitalWrite(22, HIGH);\t\/\/ Ustawienie stanu pinu 22 na wysoki\n\tdigitalWrite(23, HIGH);\t\/\/ Ustawienie stanu pinu 23 na wysoki\n\tdigitalWrite(24, HIGH);\t\/\/ Ustawienie stanu pinu 24 na wysoki\n\tdigitalWrite(25, HIGH);\t\/\/ Ustawienie stanu pinu 25 na wysoki\n\tdigitalWrite(26, HIGH);\t\/\/ Ustawienie stanu pinu 26 na wysoki\n\tdigitalWrite(27, HIGH);\t\/\/ Ustawienie stanu pinu 27 na wysoki\n\tdigitalWrite(28, HIGH);\t\/\/ Ustawienie stanu pinu 28 na wysoki\n}\nvoid loop()\t\t\/\/ kod wykonywany w p\u0119tli\n{ \n\tif(Serial.available()>0) \/\/ sprawdzenie czy przychodz\u0105cy bajt ma warto\u015b\u0107 >0\n\t{\n\t\tchar odczyt = Serial.read(); \/\/ odczytanie przychodz\u0105cego bajtu\n\t\tswitch(odczyt) \/\/ odczytanie sygna\u0142u\n\t\t{\n\t\t\tcase '1': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c1\u201d\n\t\t\t\tdigitalWrite(22,LOW); \/\/ Ustawienie stanu pinu 22 na niski\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '2': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c2\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,LOW); \/\/ Ustawienie stanu pinu 23 na niski\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '3': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c3\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,LOW); \/\/ Ustawienie stanu pinu 24 na niski\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '4': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c4\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,LOW); \/\/ Ustawienie stanu pinu 25 na niski\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '5': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c5\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,LOW); \/\/ Ustawienie stanu pinu 26 na niski\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '6': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c6\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,LOW); \/\/ Ustawienie stanu pinu 27 na niski\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '7': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c7\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,LOW); \/\/ Ustawienie stanu pinu 28 na niski\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase '8': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c8\u201d\n\t\t\t\tdigitalWrite(22,LOW); \/\/ Ustawienie stanu pinu 22 na niski\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,LOW); \/\/ Ustawienie stanu pinu 28 na niski\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tCase '9': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201c9\u201d\n\t\t\t\tdigitalWrite(22,LOW); \/\/ Ustawienie stanu pinu 22 na niski\n\t\t\t\tdigitalWrite(23,LOW); \/\/ Ustawienie stanu pinu 23 niski\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'a': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201ca\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,LOW); \/\/ Ustawienie stanu pinu 23 na niski\n\t\t\t\tdigitalWrite(24,LOW); \/\/ Ustawienie stanu pinu 24 na niski\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'b': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201cb\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,LOW); \/\/ Ustawienie stanu pinu 24 na niski\n\t\t\t\tdigitalWrite(25,LOW); \/\/ Ustawienie stanu pinu 25 na niski\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'c': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201cc\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,LOW); \/\/ Ustawienie stanu pinu 25 na niski\n\t\t\t\tdigitalWrite(26,LOW); \/\/ Ustawienie stanu pinu 26 na niski\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'd': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny k \u201cd\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,LOW); \/\/ Ustawienie stanu pinu 26 na niski\n\t\t\t\tdigitalWrite(27,LOW); \/\/ Ustawienie stanu pinu 27 na niski\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'e': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201ce\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,LOW); \/\/ Ustawienie stanu pinu 27 na niski\n\t\t\t\tdigitalWrite(28,LOW); \/\/ Ustawienie stanu pinu 28 na niski\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'g': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201cg\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,LOW); \/\/ Ustawienie stanu pinu 22 na niski\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(28,LOW); \/\/ Ustawienie stanu pinu 27 na niski\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tcase 'i': \/\/ Przypadek, gdy sygna\u0142 jest r\u00f3wny \u201ci\u201d\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,LOW); \/\/ Ustawienie stanu pinu 24 na niski\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,LOW); \/\/ Ustawienie stanu pinu 26 na niski\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t\tdefault : \/\/ Wykonuje, gdy \u017cadny sygna\u0142 z powy\u017cszych nie jest nadawany\n\t\t\t\tdigitalWrite(22,HIGH); \/\/ Ustawienie stanu pinu 22 na wysoki\n\t\t\t\tdigitalWrite(23,HIGH); \/\/ Ustawienie stanu pinu 23 na wysoki\n\t\t\t\tdigitalWrite(24,HIGH); \/\/ Ustawienie stanu pinu 24 na wysoki\n\t\t\t\tdigitalWrite(25,HIGH); \/\/ Ustawienie stanu pinu 25 na wysoki\n\t\t\t\tdigitalWrite(26,HIGH); \/\/ Ustawienie stanu pinu 26 na wysoki\n\t\t\t\tdigitalWrite(27,HIGH); \/\/ Ustawienie stanu pinu 27 na wysoki\n\t\t\t\tdigitalWrite(28,HIGH); \/\/ Ustawienie stanu pinu 28 na wysoki\n\t\t\t\tbreak; \/\/ Zako\u0144czenie funkcji przypadku\n\t\t} \/\/koniec p\u0119tli odczytywania sygna\u0142u\n\t\tSerial.println(odczyt); \/\/ Ukazanie warto\u015bci odczytanej w terminalu\n\t} \/\/ Zako\u0144czenie sprawdzenia czy przychodz\u0105cy bajt ma warto\u015b\u0107 >0\n}<\/code><\/pre>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.2. Program Astorino<\/strong><\/h3>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>y=0 \/\/ Ustawienie warto\u015bci y na \u201c0\u201d\nWHILE (y==0) DO \/\/ P\u0119tla while wykonuje si\u0119 tylko w momencie spe\u0142nienia warunku y=0\n\ttwait 0.2 \/\/ Zatrzymanie programu na 0.2s\n\tSIGNAL 2 \/\/ Ustawienie stanu pinu 2 na wysoki\n\tWHILE (SIG(1002)) == TRUE AND (SIG(1003)) == FALSE AND (SIG(1008)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 2 je\u017celi nie ma sygna\u0142u na 3 oraz 8 wej\u015bciu\n\t\tDRIVE 1,-10,100 \/\/ Poruszenie osi\u0105 JT1 o -10o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1003)) == TRUE AND (SIG(1002)) == FALSE AND (SIG(1004)) == FALSE AND (SIG(1008)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 3 je\u017celi nie ma sygna\u0142u na 2 oraz 3 wej\u015bciu\n\t\tDRIVE 1,10,100 \/\/ Poruszenie osi\u0105 JT1 o 10o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1004)) == TRUE AND (SIG(1003)) == FALSE AND (SIG(1005)) == FALSE AND (SIG(1006)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 4 je\u017celi nie ma sygna\u0142u na 3 oraz 5 wej\u015bciu\n\t\tDRIVE 2,-5,100 \/\/ Poruszenie osi\u0105 JT2 o -5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1005)) == TRUE AND (SIG(1004)) == FALSE AND (SIG(1006)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 5 je\u017celi nie ma sygna\u0142u na 4 oraz 6 wej\u015bciu\n\t\tDRIVE 2,5,100 \/\/ Poruszenie osi\u0105 JT2 o 5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1006)) == TRUE AND (SIG(1005)) == FALSE AND (SIG(1007)) == FALSE AND (SIG(1004)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 6 je\u017celi nie ma sygna\u0142u na 7 oraz 5 wej\u015bciu\n\t\tDRIVE 3,-5,100 \/\/ Poruszenie osi\u0105 JT3 o -5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1007)) == TRUE AND (SIG(1006)) == FALSE AND (SIG(1008)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 7 je\u017celi nie ma sygna\u0142u na 6 oraz 8 wej\u015bciu\n\t\tDRIVE 3,5,100 \/\/ Poruszenie osi\u0105 JT3 o 5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1008)) == TRUE AND (SIG(1002)) == FALSE AND (SIG(1007)) == FALSE AND (SIG(1003)) == FALSE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 8 je\u017celi nie ma sygna\u0142u na 2 , 3 oraz 7 wej\u015bciu\n\t\tDRIVE 4,-5,100 \/\/ Poruszenie osi\u0105 JT4 o -5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1008)) == TRUE AND (SIG(1002)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 8 oraz 2\n\t\tDRIVE 4,5,100 \/\/ Poruszenie osi\u0105 JT4 o 5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1002)) == TRUE AND (SIG(1003)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 2 oraz 3\n\t\tDRIVE 5,-5,100 \/\/ Poruszenie osi\u0105 JT5 o -5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1003)) == TRUE AND (SIG(1004)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 3 oraz 4\n\t\tDRIVE 5,5,100 \/\/ Poruszenie osi\u0105 JT5 o 5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1004)) == TRUE AND (SIG(1005)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 4 oraz 5\n\t\tDRIVE 6,-5,100 \/\/ Poruszenie osi\u0105 JT6 o -5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1005)) == TRUE AND (SIG(1006)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 5 oraz 6\n\t\tDRIVE 6,5,100 \/\/ Poruszenie osi\u0105 JT6 o 5o z pr\u0119dko\u015bci\u0105 100%\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1006)) == TRUE AND (SIG(1007)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 6 oraz 7\n\t\tSignal \u20131 \/\/ Ustawienie stanu pinu 1 na niski\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1007)) == TRUE AND (SIG(1008)) == TRUE DO \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 7 oraz 8\n\t\tSignal 1 \/\/ Ustawienie stanu pinu 1 na wysoki\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1003)) == TRUE AND (SIG(1008)) == TRUE DO 0 \/\/p\u0119tla wywo\u0142ana sygna\u0142em na wej\u015bciu 3 oraz 8\n\t\tHOME \/\/ Powr\u00f3t ramienia robota do pozycji wej\u015bciowej\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\n\tWHILE (SIG(1006)) == TRUE AND (SIG(1004)) == TRUE DO\n\t\tSIGNAL -2 \/\/ Ustawienie stanu pinu 2 na niski\n\tEND \/\/ Zako\u0144czenie p\u0119tli while\nEND \/\/ Zako\u0144czenie p\u0119tli loop\n.END \/\/ Zako\u0144czenie programu<\/code><\/pre>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">6. Spis element\u00f3w<\/h2>\n\n\n\n<p>Elementy elektryczne:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Arduino Mega 2560.<\/li>\n\n\n\n<li>8 Przeka\u017anik\u00f3w 5V DC.<\/li>\n\n\n\n<li>Przeka\u017anik 24V DC.<\/li>\n\n\n\n<li>Modu\u0142 bluetooth HC-05.<\/li>\n\n\n\n<li>Zestaw przewod\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p>Elementy pneumatyczne:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spr\u0119\u017carka.<\/li>\n\n\n\n<li>Zaw\u00f3r 3\/2 normalnie otwarty.<\/li>\n\n\n\n<li>Si\u0142ownik jednostronnego dzia\u0142ania pchaj\u0105cy ze spr\u0119\u017cyn\u0105 powrotn\u0105.<\/li>\n\n\n\n<li>Zesp\u00f3\u0142 przygotowania powietrza.<\/li>\n\n\n\n<li>Zaw\u00f3r zwrotno-d\u0142awi\u0105cy.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">7. Zastosowanie<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Przenoszenie ci\u0119\u017ckich, a tak\u017ce niebezpiecznych dla cz\u0142owieka obiekt\u00f3w.<\/li>\n\n\n\n<li>Nauka o osiach kinematycznych robota.<\/li>\n\n\n\n<li>Maszyny s\u0142u\u017c\u0105ce do cel\u00f3w rekreacyjnych.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">8. Korzy\u015bci<\/h2>\n\n\n\n<p>Dzi\u0119ki realizacji projektu zdobyli\u015bmy do\u015bwiadczenie w tworzeniu program\u00f3w Astorino bazuj\u0105cych na przesy\u0142aniu sygna\u0142\u00f3w poprzez,<\/p>\n\n\n\n<p>u\u017cywania modu\u0142u bluetooth jako odbiornika a tak\u017ce przesuwaniu dowolnej osi robota o dok\u0142adn\u0105 ilo\u015b\u0107 stopni dzi\u0119ki funkcji DRIVE a tak\u017ce program\u00f3w stosuj\u0105cych p\u0119tl\u0119 While .<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">9. Zesp\u00f3\u0142<\/h2>\n\n\n\n<p>Autorzy pracy:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"482\" height=\"482\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image3-4.png\" alt=\"\" class=\"wp-image-24720\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image3-4.png 482w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image3-4-301x301.png 301w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>Nikodem Nieckarz<\/strong><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"482\" height=\"482\" src=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image4-4.png\" alt=\"\" class=\"wp-image-24721\" srcset=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image4-4.png 482w, https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/image4-4-301x301.png 301w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/figure>\n<\/div>\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong><strong>Dawid Przew\u0142ocki<\/strong><\/strong><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n            <div id=\"mailerlite-form_9\" data-temp-id=\"69d10c2220a7a\">\n                <div class=\"mailerlite-form\">\n                    <form action=\"\" method=\"post\" novalidate>\n                                                    <div class=\"mailerlite-form-title\"><h3>Newsletter Poradnika Automatyka<\/h3><\/div>\n                                                <div class=\"mailerlite-form-description\"><p>Czytaj trendy i inspiracje, podstawy automatyki, automatyk\u0119 w praktyce<\/p>\n<\/div>\n                        <div class=\"mailerlite-form-inputs\">\n                                                                                            <div class=\"mailerlite-form-field\">\n                                    <label for=\"mailerlite-9-field-email\">Email<\/label>\n                                    <input id=\"mailerlite-9-field-email\"\n                                           type=\"email\" required=\"required\"                                            name=\"form_fields[email]\"\n                                           placeholder=\"Email\"\/>\n                                <\/div>\n                                                        <div class=\"mailerlite-form-loader\">Please wait...<\/div>\n                            <div class=\"mailerlite-subscribe-button-container\">\n                                <button class=\"mailerlite-subscribe-submit\" type=\"submit\">\n                                    Zapisz si\u0119                                <\/button>\n                            <\/div>\n                            <input type=\"hidden\" name=\"form_id\" value=\"9\"\/>\n                            <input type=\"hidden\" name=\"action\" value=\"mailerlite_subscribe_form\"\/>\n                            <input type=\"hidden\" name=\"ml_nonce\" value=\"e6abbb9af0\"\/>\n                        <\/div>\n                        <div class=\"mailerlite-form-response\">\n                                                            <h4><p>Dzi\u0119kujemy za zapis do newslettera!<\/p>\n<\/h4>\n                                                    <\/div>\n                    <\/form>\n                <\/div>\n            <\/div>\n        <script type=\"text\/javascript\" src='https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/plugins\/official-mailerlite-sign-up-forms\/assets\/js\/localization\/validation-messages.js'><\/script>\n         <script type=\"text\/javascript\"> var selectedLanguage = \"pl\"; var validationMessages = messages[\"en\"]; if(selectedLanguage) { validationMessages = messages[selectedLanguage]; } window.addEventListener(\"load\", function () { var form_container = document.querySelector(`#mailerlite-form_9[data-temp-id=\"69d10c2220a7a\"] form`); let submitButton = form_container.querySelector('.mailerlite-subscribe-submit'); submitButton.disabled = true; fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: new URLSearchParams({ \"action\" : \"ml_create_nonce\", \"ml_nonce\" : form_container.querySelector(\"input[name='ml_nonce']\").value }) }) .then((response) => response.json()) .then((json) => { if(json.success) { form_container.querySelector(\"input[name='ml_nonce']\").value = json.data.ml_nonce; submitButton.disabled = false; } }) .catch((error) => { console.error('Error:', error); }); form_container.addEventListener('submit', (e) => { e.preventDefault(); let data = new URLSearchParams(new FormData(form_container)).toString(); let validationError = false; document.querySelectorAll('.mailerlite-form-error').forEach(el => el.remove()); Array.from(form_container.elements).forEach((input) => { if(input.type !== 'hidden') { if(input.required) { if(input.value == '') { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.required; input.after(error); return false; } } if((input.type == \"email\") && (!validateEmail(input.value))) { validationError = true; let error = document.createElement(\"span\"); error.className = 'mailerlite-form-error'; error.textContent = validationMessages.email; input.after(error); return false; } } }); if(validationError) { return false; } fade.out(form_container.querySelector('.mailerlite-subscribe-button-container'), () => { fade.in(form_container.querySelector('.mailerlite-form-loader')); }); fetch('https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-admin\/admin-ajax.php', { method: 'POST', headers:{ 'Content-Type': 'application\/x-www-form-urlencoded', }, body: data }) .then((response) => { fade.out(form_container.querySelector('.mailerlite-form-inputs'), () => { fade.in(form_container.querySelector('.mailerlite-form-response')); }); }) .catch((error) => { console.error('Error:', error); }); }); }, false); var fade = { out: function(el, fn = false) { var fadeOutEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 1; } if (el.style.opacity > 0) { el.style.opacity -= 0.1; } else { el.style.display = 'none'; clearInterval(fadeOutEffect); } }, 50); if( typeof (fn) == 'function') { fn(); } }, in: function(el) { var fadeInEffect = setInterval(function () { if (!el.style.opacity) { el.style.opacity = 0; } if (el.style.opacity < 1) { el.style.opacity = Number(el.style.opacity) + 0.1; } else { el.style.display = 'block'; clearInterval(fadeInEffect); } }, 50); } }; function validateEmail(email){ if(email.match( \/^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$\/ )) { return true; } return false; } <\/script> \n","protected":false},"excerpt":{"rendered":"<p>Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d. Praca powsta\u0142a w Zespole Szk\u00f3\u0142 Technicznych w Bytomiu, a jej autorami s\u0105 uczniowie: Nikodem Nieckarz i Dawid Przew\u0142ocki.<\/p>\n","protected":false},"author":5,"featured_media":24727,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234],"tags":[237,293],"class_list":["post-24706","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-automatyka-w-praktyce","tag-astorino","tag-kawasaki-robotics"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka<\/title>\r\n<meta name=\"description\" content=\"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\" \/>\r\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka\" \/>\r\n<meta property=\"og:description\" content=\"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\" \/>\r\n<meta property=\"og:site_name\" content=\"Poradnik Automatyka\" \/>\r\n<meta property=\"article:published_time\" content=\"2025-09-09T07:34:39+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2025-09-09T07:35:10+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"960\" \/>\r\n\t<meta property=\"og:image:height\" content=\"408\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"Joanna Kowalkowska\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joanna Kowalkowska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuty\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\"},\"author\":{\"name\":\"Joanna Kowalkowska\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/18ff15146cba8cbc44eebc62bb71e79d\"},\"headline\":\"Sterowanie robotem Astorino za pomoc\u0105 smartfona\",\"datePublished\":\"2025-09-09T07:34:39+00:00\",\"dateModified\":\"2025-09-09T07:35:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\"},\"wordCount\":510,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg\",\"keywords\":[\"Astorino\",\"kawasaki robotics\"],\"articleSection\":[\"Automatyka w praktyce\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\",\"name\":\"Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka\",\"isPartOf\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg\",\"datePublished\":\"2025-09-09T07:34:39+00:00\",\"dateModified\":\"2025-09-09T07:35:10+00:00\",\"description\":\"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg\",\"contentUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg\",\"width\":960,\"height\":408},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Automatyka w praktyce\",\"item\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sterowanie robotem Astorino za pomoc\u0105 smartfona\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/\",\"name\":\"Poradnik Automatyka\",\"description\":\"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.\",\"publisher\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization\",\"name\":\"ASTOR\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png\",\"contentUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png\",\"width\":3322,\"height\":1078,\"caption\":\"ASTOR\"},\"image\":{\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/18ff15146cba8cbc44eebc62bb71e79d\",\"name\":\"Joanna Kowalkowska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/J.-Kowalkowska.jpg\",\"contentUrl\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/J.-Kowalkowska.jpg\",\"caption\":\"Joanna Kowalkowska\"},\"description\":\"Mened\u017cer produktu robota edukacyjnego Astorino oraz redaktor, autor i korektor tekst\u00f3w. Od 13 lat w marketingu bran\u017cy przemys\u0142owej. Przez 10 lat by\u0142a redaktorem naczelnym Biuletynu Automatyki ASTOR. Wsp\u00f3\u0142autor i redaktor wielu artyku\u0142\u00f3w typu case study, informacji prasowych, scenariuszy do film\u00f3w typu case study, tre\u015bci folder\u00f3w firmowych i post\u00f3w do medi\u00f3w spo\u0142eczno\u015bciowych. Koordynator content marketingu robotyki przemys\u0142owej i edukacyjnej w ASTOR. Wielbicielka nauki j\u0119zyk\u00f3w obcych, ze szczeg\u00f3lnym uwzgl\u0119dnieniem gramatyki, ortografii i etymologii.\",\"sameAs\":[\"https:\/\/pl.linkedin.com\/in\/joanna-kowalkowska-2333a4a5\"],\"url\":\"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/joannak\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka","description":"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/","og_locale":"pl_PL","og_type":"article","og_title":"Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka","og_description":"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.","og_url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/","og_site_name":"Poradnik Automatyka","article_published_time":"2025-09-09T07:34:39+00:00","article_modified_time":"2025-09-09T07:35:10+00:00","og_image":[{"width":960,"height":408,"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg","type":"image\/jpeg"}],"author":"Joanna Kowalkowska","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Joanna Kowalkowska","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#article","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/"},"author":{"name":"Joanna Kowalkowska","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/18ff15146cba8cbc44eebc62bb71e79d"},"headline":"Sterowanie robotem Astorino za pomoc\u0105 smartfona","datePublished":"2025-09-09T07:34:39+00:00","dateModified":"2025-09-09T07:35:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/"},"wordCount":510,"commentCount":0,"publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg","keywords":["Astorino","kawasaki robotics"],"articleSection":["Automatyka w praktyce"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/","name":"Sterowanie robotem Astorino za pomoc\u0105 smartfona | Poradnik Automatyka","isPartOf":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage"},"thumbnailUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg","datePublished":"2025-09-09T07:34:39+00:00","dateModified":"2025-09-09T07:35:10+00:00","description":"Prezentujemy prac\u0119, kt\u00f3ra zdoby\u0142a I miejsce w kategorii \u201eAstorino. Poziom wy\u017cej\u201d w ramach konkursu \u201eAstorino Film Festival\u201d.","breadcrumb":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#primaryimage","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2025\/09\/astorino-telefon-head.jpg","width":960,"height":408},{"@type":"BreadcrumbList","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/sterowanie-robotem-astorino-za-pomoca-smartfona\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Automatyka w praktyce","item":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/category\/automatyka-w-praktyce\/"},{"@type":"ListItem","position":2,"name":"Sterowanie robotem Astorino za pomoc\u0105 smartfona"}]},{"@type":"WebSite","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#website","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","name":"Poradnik Automatyka","description":"Poradnik Automatyka to przydatne kursy, u\u017cyteczne artyku\u0142y i merytoryczne webinary dla ka\u017cdego automatyka i elektryka.","publisher":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#organization","name":"ASTOR","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2018\/08\/ASTOR_zwykly_sam_logotyp.png","width":3322,"height":1078,"caption":"ASTOR"},"image":{"@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/18ff15146cba8cbc44eebc62bb71e79d","name":"Joanna Kowalkowska","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/#\/schema\/person\/image\/","url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/J.-Kowalkowska.jpg","contentUrl":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-content\/uploads\/2023\/04\/J.-Kowalkowska.jpg","caption":"Joanna Kowalkowska"},"description":"Mened\u017cer produktu robota edukacyjnego Astorino oraz redaktor, autor i korektor tekst\u00f3w. Od 13 lat w marketingu bran\u017cy przemys\u0142owej. Przez 10 lat by\u0142a redaktorem naczelnym Biuletynu Automatyki ASTOR. Wsp\u00f3\u0142autor i redaktor wielu artyku\u0142\u00f3w typu case study, informacji prasowych, scenariuszy do film\u00f3w typu case study, tre\u015bci folder\u00f3w firmowych i post\u00f3w do medi\u00f3w spo\u0142eczno\u015bciowych. Koordynator content marketingu robotyki przemys\u0142owej i edukacyjnej w ASTOR. Wielbicielka nauki j\u0119zyk\u00f3w obcych, ze szczeg\u00f3lnym uwzgl\u0119dnieniem gramatyki, ortografii i etymologii.","sameAs":["https:\/\/pl.linkedin.com\/in\/joanna-kowalkowska-2333a4a5"],"url":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/autor\/joannak\/"}]}},"_links":{"self":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/comments?post=24706"}],"version-history":[{"count":3,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24706\/revisions"}],"predecessor-version":[{"id":24729,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/posts\/24706\/revisions\/24729"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media\/24727"}],"wp:attachment":[{"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/media?parent=24706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/categories?post=24706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.astor.com.pl\/poradnikautomatyka\/wp-json\/wp\/v2\/tags?post=24706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}