{"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\/sv\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832","title":{"rendered":"Hur man ansluter ADC HX711 till NRF52832","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h3>1. Inledning<\/h3>\n<p>\n Det fanns en uppgift att utveckla ett kommunikationsprotokoll f\u00f6r mikrokontrollern nrf52832 med tv\u00e5 halvbro Chinese tensedata-sensorer. <\/p>\n<p>Uppgiften visade sig vara sv\u00e5r, eftersom jag st\u00f6tte p\u00e5 bristen p\u00e5 tydlig information. Troligen ligger \"roten till problemet\" i sj\u00e4lva SDK:n fr\u00e5n Nordic Semiconductor \u2013 de kontinuerliga versionuppdateringarna, viss \u00f6verfl\u00f6dighet och f\u00f6rvirring i funktionaliteten. Jag var tvungen att skriva allt fr\u00e5n b\u00f6rjan. <\/p>\n<p><\/p>\n<p>Jag tycker att detta \u00e4mne \u00e4r ganska aktuellt med tanke p\u00e5 att denna chip har en BLE-stack och en hel upps\u00e4ttning av \"godbitar\" i energisparl\u00e4get. Men jag kommer inte att g\u00e5 djupt in i den tekniska delen, eftersom det har skrivits m\u00e5nga artiklar om detta \u00e4mne. <\/p>\n<p><\/p>\n<h3>2. Projektbeskrivning<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Hur man ansluter ADC HX711 till NRF52832\" src=\"\/wp-content\/uploads\/2020\/09\/f187e56e29b4f2e57ce0de3a5f2a0eab.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><b>H\u00e5rdvara:<\/b><\/p>\n<p><\/p>\n<ul>\n<li>Adafruit Feather nRF52 Bluefruit LE (det som fanns tillg\u00e4ngligt) <\/li>\n<li>ADC HX711 <\/li>\n<li>Kinesiska tensedata-sensorer 2 st. (50x2 kg) <\/li>\n<li>Programmerare ST-LINK V2 <\/li>\n<\/ul>\n<p><\/p>\n<p><b>Mjukvara:<\/b><\/p>\n<p><\/p>\n<ul>\n<li>IDE VSCODE<\/li>\n<li>NRF SDK 16<\/li>\n<li>OpenOCD<\/li>\n<li>Programmerare ST-LINK V2 <\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Allt finns i ett projekt, det kommer bara att kr\u00e4vas lite justering av Makefile (ange placeringen av din SDK). <\/p>\n<p><\/p>\n<h3>3. Kodbeskrivning<\/h3>\n<p><\/p>\n<p>Vi kommer att anv\u00e4nda GPIOTE-modulen f\u00f6r att arbeta med periferiutrustningen baserat p\u00e5 uppgift och h\u00e4ndelse, samt PPI-modulen f\u00f6r att \u00f6verf\u00f6ra data fr\u00e5n en periferieenhet till en annan utan processorinblandning.<\/p>\n<pre><code class=\"cpp\">ret_code_t err_code;\n   err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);\/\/\u043d\u0430\u0441\u0442\u0440\u0430\u0435\u0432\u0430\u0435\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\n   nrf_drv_gpiote_out_config_t config = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false);\/\/\u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0435\u0440\u0433\u0438\u0432\u0430\u0442\u044c \u043f\u0438\u043d \u0434\u043b\u044f \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430\n   err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);\/\/\u043d\u0430\u0441\u0442\u0440\u0430\u0435\u0432\u0430\u0435\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\n<\/code><\/pre>\n<p>\nVi st\u00e4ller in synkroniseringslinjen PD_SCL som utg\u00e5ng f\u00f6r att generera impulser med en varaktighet av 10 \u00b5s.<\/p>\n<pre><code class=\"cpp\">   nrf_drv_gpiote_in_config_t  gpiote_config = GPIOTE_CONFIG_IN_SENSE_HITOLO(false);\/\/ \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0443\u0440\u043e\u0432\u043d\u044f \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u043d\u0430 \u043d\u0438\u0437\u043a\u0438\u0439\n   nrf_gpio_cfg_input(DOUT, NRF_GPIO_PIN_NOPULL);\/\/ \u043d\u0430 \u0432\u0445\u043e\u0434 \u0431\u0435\u0437 \u043f\u043e\u0434\u0442\u044f\u0436\u043a\u0438\n   err_code = nrf_drv_gpiote_in_init(DOUT, &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);\/\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435\n    nrf_drv_timer_enable(&m_timer0);\/\/\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0430\u0439\u043c\u0435\u0440\n}\n <\/code><\/pre>\n<p><\/p>\n<p>Vi st\u00e4ller in datalinjen DOUT f\u00f6r att l\u00e4sa tillst\u00e5ndet av HX711:s beredskap, d\u00e4r ett l\u00e5g niv\u00e5 utl\u00f6ser en hanterare d\u00e4r vi st\u00e4nger av avbrottet och startar timern f\u00f6r att generera synkroniserande impulser p\u00e5 utg\u00e5ngen PD_SCL.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\"> err_code = nrf_drv_ppi_channel_alloc(&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(&m_timer0, NRF_TIMER_EVENT_COMPARE0),                                           nrf_drv_gpiote_out_task_addr_get(PD_SCK));\/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0430\u0439\u043c\u0435\u0440 \u043a \u0432\u044b\u0445\u043e\u0434\u0443\n   APP_ERROR_CHECK(err_code);\n   err_code = nrf_drv_ppi_channel_enable(m_ppi_channel1);\/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u0430\u043d\u0430\u043b\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>D\u00e4refter initierar vi PPI-modulen och kopplar v\u00e5r timer till utg\u00e5ngen PD_SCL f\u00f6r att generera impulser av 10 \u00b5s vid j\u00e4mf\u00f6relseh\u00e4ndelse, samt aktiverar GPIOTE-modulen.<\/p>\n<p><\/p>\n<pre><code class=\"cpp\">\nnrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG;\/\/ \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\n   timer_cfg.frequency = NRF_TIMER_FREQ_1MHz;\/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 1\u041c\u0433\u0446\n   ret_code_t err_code = nrf_drv_timer_init(&m_timer0, &timer_cfg, timer0_event_handler);\n   APP_ERROR_CHECK(err_code);\n   nrf_drv_timer_extended_compare(&m_timer0,\n                                  NRF_TIMER_CC_CHANNEL0,\n                                  nrf_drv_timer_us_to_ticks(&m_timer0,\n                                                            10),\n                                  NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK,\n                                  true);\/\/ \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e<\/code><\/pre>\n<p><\/p>\n<p> Vi initierar den nollade timern och dess hanterare. <\/p>\n<pre><code class=\"cpp\">  if(m_counter%2 != 0 && m_counter&lt;=48){\n       buffer &lt;&lt;= 1;\/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u044b\u0445\n        c_counter++;\/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445  \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043e\u0432\n           if(nrf_gpio_pin_read(DOUT))buffer++;\/\/\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0445\u043e\u0434\u0430\n   }\n<\/code><\/pre>\n<p><\/p>\n<p> Det mest intressanta sker i timerhanteraren. Perioden f\u00f6r impulserna \u00e4r 20 \u00b5s. Vi \u00e4r intresserade av udda impulser (vid stigande front) och under f\u00f6ruts\u00e4ttning att deras antal inte \u00f6verstiger 24 och h\u00e4ndelser - 48. Vid varje udda h\u00e4ndelse sker en avl\u00e4sning av DOUT. <\/p>\n<p><\/p>\n<p> Fr\u00e5n databladen framg\u00e5r att antalet impulser m\u00e5ste vara minst 25, vilket motsvarar en f\u00f6rst\u00e4rkningsfaktor p\u00e5 128 (i koden anv\u00e4nde jag 25 impulser), vilket \u00e4r ekvivalent med 50 timerh\u00e4ndelser som indikerar slutet av dataram. <\/p>\n<p><\/p>\n<pre><code class=\"cpp\"> ++m_counter;\/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0441\u043e\u0431\u044b\u0442\u0438\u0439\nif(m_counter==50){\n      nrf_drv_timer_disable(&m_timer0);\/\/ \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0430\u0439\u043c\u0435\u0440\n       m_simple_timer_state = SIMPLE_TIMER_STATE_STOPPED;\/\/\n       buffer = buffer ^ 0x800000;\n       hx711_stop();\/\/j\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c hx711\n       }\n   <\/code><\/pre>\n<p><\/p>\n<p> D\u00e4refter st\u00e4nger vi av timern och bearbetar data (enligt databladen) och s\u00e4tter HX711 i l\u00e5genergil\u00e4ge. <\/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      \thx711_start();\/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c hx711\n       nrf_drv_gpiote_out_toggle(LED_1);\n       m_simple_timer_state = SIMPLE_TIMER_STATE_STARTED;\n   }\n  \n}\n\/**@brief Create timers.\n*\/\nstatic void create_timers()\n{\n   ret_code_t err_code;\n \n   \/\/ Create timers\n   err_code = app_timer_create(&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> V\u00e4nta p\u00e5 h\u00e4ndelse fr\u00e5n RTC-timer med ett intervall p\u00e5 10 sek (detta \u00e4r upp till dig) i hanteraren startar vi HX711 genom att utl\u00f6sa en avbrott via DOUT-linjen.<\/p>\n<p>Det finns en annan aspekt, loggarna skrivs ut via UART (baud rate 115200, TX \u2014 pin 6, RX \u2014 pin 8) alla inst\u00e4llningar finns i sdk_config.h.<\/p>\n<p><img decoding=\"async\" alt=\"Hur man ansluter ADC HX711 till NRF52832\" src=\"\/wp-content\/uploads\/2020\/09\/95a8f333227fe26cb8e9827b39bb6350.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3> Slutsatser<\/h3>\n<p><\/p>\n<p>Tack alla f\u00f6r uppm\u00e4rksamheten, jag hoppas att denna artikel kommer att vara anv\u00e4ndbar och spara v\u00e4rdefull tid f\u00f6r utvecklare som letar efter l\u00f6sningar. Jag vill s\u00e4ga att den tekniska ansatsen som Nordic anv\u00e4nder i sina plattformar \u00e4r ganska intressant ur ett energieffektivitetsperspektiv.<\/p>\n<p><\/p>\n<h3>P.S. <\/h3>\n<p><\/p>\n<p>Projektet \u00e4r fortfarande under utveckling, s\u00e5 om detta \u00e4mne v\u00e4cker intresse kommer jag i n\u00e4sta artikel att f\u00f6rs\u00f6ka beskriva algoritmen f\u00f6r kalibrering av viktgivare samt anslutning av BLE-stacken.<\/p>\n<p><\/p>\n<h3> Material <\/h3>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/CiochinaVitalie\/nrf52832-HX711\">Projektkod<\/a><\/noindex> <\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/cdn.sparkfun.com\/datasheets\/Sensors\/ForceFlex\/hx711_english.pdf\">Datasheet f\u00f6r HX711 p\u00e5 engelska<\/a><\/noindex><\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.iarduino.ru\/page\/hx_711_with_tenzo\/\">Beskrivning av tensonens arbete<\/a><\/noindex><\/li>\n<\/ul>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Hur man ansluter ADC HX711 till NRF52832 | ProHoster","description":"1. Introduktion Fr\u00e5gan som diskuterades var att utveckla ett protokoll f\u00f6r kommunikation mellan mikrokontrollern nrf52832 och tv\u00e5 halvbrott kinesiska tensonensensorer.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/kak-podklyuchit-aczp-hx711-k-nrf52832","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/95529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=95529"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/95529\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/95530"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=95529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=95529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=95529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}