{"id":1225,"date":"2018-05-22T20:05:09","date_gmt":"2018-05-22T20:05:09","guid":{"rendered":"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/?p=1225"},"modified":"2018-05-24T06:32:25","modified_gmt":"2018-05-24T06:32:25","slug":"transoptor-szczelinowy-czujnik-szczelinowy","status":"publish","type":"post","link":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/?p=1225","title":{"rendered":"Transoptor szczelinowy (czujnik szczelinowy)"},"content":{"rendered":"<h2 style=\"text-align: center;\">S\u0142owem wst\u0119pu&#8230;<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1236 aligncenter\" src=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33298767_1813972001993252_7213485899634442240_n.jpg\" alt=\"\" width=\"461\" height=\"346\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33298767_1813972001993252_7213485899634442240_n.jpg 960w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33298767_1813972001993252_7213485899634442240_n-300x225.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33298767_1813972001993252_7213485899634442240_n-768x576.jpg 768w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/p>\n<p>Nasz Fi-Bot&#8217;owy zesp\u00f3\u0142 wci\u0105\u017c pracuje nad swoimi pojazdami. Podzieleni w pary wci\u0105\u017c ulepszamy swoje maszyny dodaj\u0105c kolejne cz\u0119\u015bci i klepi\u0105c nowe linijki kodu.<\/p>\n<p>Tym razem przyszed\u0142 czas na rozwi\u0105zanie problemu zliczania obrot\u00f3w k\u00f3\u0142, tak aby mo\u017cna by\u0142o lepiej sprawdza\u0107 i kontrolowa\u0107 pr\u0119dko\u015b\u0107 naszego pojazdu.<\/p>\n<p>Z pomoc\u0105 przyszed\u0142 nam w\u0142a\u015bnie&#8230;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-1237 aligncenter\" src=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/aaf7c83847e0b0b3f661d401b597-300x225.jpg\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/aaf7c83847e0b0b3f661d401b597-300x225.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/aaf7c83847e0b0b3f661d401b597-768x576.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/aaf7c83847e0b0b3f661d401b597.jpg 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2 style=\"text-align: center;\">Transoptor Szczelinowy<\/h2>\n<p>Jak dzia\u0142a to wspania\u0142e urz\u0105dzenie? (ju\u017c wcze\u015bniej si\u0119 <a href=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/?p=864\">bawili\u015bmy takim modu\u0142em<\/a> &#8211; wyznaczaj\u0105c warto\u015b\u0107 przyspieszenia ziemskiego).<\/p>\n<p>Na samym pocz\u0105tku potrzebowali\u015bmy k\u00f3\u0142ka z\u0119batego (poni\u017cej: wydrukowane w 3D), kt\u00f3re ma <strong>dok\u0142adnie 16 z\u0105bk\u00f3w<\/strong> i kt\u00f3re umieszczamy na osi obrotowej naszego ko\u0142a(silniczek ma wa\u0142 obrotowy po dw\u00f3ch stronach). Nast\u0119pnie zamontowali\u015bmy czujnik szczelinowy tak, aby k\u00f3\u0142ko z\u0119bate znajdowa\u0142o si\u0119 mi\u0119dzy nim.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1253\" src=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/enkoder-zebatka32-1024x576.jpg\" alt=\"\" width=\"640\" height=\"360\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/enkoder-zebatka32-1024x576.jpg 1024w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/enkoder-zebatka32-300x169.jpg 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/enkoder-zebatka32-768x432.jpg 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/enkoder-zebatka32.jpg 1200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Poni\u017cej wykorzysta\u0142em moje ponad przeci\u0119tne zdolno\u015bci artystyczne aby lepiej Wam to zobrazowa\u0107. <img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1239 size-full\" src=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/arduino-1.png\" alt=\"\" width=\"1746\" height=\"862\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/arduino-1.png 1746w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/arduino-1-300x148.png 300w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/arduino-1-768x379.png 768w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/arduino-1-1024x506.png 1024w\" sizes=\"auto, (max-width: 1746px) 100vw, 1746px\" \/>K\u00f3\u0142ko obracaj\u0105c si\u0119 raz po raz przes\u0142ania wi\u0105zk\u0119 \u015bwiat\u0142a emitowanego z transoptora (a dok\u0142adniej z diody) i sygna\u0142 ten nie trafia do bramki &#8211; mamy stan wysoki (logiczn\u0105 jedynk\u0119), pokazuje to g\u00f3rny rysunek (lewa strona), albo przepuszcza wi\u0105zk\u0119 i mamy w\u00f3wczas stan nisko (czyli zero, prawy obrazek). Obracaj\u0105c si\u0119 mamy szereg stan\u00f3w wysokich i niskich na wyj\u015bciu z transoptora.<\/p>\n<p><strong>Transoptor szczelinowy&nbsp;<\/strong>m\u00f3wi\u0105c \u0142opatologicznie sprawdza czy mi\u0119dzy nim co\u015b jest, lub nie ma. Je\u017celi nasze ko\u0142o si\u0119 obraca, a razem z nim o\u015b wraz z z\u0119batk\u0105 &#8211; czujnik szczelinowy jest w stanie odczyta\u0107:<\/p>\n<ul style=\"list-style-type: circle;\">\n<li>czy mi\u0119dzy nim jest z\u0105bek ko\u0142a &#8211; i zwr\u00f3ci\u0107 <strong>1<\/strong><\/li>\n<li>czy te\u017c z\u0105bka niema &#8211; i zwr\u00f3ci\u0107 <strong>0<\/strong><\/li>\n<\/ul>\n<p>\u0141atwo mo\u017cemy wi\u0119c wywnioskowa\u0107 \u017ce jeden obr\u00f3t ko\u0142a to &#8222;przej\u015bcie&#8221; transoptora po 16 z\u0105bkach ko\u0142a z\u0119batego.<\/p>\n<p>Niestety nasze urz\u0105dzenie nie odczyta zmiany stan\u00f3w w czujniku w ten spos\u00f3b:<\/p>\n<p><em>101010101010101010<\/em><\/p>\n<p>poniewa\u017c urz\u0105dzenie to nadaje nam z pr\u0119dko\u015bci\u0105 nawet do kilku tysi\u0119cy stan\u00f3w na sekund\u0119 (w zale\u017cno\u015bci od modelu), wi\u0119c Arduino odczytywa\u0107 b\u0119dzie to mniej wi\u0119cej tak:<\/p>\n<p><em>0000000000011111111111111100000000000000111111111111111111111100000000<\/em><\/p>\n<p>gdzie '1&#8242; oczywi\u015bcie znaczy, \u017ce w danej chwili z\u0105bek jest mi\u0119dzy szczelin\u0105, a '0&#8242; \u017ce go nie ma.<\/p>\n<p>Tak wi\u0119c do zliczania obrot\u00f3w musieli\u015bmy napisa\u0107 sw\u00f3j program. Na tym zako\u0144czy si\u0119 teoria a zacznie si\u0119&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1235 \" src=\"http:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33207345_1813964651993987_6384263543117578240_n.jpg\" alt=\"\" width=\"506\" height=\"674\" srcset=\"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33207345_1813964651993987_6384263543117578240_n.jpg 720w, https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/wp-content\/uploads\/sites\/6\/2018\/05\/33207345_1813964651993987_6384263543117578240_n-225x300.jpg 225w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/p>\n<h2 style=\"text-align: center;\">Transoptor w praktyce<\/h2>\n<p>Je\u017celi chodzi o pod\u0142\u0105czenie modu\u0142u do Arduino to nie sprawia to wi\u0119kszych trudno\u015bci. Zasilanie modu\u0142u podpinamy pod pin z napi\u0119ciem 5V, uziemienie do GND, natomiast ostatni kabelek w\u0119druje pod wybrany przez nas pin cyfrowy. W moim przypadku by\u0142 to pin z numerem 7.<\/p>\n<p>Przejd\u017amy wi\u0119c do pisania kodu \ud83d\ude09<\/p>\n<p>Oczywi\u015bcie pomys\u0142\u00f3w na rozwi\u0105zanie tego problemu jak i wykonanie i dzia\u0142anie samego programu by\u0142o kilka, ja zamieszczam pod spodem swoj\u0105 wersje.<\/p>\n<pre class=\"lang:arduino decode:true\" title=\"Zliczanie obrot\u00f3w ko\u0142a za pomoc\u0105 czujnika szczelinowego\">void setup() {\r\n  pinMode(7,INPUT);\r\n  Serial.begin(9600);\r\n}\r\n\r\nbool zn;\r\nbool temp=0;\r\nint rotates=0;\r\nint indents=0;\r\n\r\nvoid loop() {\r\n  zn = digitalRead(7);\r\n  if(zn&gt;temp)\r\n  {\r\n    indents++;\r\n    temp=zn;\r\n    Serial.print(rotates);\r\n    Serial.print(\" rotates \");\r\n    Serial.print(indents);\r\n    Serial.println(\" indents\");\r\n  }\r\n  else\r\n  {\r\n    temp=zn;\r\n  }\r\n  if(indents==16)\r\n  {\r\n    rotates++;\r\n    indents=0;\r\n  }\r\n}<\/pre>\n<p>Na pocz\u0105tku:<\/p>\n<ol>\n<li>w funkcji <em>setup&nbsp;<\/em>ustawiamy tryb wybranego przez nas pinu na <em>input &#8211;<\/em>&nbsp;czyli tryb <strong>wej\u015bcia<\/strong>, poniewa\u017c dane b\u0119d\u0105 <strong>wchodzi\u0107<\/strong> przez niego do naszego Arduino. Robimy to<em>&nbsp;<\/em>za pomoc\u0105<em>&nbsp;<\/em>funkcji<em> pinMode(7, INPUT)<\/em><\/li>\n<li>uruchamiamy komunikacje szeregow\u0105 z komputerem za pomoc\u0105 funkcji <em>Serial.begin(9600)<\/em> &#8211; to w\u0142a\u015bnie na naszym monitorze b\u0119dziemy odczytywa\u0107 liczb\u0119 obrot\u00f3w ko\u0142a<\/li>\n<\/ol>\n<p>Zanim jeszcze wejdziemy do naszej g\u0142\u00f3wnej p\u0119tli wprowadzi\u0142em potrzebne zmienne:<\/p>\n<ol>\n<li>bool <strong>zn<\/strong> &#8211; zmienna <em>zn<\/em>&nbsp;(od s\u0142owa znak) b\u0119dzie przechowywa\u0107 aktualny stan podawany przez czujnik. Typ zmiennych 'bool&#8217; nadaje si\u0119 do tego idealnie bo przechowuje On tylko 1 lub 0 &#8211; inaczej prawda lub fa\u0142sz.<\/li>\n<li>bool <strong>temp&nbsp;<\/strong>&#8211; zmienna <em>temp&nbsp;<\/em>(od s\u0142owa ang. temporary &#8211; tymczasowy) b\u0119dzie zmienn\u0105 pomocnicz\u0105. <strong>Na pocz\u0105tku musimy przypisa\u0107 jej warto\u015b\u0107 '0&#8242;<\/strong>, jednak jej dzia\u0142anie opisz\u0119 dok\u0142adniej p\u00f3\u017aniej.<\/li>\n<li>int <strong>rotates<\/strong> &#8211; zmienna <em>rotates <\/em>(od s\u0142owa ang. rotations &#8211; obroty) jak sama nazwa wskazuje b\u0119dzie przechowywa\u0107 liczb\u0119 aktualnie zliczonych obrot\u00f3w. Na pocz\u0105tku b\u0119dzie ich oczywi\u015bcie 0.<\/li>\n<li>int&nbsp;<strong>indents&nbsp;<\/strong>&#8211; zmienna&nbsp;<em>indents&nbsp;<\/em>(od s\u0142owa ang. indents &#8211; wci\u0119cie) b\u0119dzie przechowywa\u0107 liczb\u0119 zliczonych z\u0105bk\u00f3w.&nbsp; Na pocz\u0105tku b\u0119dzie ich oczywi\u015bcie 0.<\/li>\n<\/ol>\n<p>Przejd\u017amy wi\u0119c do g\u0142\u00f3wnej funkcji programu &#8211;&nbsp;<em>loop.<\/em><\/p>\n<p>Na pocz\u0105tku do zmiennej&nbsp;<em>zn<\/em> wczytujemy stan z czujnika &#8211; b\u0119dzie to stan 1 lub 0 w zale\u017cno\u015bci od tego czy w pozycji startu z\u0105bek akurat jest mi\u0119dzy czujnikiem czy nie (nie ma to \u017cadnego znaczenia). U\u017cywamy do tego funkcji&nbsp;<em>digitalRead(7)&nbsp;<\/em>gdzie '7&#8242; jest oczywi\u015bcie numerem naszego pinu.<\/p>\n<p>Nast\u0119pnie pojawia si\u0119 warunek&nbsp;<em>if<\/em> &#8211; je\u017celi nasz wczytany stan&nbsp;<em>zn<\/em> b\u0119dzie wi\u0119kszy od stanu trzymanego w zmiennej pomocniczej&nbsp;<em>temp<\/em> &#8211; czyli b\u0119dzie r\u00f3wny 1 &#8211; wtedy :<\/p>\n<ol>\n<li><strong>indents ++&nbsp;&nbsp;<\/strong> &#8211;&nbsp;zwi\u0119ksz liczb\u0119 zliczonych z\u0105bk\u00f3w o 1<\/li>\n<li><strong>temp = zn&nbsp; &nbsp;<\/strong>&#8211; zmienna <em>temp<\/em> przyjmuje warto\u015b\u0107&nbsp;<em>zn<\/em><\/li>\n<li>wypisz policzone obroty i wci\u0119cia<\/li>\n<\/ol>\n<p>w przeciwnym przypadku, je\u017celi b\u0119dzie mniejszy lub taki sam, wykonuje si\u0119 tylko przypisanie warto\u015bci <em>temp&nbsp;<\/em>:<\/p>\n<ol>\n<li><strong>temp = zn&nbsp; &nbsp;<\/strong>&#8211; zmienna <em>temp<\/em> przyjmuje warto\u015b\u0107&nbsp;<em>zn<\/em><\/li>\n<\/ol>\n<p>Co tu si\u0119 w\u0142a\u015bciwie sta\u0142o? Tak jak pisa\u0142em wcze\u015bniej Arduino odczytuje stany czujnika w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<p>000000001111111111000000000000000111111111111110000001111111111111<\/p>\n<p>Mo\u017cna tu wyr\u00f3\u017cni\u0107 sekwencje zer i jedynek. Sekwencja jedynek oznacza \u017ce przez t\u0105 kr\u00f3tk\u0105 chwile czujnik odczyta\u0142 z\u0105bek mi\u0119dzy wide\u0142kami. Kiedy wi\u0119c b\u0119dzie mo\u017cna powiedzie\u0107 \u017ce z\u0105bek przeskoczy\u0142 przez czujnik? Wtedy i tylko wtedy gdy transoptor wczyta <strong>jedynk\u0119 po zerze<\/strong>. Zaczyna si\u0119 wtedy sekwencja jedynek &#8211; z\u0105bek jest chwile mi\u0119dzy wide\u0142kami, nast\u0119pnie znowu sekwencja zer &#8211; z\u0105bka brak, i znowu sekwencja jedynek, czyli kolejny z\u0105bek.<\/p>\n<p>00000000<strong>1<\/strong>111111111000000000000000<strong>1<\/strong>1111111111111000000<strong>1<\/strong>111111111111<\/p>\n<p>Za\u0142\u00f3\u017cmy \u017ce program zaczyna si\u0119 od sekwencji zer &#8211; podawane stany b\u0119d\u0105 ci\u0105gle zerami. Dop\u00f3ki aktualny stan nie b\u0119dzie wi\u0119kszy od&nbsp;<em>temp<\/em>&nbsp;czyli nie b\u0119dzie wynosi\u0142 1 (bo <em>temp&nbsp;<\/em>przyjmuje warto\u015b\u0107 '0&#8242; na starcie programu), licznik z\u0105bk\u00f3w nie powi\u0119kszy si\u0119.<\/p>\n<p>Kiedy program natrafi na pierwsz\u0105 <strong>jedynk\u0119<\/strong> &#8211; licznik z\u0105bk\u00f3w powi\u0119kszy si\u0119 o 1, natomiast zmienna&nbsp;<em>temp&nbsp;<\/em>kt\u00f3ra do tej pory trzyma\u0142a&nbsp;<strong>0<\/strong>, przyjmie warto\u015b\u0107&nbsp;<strong>1<\/strong>. Gdy do zmiennej <em>zn&nbsp;<\/em>zostanie wczytana nast\u0119pna jedynka z sekwencji, licznik nie powi\u0119kszy si\u0119 poniewa\u017c nie zosta\u0142 spe\u0142niony warunek:&nbsp; &nbsp;<em>zn&gt;temp<\/em>&nbsp; &nbsp;&#8211;&nbsp; &nbsp;przecie\u017c jedynka nie jest wi\u0119ksza od jedynki \ud83d\ude00<\/p>\n<p>I tak w k\u00f3\u0142ko dop\u00f3ki zn\u00f3w nie zacznie si\u0119 sekwencja zer &#8211; oczywi\u015bcie warunek dalej nie zostanie spe\u0142niony bo 0 tym bardziej nie jest wi\u0119ksze od 1, ale za to&nbsp;<em>temp&nbsp;<\/em>przyjmie warto\u015b\u0107 0, tak \u017ceby warunek spe\u0142ni\u0142 si\u0119 na pocz\u0105tku kolejnej sekwencji jedynek i licznik z\u0105bk\u00f3w zn\u00f3w powi\u0119kszy\u0142 si\u0119 o 1.<\/p>\n<p>Ostatnia i niezb\u0119dna rzecz w naszym programie &#8211; warunek&nbsp; &nbsp;<em>if&nbsp;<\/em><em>(indents==16).<\/em><\/p>\n<p>Musimy pami\u0119ta\u0107 \u017ce ca\u0142y czas dodawali\u015bmy z\u0105bki ko\u0142a z\u0119batego, a w sumie jest ich 16. Wnioskuj\u0105c logicznie Arduino musi odczyta\u0107 te 16 z\u0105bk\u00f3w, po czym:<\/p>\n<ol>\n<li><strong> rotates++&nbsp; &nbsp;<\/strong>&#8211; zwi\u0119kszy\u0107 liczb\u0119 obrot\u00f3w o 1<\/li>\n<li><strong> indents=0&nbsp; &nbsp;<\/strong>&#8211; wyzerowa\u0107 aktualnie zliczone z\u0105bki, poniewa\u017c ju\u017c zatoczy\u0142o si\u0119 pe\u0142ne ko\u0142o. Nasz program b\u0119dzie je teraz dodawa\u0142 od nowa.<\/li>\n<\/ol>\n<h2 style=\"text-align: center;\">Podsumowanie<\/h2>\n<p>Zak\u0142adam \u017ce po\u0142owa os\u00f3b przysn\u0119\u0142a czytaj\u0105c moje wypociny, dlatego zach\u0119cam do samodzielnej zabawy. Na pewno umiej\u0119tno\u015b\u0107 u\u017cywania czujnika szczelinowego przyda si\u0119 jeszcze nie raz.<\/p>\n<p>Na przysz\u0142ych zaj\u0119ciach b\u0119dziemy dalej ulepsza\u0107 nasz pojazd, szczeg\u00f3lnie skupimy si\u0119 na usprawnieniu sterowania \ud83d\ude42 Zach\u0119cam do bycia na bie\u017c\u0105co.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: right;\">(c) Przemys\u0142aw Baj 2018<\/p>\n","protected":false},"excerpt":{"rendered":"<p>S\u0142owem wst\u0119pu&#8230; Nasz Fi-Bot&#8217;owy zesp\u00f3\u0142 wci\u0105\u017c pracuje nad swoimi pojazdami. Podzieleni w pary wci\u0105\u017c ulepszamy swoje maszyny dodaj\u0105c kolejne cz\u0119\u015bci i klepi\u0105c nowe linijki kodu. Tym razem przyszed\u0142 czas na rozwi\u0105zanie problemu zliczania obrot\u00f3w k\u00f3\u0142, tak aby mo\u017cna by\u0142o lepiej sprawdza\u0107 i kontrolowa\u0107 pr\u0119dko\u015b\u0107 naszego pojazdu. Z pomoc\u0105 przyszed\u0142 nam w\u0142a\u015bnie&#8230; Transoptor Szczelinowy Jak dzia\u0142a [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":1253,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[52],"tags":[162,4,235],"class_list":{"0":"post-1225","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-fibot","8":"tag-obroty","9":"tag-pojazd","10":"tag-transoptor","12":"post-with-thumbnail","13":"post-with-thumbnail-large"},"_links":{"self":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/1225","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\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1225"}],"version-history":[{"count":8,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/1225\/revisions"}],"predecessor-version":[{"id":1256,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/posts\/1225\/revisions\/1256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=\/wp\/v2\/media\/1253"}],"wp:attachment":[{"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/physics.uwb.edu.pl\/wf\/fi-bot\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}