1. เดเดฎเตเดเด
เดฐเดฃเตเดเต เดนเดพเดซเต เดฌเตเดฐเดฟเดกเตเดเต เดเตเดจเตเดธเต เดธเตโเดเตเดฐเตเดฏเดฟเตป เดเตเดเตเดเดณเตเดณเตเดณ nrf52832 เดฎเตเดเตเดฐเตเดเตบเดเตเดฐเตเดณเดฑเดฟเดจเดพเดฏเดฟ เดเดฐเต เดเดฎเตเดฎเตเดฏเตเดฃเดฟเดเตเดเตเดทเตป เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเด เดเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เด เดเดฃเตเดเดฏเดฟเตฝ.
เดฌเตเดฆเตเดงเดฟเดชเดฐเดฎเดพเดฏ เดตเดฟเดตเดฐเดเตเดเดณเตเดเต เด เดญเดพเดตเด เดจเตเดฐเดฟเดเตเดเดคเดฟเดจเดพเตฝ, เดเตเดฎเดคเดฒ เดเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เดจเตเตผเดกเดฟเดเต เด เตผเดฆเตเดงเดเดพเดฒเดเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดจเตเดจเต "เดคเดฟเดจเตเดฎเดฏเตเดเต เดฑเตเดเตเดเต" SDK-เดฏเดฟเตฝ เดเดฏเดฟเดฐเดฟเดเตเดเดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดเต - เดจเดฟเดฐเดจเตเดคเดฐเดฎเดพเดฏ เดชเดคเดฟเดชเตเดชเต เด เดชเตเดกเตเดฑเตเดฑเตเดเตพ, เดเดฟเดฒ เดเดตเตผเดคเตเดคเดจเดเตเดเตพ, เดเดถเดฏเดเตเดเตเดดเดชเตเดชเดฎเตเดฃเตเดเดพเดเตเดเตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด. เดเดจเดฟเดเตเดเต เดเดฆเตเดฏเด เดฎเตเดคเตฝ เดเดฒเตเดฒเดพเด เดเดดเตเดคเตเดฃเตเดเดฟ เดตเดจเตเดจเต.
เด เดเดฟเดชเตเดชเดฟเดจเต เดเดฐเต BLE เดธเตเดฑเตเดฑเดพเดเตเดเตเด เดเตผเดเตเด เดธเดเดฐเดเตเดทเดฃ เดฎเตเดกเดฟเดจเดพเดฏเดฟ "เดเตเดกเตเดธเต" เดเดฐเต เดฎเตเดดเตเดตเตป เดธเตเดฑเตเดฑเตเด เดเดฃเตเดเตเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เด เดตเดฟเดทเดฏเด เดตเดณเดฐเต เดชเตเดฐเดธเดเตเดคเดฎเดพเดฃเตเดจเตเดจเต เดเดพเตป เดเดฐเตเดคเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เด เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดฒเตเดเดจเดเตเดเตพ เดเดดเตเดคเดฟเดฏเดคเดฟเดจเดพเตฝ เดเดพเตป เดธเดพเดเตเดเตเดคเดฟเด เดญเดพเดเดคเตเดคเตเดเตเดเต เดเตเดเตเดคเตฝ เดเดดเดคเตเดคเดฟเตฝ เดชเตเดเดฟเดฒเตเดฒ.
2. เดชเดฆเตเดงเดคเดฟเดฏเตเดเต เดตเดฟเดตเดฐเดฃเด
เดเดฐเตเดฎเตเดชเต:
- เด เดกเดพเดซเตเดฐเตเดเตเดเต เดซเตเดคเตผ nRF52 เดฌเตเดฒเตเดซเตเดฐเตเดเตเดเต LE (เดเตเดฏเดฟเตฝ เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเดคเต)
- ADC HX711
- เดเตเดจเตเดธเต เดธเตโเดเตเดฐเตเดฏเดฟเตป เดเตเดเตเดเตพ 2 เดชเตเดธเตเดเตพ. (50x2 เดเดฟ.เดเตเดฐเดพเด)
- เดชเตเดฐเตเดเตเดฐเดพเดฎเตผ ST-LINK V2
เดธเตเดซเตเดฑเตเดฑเตเดตเตเดฏเตผ:
- IDE VSCODE
- NRF SDK 16
- เดเดชเตเดชเตบ เดเดธเดฟเดกเดฟ
- เดชเตเดฐเตเดเตเดฐเดพเดฎเตผ ST-LINK V2
เดเดฒเตเดฒเดพเด เดเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเดฒเดพเดฃเต, เดจเดฟเดเตเดเตพ Makefile เดฎเดพเดฑเตเดฑเตเดฃเตเดเดคเตเดฃเตเดเต (เดจเดฟเดเตเดเดณเตเดเต SDK-เดฏเตเดเต เดธเตเดฅเดพเดจเด เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเด).
3. เดเตเดกเดฟเดจเตเดฑเต เดตเดฟเดตเดฐเดฃเด
เดเดพเดธเตโเดเตเดเตเดเดณเตเดเตเดฏเตเด เดเดตเดจเตเดฑเตเดเดณเตเดเตเดฏเตเด เดฌเตเตปเดกเดฟเดเดเดฟเดจเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดชเตเดฐเดฟเดซเดฑเดฒเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดเดเตเดเตพ GPIOTE เดฎเตเดกเตเดฏเตเดณเตเด เดเดฐเต เดชเตเดฐเตเดธเดธเดฑเดฟเดจเตเดฑเต เดชเดเตเดเดพเดณเดฟเดคเตเดคเดฎเดฟเดฒเตเดฒเดพเดคเต เดเดฐเต เดชเตเดฐเดฟเดซเดฑเดฒเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดฑเตเดฑเตเดจเตเดจเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดเตเดฎเดพเดฑเดพเตป PPI เดฎเตเดกเตเดฏเตเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเด.
ret_code_t err_code;
err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);//ะฝะฐัััะฐะตะฒะฐะตะผ ะฝะฐ ะฒัั
ะพะด
nrf_drv_gpiote_out_config_t config = GPIOTE_CONFIG_OUT_TASK_TOGGLE(false);//ะฑัะดะตะผ ะฟะตัะตะดะตัะณะธะฒะฐัั ะฟะธะฝ ะดะปั ะธะผะฟัะปััะฐ
err_code = nrf_drv_gpiote_out_init(PD_SCK, &config);//ะฝะฐัััะฐะตะฒะฐะตะผ ะฝะฐ ะฒัั
ะพะด
10 ฮผs เดฆเตเตผเดเตเดฏเดฎเตเดณเตเดณ เดชเตพเดธเตเดเตพ เดเดจเดฑเตเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตพ PD_SCL เดธเดฟเตปเดเตเดฐเตเดฃเตเดธเตเดทเตป เดฒเตเตป เดเดเตเดเตโเดชเตเดเตเดเดฟเดฒเตเดเตเดเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเต.
nrf_drv_gpiote_in_config_t gpiote_config = GPIOTE_CONFIG_IN_SENSE_HITOLO(false);// ะฟะตัะตั
ะพะด ััะพะฒะฝั ั ะฒััะพะบะพะณะพ ะฝะฐ ะฝะธะทะบะธะน
nrf_gpio_cfg_input(DOUT, NRF_GPIO_PIN_NOPULL);// ะฝะฐ ะฒั
ะพะด ะฑะตะท ะฟะพะดััะถะบะธ
err_code = nrf_drv_gpiote_in_init(DOUT, &gpiote_config, gpiote_evt_handler);
static void gpiote_evt_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
nrf_drv_gpiote_in_event_disable(DOUT);//ะพัะบะปััะฐะตะผ ะฟัะตััะฒะฐะฝะธะต
nrf_drv_timer_enable(&m_timer0);//ะฒะบะปััะฐะตะผ ัะฐะนะผะตั
}
HX711-เดจเตเดฑเต เดคเดฏเตเดฏเดพเดฑเตเดเตเดชเตเดชเต เดจเดฟเดฒ เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดเตเดเตพ DOUT เดกเดพเดฑเตเดฑเดพ เดฒเตเตป เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดจเตเดจเต; เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดเดฐเต เดนเดพเตปเดกเตโเดฒเตผ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเด, เด เดคเดฟเตฝ เดเดเตเดเตพ เดเดจเตเดฑเดฑเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดเตเดเตเดเดฏเตเด PD_SCL เดเดเตเดเตโเดชเตเดเตเดเดฟเตฝ เดเตเดฒเตเดเตเดเต เดชเตพเดธเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดฐเต เดเตเดฎเตผ เดเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
err_code = nrf_drv_ppi_channel_alloc(&m_ppi_channel1);
APP_ERROR_CHECK(err_code);
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));// ะฟะพะดะบะปััะฐะตะผ ัะฐะนะผะตั ะบ ะฒัั
ะพะดั
APP_ERROR_CHECK(err_code);
err_code = nrf_drv_ppi_channel_enable(m_ppi_channel1);// ะฒะบะปััะฐะตะผ ะบะฐะฝะฐะป
APP_ERROR_CHECK(err_code);
nrf_drv_gpiote_out_task_enable(PD_SCK);
// gpiote เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเตเด
เด เดคเดฟเดจเตเดถเตเดทเด, เดเดเตเดเตพ PPI เดฎเตเดกเตเดฏเตเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด เดเดฐเต เดคเดพเดฐเดคเดฎเตเดฏ เดเดตเดจเตเดฑเต เดธเดเดญเดตเดฟเดเตเดเตเดฎเตเดชเตเตพ 10 ฮผs เดฆเตเตผเดเตเดฏเดฎเตเดณเตเดณ เดชเตพเดธเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต PD_SCL เดเดเตเดเตโเดชเตเดเตเดเดฟเดฒเตเดเตเดเต เดเดเตเดเดณเตเดเต เดเตเดฎเตผ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด GPIOTE เดฎเตเดกเตเดฏเตเตพ เดเดฃเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
nrf_drv_timer_config_t timer_cfg = NRF_DRV_TIMER_DEFAULT_CONFIG;// ะฟะพ ัะผะพะปัะฐะฝะธั
timer_cfg.frequency = NRF_TIMER_FREQ_1MHz;// ัะฐะบัะธััะตะผ ะฝะฐ ัะฐััะพัะต 1ะะณั
ret_code_t err_code = nrf_drv_timer_init(&m_timer0, &timer_cfg, timer0_event_handler);
APP_ERROR_CHECK(err_code);
nrf_drv_timer_extended_compare(&m_timer0,
NRF_TIMER_CC_CHANNEL0,
nrf_drv_timer_us_to_ticks(&m_timer0,
10),
NRF_TIMER_SHORT_COMPARE0_CLEAR_MASK,
true);// ััะฐะฑะฐััะฒะฐะตั ะฟะพ ััะฐะฒะฝะตะฝะธั
เดธเตเดฑเต เดเตเดฎเดฑเตเด เด เดคเดฟเดจเตเดฑเต เดนเดพเตปเดกเตโเดฒเดฑเตเด เดเดเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต.
if(m_counter%2 != 0 && m_counter<=48){
buffer <<= 1;// ะฟะตัะตะผะตะฝะฝะฐั ััะธัะฐะฝะฝัั
ะดะฐะฝัั
c_counter++;// ััะตััะธะบ ะฟะพะปะพะถะธัะตะปัะฝัั
ะธะผะฟัะปััะพะฒ
if(nrf_gpio_pin_read(DOUT))buffer++;//ััะธััะฒะฐะตะผ ัะพััะพัะฝะธะต ะฒั
ะพะดะฐ
}
เดเดฑเตเดฑเดตเตเด เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเด เดเตเดฎเตผ เดนเดพเตปเดกเตโเดฒเดฑเดฟเตฝ เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเต. เดชเตพเดธเต เดเดพเดฒเดฏเดณเดตเต 20 ฮผs เดเดฃเต. เดตเดฟเดเดฟเดคเตเดฐเดฎเดพเดฏ เดชเตพเดธเตเดเดณเดฟเตฝ (เดเดฏเดฐเตเดจเตเดจ เด เดฐเดฟเดเดฟเตฝ) เดเดเตเดเตพเดเตเดเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเต, เดเตเดเดพเดคเต เด เดตเดฏเตเดเต เดเดฃเตเดฃเด 24-เตฝ เดเตเดเดฐเตเดคเต, เดเตเดเดพเดคเต 48 เดเดตเดจเตเดฑเตเดเตพ เดเดฃเตเดเต. เดเดฐเต เดเดฑเตเดฑ เดธเดเดญเดตเดคเตเดคเดฟเดจเตเด, DOUT เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเต
เดกเดพเดฑเตเดฑเดพเดทเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต, เดชเตพเดธเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเตเดฑเดเตเดเดคเต 25 เดเดฏเดฟเดฐเดฟเดเตเดเดฃเด, เด เดคเต 128 เดจเตเดฑเต เดจเตเดเตเดเดตเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดจเตเดจเต (เดเดพเตป 25 เดชเตพเดธเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเด เดเตเดกเดฟเตฝ), เดเดคเต 50 เดเตเดฎเตผ เดเดตเดจเตเดฑเตเดเตพเดเตเดเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต, เดเดคเต เดกเดพเดฑเตเดฑ เดซเตเดฐเตเดฏเดฟเดฎเดฟเดจเตเดฑเต เด เดตเดธเดพเดจเดคเตเดคเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
++m_counter;// ััะตััะธะบ ัะพะฑััะธะน
if(m_counter==50){
nrf_drv_timer_disable(&m_timer0);// ะพัะบะปััะฐะตะผ ัะฐะนะผะตั
m_simple_timer_state = SIMPLE_TIMER_STATE_STOPPED;//
buffer = buffer ^ 0x800000;
hx711_stop();//jะพัะบะปััะฐะตะผ hx711
}
เดเดคเดฟเดจเตเดถเตเดทเด, เดเดเตเดเตพ เดเตเดฎเตผ เดเดซเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดกเดพเดฑเตเดฑ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดเดฏเตเด (เดกเดพเดฑเตเดฑเดพเดทเตเดฑเตเดฑเต เด เดจเตเดธเดฐเดฟเดเตเดเต) HX711 เดเตเดฑเดเตเด เดชเดตเตผ เดเดชเดญเตเด เดฎเตเดกเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
static void repeated_timer_handler(void * p_context)
{
nrf_drv_gpiote_out_toggle(LED_2);
if(m_simple_timer_state == SIMPLE_TIMER_STATE_STOPPED){
hx711_start();// ะฒะบะปััะฐะตะผ hx711
nrf_drv_gpiote_out_toggle(LED_1);
m_simple_timer_state = SIMPLE_TIMER_STATE_STARTED;
}
}
/**@brief Create timers.
*/
static void create_timers()
{
ret_code_t err_code;
// Create timers
err_code = app_timer_create(&m_repeated_timer_id,
APP_TIMER_MODE_REPEATED,
repeated_timer_handler);
APP_ERROR_CHECK(err_code);
}
RTC เดเตเดฎเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต 10 เดธเตเดเตเดเดจเตเดฑเต เดเดเดตเตเดณเดฏเตเดณเตเดณ เดเดตเดจเตเดฑเตเดเตพ เดเดเตเดเตพ เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต (เดเดคเต เดจเดฟเดเตเดเดณเตเดเต เดตเดฟเดตเตเดเดจเดพเดงเดฟเดเดพเดฐเดคเตเดคเดฟเดฒเดพเดฃเต) เดเตเดเดพเดคเต DOUT เดฒเตเดจเดฟเตฝ เดคเดเดธเตเดธเดฎเตเดฃเตเดเดพเดเตเดเตเดจเตเดจ เดนเดพเตปเดกเตโเดฒเดฑเดฟเตฝ HX711 เดฒเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดฐเต เดชเตเดฏเดฟเดจเตเดฑเต เดเตเดเดฟเดฏเตเดฃเตเดเต, เดฒเตเดเตเดเตพ UART เดตเดดเดฟ เดเดเตเดเตโเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเต (เดฌเตเดกเต เดจเดฟเดฐเดเตเดเต 115200, TX - 6 เดชเดฟเตปเดธเต, RX - 8 เดชเดฟเตปเดธเต) เดเดฒเตเดฒเดพ เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเดณเตเด sdk_config.h-เดฒเดพเดฃเต.
เดเดฃเตเดเตเดคเตเดคเดฒเตเดเตพ
เดจเดฟเดเตเดเดณเตเดเต เดถเตเดฐเดฆเตเดงเดฏเตเดเตเดเต เดเดฒเตเดฒเดพเดตเตผเดเตเดเตเด เดจเดจเตเดฆเดฟ, เด เดฒเตเดเดจเด เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดเตเดฎเตเดจเตเดจเตเด เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเต เดชเดฐเดฟเดนเดพเดฐเด เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดฒเดชเตเดชเตเดเตเด เดธเดฎเดฏเด เดเตเดฑเดฏเตเดเตเดเตเดฎเตเดจเตเดจเตเด เดเดพเตป เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. เดเตผเดเตเด เดเดพเดฐเตเดฏเดเตเดทเดฎเดคเดฏเตเดเต เดตเตเดเตเดทเดฃเดเตเดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเตผเดกเดฟเดเต เด เดคเดฟเดจเตเดฑเต เดชเตเดฒเดพเดฑเตเดฑเตเดซเตเดฎเตเดเดณเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดธเดพเดเตเดเตเดคเดฟเด เดธเดฎเตเดชเดจเด เดตเดณเดฐเต เดฐเดธเดเดฐเดฎเดพเดฃเตเดจเตเดจเต เดเดพเตป เดชเดฑเดฏเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต.
เดชเดฟ.เดเดธเต
เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเดชเตเดชเตเดดเตเด เดตเดฟเดเดธเดจเดคเตเดคเดฟเดฒเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เด เดตเดฟเดทเดฏเด เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เด เดเตเดคเตเดค เดฒเตเดเดจเดคเตเดคเดฟเตฝ เดญเดพเดฐเด เดธเตเตปเดธเดฑเตเดเตพ เดเดพเดฒเดฟเดฌเตเดฐเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด BLE เดธเตเดฑเตเดฑเดพเดเตเดเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด เตฝเดเตเดฐเดฟเดคเด เดตเดฟเดตเดฐเดฟเดเตเดเดพเตป เดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเด.
เดตเดธเตเดคเตเดเตเดเตพ
เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเตเดกเต -
เดเดเดเตเดฒเตเดทเดฟเดฒเตเดณเตเดณ HX711-เดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดพเดทเตเดฑเตเดฑเต -
เดธเตเดเตเดฐเตเดฏเดฟเตป เดเตเดเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดตเดฟเดตเดฐเดฃเด
เด เดตเดฒเดเดฌเด: www.habr.com