{"id":95529,"date":"2020-09-30T19:42:39","date_gmt":"2020-09-30T17:42:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832"},"modified":"2020-09-30T19:42:39","modified_gmt":"2020-09-30T17:42:39","slug":"kak-podklyuchit-aczp-hx711-k-nrf52832","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832","title":{"rendered":"Jak pod\u0142\u0105czy\u0107 przetwornik A\/C HX711 do NRF52832","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>1. Wprowadzenie<\/h3>\n<p>\n Na agendzie by\u0142o zadanie opracowania protoko\u0142u komunikacji mikrokontrolera nrf52832 z dwoma chi\u0144skimi czujnikami tensometrycznymi p\u00f3\u0142mostkowymi. <\/p>\n<p>Zadanie okaza\u0142o si\u0119 trudne, poniewa\u017c natkn\u0105\u0142em si\u0119 na brak jakiejkolwiek jasnej informacji. Prawdopodobnie \u017ar\u00f3d\u0142o problemu tkwi w samym SDK od Nordic Semiconductor \u2014 ci\u0105g\u0142ych aktualizacjach wersji, pewnej nadmiarowo\u015bci i skomplikowanej funkcjonalno\u015bci. Musia\u0142em wszystko pisa\u0107 od zera. <\/p>\n<p><\/p>\n<p>Uwa\u017cam, \u017ce ten temat jest do\u015b\u0107 aktualny, bior\u0105c pod uwag\u0119, \u017ce ten chip ma stos BLE i ca\u0142y zestaw funkcji oszcz\u0119dzania energii. Ale nie zag\u0142\u0119bi\u0119 si\u0119 zbytnio w cz\u0119\u015b\u0107 techniczn\u0105, poniewa\u017c na ten temat napisano ju\u017c wiele artyku\u0142\u00f3w. <\/p>\n<p><\/p>\n<h3>2. Opis projektu<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Jak pod\u0142\u0105czy\u0107 przetwornik A\/C HX711 do NRF52832\" src=\"\/wp-content\/uploads\/2020\/09\/f187e56e29b4f2e57ce0de3a5f2a0eab.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><b>Sprz\u0119t:<\/b><\/p>\n<p><\/p>\n<ul>\n<li>Adafruit Feather nRF52 Bluefruit LE (to, co mia\u0142o pod r\u0119k\u0105) <\/li>\n<li>ADC HX711 <\/li>\n<li>Chi\u0144skie czujniki tensometryczne 2 szt. (50x2 kg) <\/li>\n<li>Programator ST-LINK V2 <\/li>\n<\/ul>\n<p><\/p>\n<p><b>Oprogramowanie:<\/b><\/p>\n<p><\/p>\n<ul>\n<li>IDE VSCODE<\/li>\n<li>NRF SDK 16<\/li>\n<li>OpenOCD<\/li>\n<li>Programator ST-LINK V2 <\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Wszystko znajduje si\u0119 w jednym projekcie, trzeba tylko nieco dostosowa\u0107 Makefile (wskaza\u0107 lokalizacj\u0119 swojego SDK). <\/p>\n<p><\/p>\n<h3>3. Opis kodu<\/h3>\n<p><\/p>\n<p>B\u0119dziemy u\u017cywa\u0107 modu\u0142u GPIOTE do pracy z peryferiami w oparciu o przypisanie zada\u0144 i zdarze\u0144, a tak\u017ce modu\u0142u PPI do przesy\u0142ania danych z jednego peryferyjnego urz\u0105dzenia do drugiego bez udzia\u0142u procesora.<\/p>\n<pre><code class=\"cpp\">ret_code_t err_code;\n   err_code = nrf_drv_gpiote_out_init(PD_SCK, &amp;config); \/\/ ustawiamy jako wyj\u015bcie\n   nrf_drv_gpiote_out_config_t config = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false); \/\/ b\u0119dziemy prze\u0142\u0105cza\u0107 pin dla impulsu\n   err_code = nrf_drv_gpiote_out_init(PD_SCK, &amp;config); \/\/ ustawiamy jako wyj\u015bcie\n<\/code><\/pre>\n<p>\nUstawiamy lini\u0119 synchronizacji PD_SCL na wyj\u015bcie do generowania impuls\u00f3w o d\u0142ugo\u015bci 10 \u00b5s.<\/p>\n<pre><code class=\"cpp\">   nrf_drv_gpiote_in_config_t gpiote_config = GPIOTE_CONFIG_IN_SENSE_HITOLO(false); \/\/ przej\u015bcie poziomu z wysokiego na niski\n   nrf_gpio_cfg_input(DOUT, NRF_GPIO_PIN_NOPULL); \/\/ na wej\u015bciu bez podci\u0105gania\n   err_code = nrf_drv_gpiote_in_init(DOUT, &amp;gpiote_config, gpiote_evt_handler); <\/code><\/pre>\n<p><\/p>\n<pre><code class=\"cpp\">static void gpiote_evt_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)\n{\n    nrf_drv_gpiote_in_event_disable(DOUT); \/\/ wy\u0142\u0105czamy przerwanie\n    nrf_drv_timer_enable(&amp;m_timer0); \/\/ w\u0142\u0105czamy timer\n}\n <\/code><\/pre>\n<p><\/p>\n<p>Ustawiamy lini\u0119 danych DOUT do odczytu stanu gotowo\u015bci HX711, przy niskim poziomie wyzwala si\u0119 handler, w kt\u00f3rym wy\u0142\u0105czamy przerwanie i uruchamiamy timer do generowania synchronizuj\u0105cych impuls\u00f3w na wyj\u015bciu PD_SCL.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\"> err_code = nrf_drv_ppi_channel_alloc(&amp;m_ppi_channel1);\n   APP_ERROR_CHECK(err_code);\n   err_code = nrf_drv_ppi_channel_assign(m_ppi_channel1, nrf_drv_timer_event_address_get(&amp;m_timer0, NRF_TIMER_EVENT_COMPARE0), nrf_drv_gpiote_out_task_addr_get(PD_SCK)); \/\/ \u0142\u0105czymy timer z wyj\u015bciem\n   APP_ERROR_CHECK(err_code);\n   err_code = nrf_drv_ppi_channel_enable(m_ppi_channel1); \/\/ w\u0142\u0105czamy kana\u0142\n   APP_ERROR_CHECK(err_code);\n   nrf_drv_gpiote_out_task_enable(PD_SCK); <\/code><\/pre>\n<p>\/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c gpiote<\/p>\n<p>Nast\u0119pnie inicjalizujemy modu\u0142 PPI i \u0142\u0105czymy nasz timer z wyj\u015bciem PD_SCL, aby generowa\u0107 impulsy o d\u0142ugo\u015bci 10 \u03bcs w momencie wyst\u0105pienia zdarzenia por\u00f3wnania, a tak\u017ce w\u0142\u0105czamy modu\u0142 GPIOTE.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\">\nnrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG; \/\/ domy\u015blnie\n   timer_cfg.frequency = NRF_TIMER_FREQ_1MHz; \/\/ taktowanie z cz\u0119stotliwo\u015bci\u0105 1MHz\n   ret_code_t err_code = nrf_drv_timer_init(&amp;m_timer0, &amp;timer_cfg, timer0_event_handler);\n   APP_ERROR_CHECK(err_code);\n   nrf_drv_timer_extended_compare(&amp;m_timer0,\n                                  NRF_TIMER_CC_CHANNEL0,\n                                  nrf_drv_timer_us_to_ticks(&amp;m_timer0,\n                                                            10),\n                                  NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK,\n                                  true); \/\/ aktywacja na podstawie por\u00f3wnania<\/code><\/pre>\n<p><\/p>\n<p> Inicjalizujemy timer zerowy i jego obs\u0142ug\u0119. <\/p>\n<pre><code class=\"cpp\">  if(m_counter%2 != 0 &amp;&amp; m_counter &lt;= 48){\n       buffer &lt;&lt;= 1; \/\/ zmienna z odczytanymi danymi\n        c_counter++; \/\/ licznik pozytywnych impuls\u00f3w\n           if(nrf_gpio_pin_read(DOUT)) buffer++; \/\/ odczytujemy stan wej\u015bcia\n   }\n<\/code><\/pre>\n<p><\/p>\n<p> Najciekawsze dzieje si\u0119 w obs\u0142udze timera. Okres impuls\u00f3w wynosi 20 \u03bcs. Interesuj\u0105 nas nieparzyste impulsy (na narastaj\u0105cym zboczu) i pod warunkiem, \u017ce ich liczba nie przekracza 24, a zdarze\u0144 - 48. Przy ka\u017cdym nieparzystym zdarzeniu nast\u0119puje odczyt DOUT. <\/p>\n<p><\/p>\n<p> Z karty danych wynika, \u017ce liczba impuls\u00f3w powinna wynosi\u0107 co najmniej 25, co odpowiada wzmocnieniu 128 (w kodzie u\u017cy\u0142em 25 impuls\u00f3w), to r\u00f3wnowa\u017cne 50 zdarzeniom timera, co wskazuje na zako\u0144czenie ramki danych. <\/p>\n<p><\/p>\n<pre><code class=\"cpp\"> ++m_counter; \/\/ licznik zdarze\u0144\nif(m_counter == 50){\n      nrf_drv_timer_disable(&amp;m_timer0); \/\/ wy\u0142\u0105czamy timer\n       m_simple_timer_state = SIMPLE_TIMER_STATE_STOPPED; \/\/\n       buffer = buffer ^ 0x800000;\n       hx711_stop(); \/\/ wy\u0142\u0105czamy hx711\n       }\n   <\/code><\/pre>\n<p><\/p>\n<p> Nast\u0119pnie wy\u0142\u0105czamy timer i przetwarzamy dane (zgodnie z kart\u0105 danych) oraz prze\u0142\u0105czamy HX711 w tryb niskiego zu\u017cycia energii. <\/p>\n<p><\/p>\n<pre><code class=\"cpp\">\nstatic void repeated_timer_handler(void * p_context)\n{\n   nrf_drv_gpiote_out_toggle(LED_2);\n   if(m_simple_timer_state == SIMPLE_TIMER_STATE_STOPPED){\n       hx711_start(); \/\/ w\u0142\u0105czamy hx711\n       nrf_drv_gpiote_out_toggle(LED_1);\n       m_simple_timer_state = SIMPLE_TIMER_STATE_STARTED;\n   }\n  \n}\n\/**@brief Utw\u00f3rz timery.\n*\/*\nstatic void create_timers()\n{\n   ret_code_t err_code;\n \n   \/\/ Utworzenie timer\u00f3w\n   err_code = app_timer_create(&amp;m_repeated_timer_id,\n                               APP_TIMER_MODE_REPEATED,\n                               repeated_timer_handler);\n   APP_ERROR_CHECK(err_code);\n}\n<\/code><\/pre>\n<p><\/p>\n<p> Czekamy na zdarzenie od zegara RTC co 10 s (to ju\u017c od Was zale\u017cy) w obs\u0142udze uruchamiamy HX711, wywo\u0142uj\u0105c przerwanie na linii DOUT.<\/p>\n<p>Jest jeszcze jeden aspekt, logi s\u0105 wyprowadzane przez UART (baud rate 115200, TX \u2014 pin 6, RX \u2014 pin 8) wszystkie ustawienia znajduj\u0105 si\u0119 w sdk_config.h.<\/p>\n<p><img decoding=\"async\" alt=\"Jak pod\u0142\u0105czy\u0107 przetwornik A\/C HX711 do NRF52832\" src=\"\/wp-content\/uploads\/2020\/09\/95a8f333227fe26cb8e9827b39bb6350.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3> Wnioski<\/h3>\n<p><\/p>\n<p>Dzi\u0119kuj\u0119 wszystkim za uwag\u0119, mam nadziej\u0119, \u017ce ten artyku\u0142 b\u0119dzie przydatny i skr\u00f3ci cenny czas potrzebny na znalezienie rozwi\u0105zania dla programist\u00f3w. Chc\u0119 powiedzie\u0107, \u017ce techniczne podej\u015bcie, kt\u00f3re wykorzystuje Nordic w swoich platformach, jest do\u015b\u0107 interesuj\u0105ce z punktu widzenia efektywno\u015bci energetycznej.<\/p>\n<p><\/p>\n<h3>P.S. <\/h3>\n<p><\/p>\n<p>Projekt jest jeszcze w fazie rozwoju, dlatego je\u015bli ta tematyka b\u0119dzie interesuj\u0105ca, w nast\u0119pnym artykule postaram si\u0119 opisa\u0107 algorytm kalibracji czujnik\u00f3w wagi, a tak\u017ce pod\u0142\u0105czenia stosu BLE.<\/p>\n<p><\/p>\n<h3> Materia\u0142y <\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/CiochinaVitalie\/nrf52832-HX711\">Kod projektu<\/a><\/noindex> <\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/cdn.sparkfun.com\/datasheets\/Sensors\/ForceFlex\/hx711_english.pdf\">Dane techniczne HX711 w j\u0119zyku angielskim<\/a><\/noindex><\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.iarduino.ru\/page\/hx_711_with_tenzo\/\">Opis dzia\u0142ania tensometr\u00f3w<\/a><\/noindex><\/li>\n<\/ul>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/521244\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041d\u0430 \u043f\u043e\u0432\u0435\u0441\u0442\u043a\u0435 \u0434\u043d\u044f \u0441\u0442\u043e\u044f\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440\u0430 nrf52832 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043b\u0443\u043c\u043e\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u043d\u0437\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438. \u0417\u0430\u0434\u0430\u0447\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043a\u0430\u043a\u043e\u0439 \u2014 \u043b\u0438\u0431\u043e \u0432\u043d\u044f\u0442\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u0435\u0435, \u0447\u0442\u043e \u00ab\u043a\u043e\u0440\u0435\u043d\u044c \u0437\u043b\u0430\u00bb \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0430\u043c\u043e\u043c SDK \u043e\u0442 Nordic Semiconductor \u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u0439, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0442\u0430\u043d\u043d\u043e\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95530,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95529","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041d\u0430 \u043f\u043e\u0432\u0435\u0441\u0442\u043a\u0435 \u0434\u043d\u044f \u0441\u0442\u043e\u044f\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440\u0430 nrf52832 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043b\u0443\u043c\u043e\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u043d\u0437\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438.\" \/>\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\/pl\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\u041a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0410\u0426\u041f HX711 \u043a NRF52832 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041d\u0430 \u043f\u043e\u0432\u0435\u0441\u0442\u043a\u0435 \u0434\u043d\u044f \u0441\u0442\u043e\u044f\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440\u0430 nrf52832 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043b\u0443\u043c\u043e\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u043d\u0437\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832\" \/>\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=\"2020-09-30T17:42:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-30T17:42:39+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\udd47Jak pod\u0142\u0105czy\u0107 ADC HX711 do NRF52832 | ProHoster","description":"1. Wprowadzenie Na porz\u0105dku dziennym sta\u0142o zadanie opracowania protoko\u0142u komunikacji mikrokontrolera nrf52832 z dwoma p\u00f3\u0142mostkowymi chi\u0144skimi tensometrami.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\u041a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0410\u0426\u041f HX711 \u043a NRF52832 | ProHoster","og:description":"1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041d\u0430 \u043f\u043e\u0432\u0435\u0441\u0442\u043a\u0435 \u0434\u043d\u044f \u0441\u0442\u043e\u044f\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440\u0430 nrf52832 \u0441 \u0434\u0432\u0443\u043c\u044f \u043f\u043e\u043b\u0443\u043c\u043e\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c\u0438 \u0442\u0435\u043d\u0437\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832","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":"2020-09-30T17:42:39+00:00","article:modified_time":"2020-09-30T17:42:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95529","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:03:23","updated":"2022-09-28 01:57:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/95529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=95529"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/95529\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/95530"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=95529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=95529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=95529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}