เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจนเจพเจฌเจฐ 'เจคเฉ‡ "DIY เจœเจพเจ‚ เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจ•เจฐเฉ‹" เจญเจพเจ— เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจชเจพเจ เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเฉเจญเจ•เจพเจฎเจจเจพเจตเจพเจ‚! เจ…เฉฑเจœ เจฆเจพ เจฒเฉ‡เจ– TTP223 เจšเจฟเฉฑเจช 'เจคเฉ‡ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš เจฌเจพเจฐเฉ‡ เจนเฉ‹เจตเฉ‡เจ—เจพ | เจกเจพเจŸเจพ เจธเจผเฉ€เจŸ. เจธเจตเจฟเฉฑเจš nRF52832 เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ | เจกเจพเจŸเจพ เจธเจผเฉ€เจŸ, เจ‡เฉฑเจ• เจชเฉเจฐเจฟเฉฐเจŸเจก เจเจ‚เจŸเฉ€เจจเจพ เจตเจพเจฒเจพ เจ‡เฉฑเจ• YJ-17103 เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ MHF4 เจเจ‚เจŸเฉ€เจจเจพ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจจเฉˆเจ•เจŸเจฐ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš CR2430 เจœเจพเจ‚ CR2450 เจฌเฉˆเจŸเจฐเฉ€เจ†เจ‚ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจŸเฉเจฐเจพเจ‚เจธเจฎเจฟเจŸ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ–เจชเจค 8 mA เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉˆ, เจธเจฒเฉ€เจช เจฎเฉ‹เจก เจตเจฟเฉฑเจš 6 ยตA เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจชเจฟเจ›เจฒเฉ‡ เจธเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚, เจ‡เจน เจตเฉ€ เจ‡เฉฑเจ• เจ…เจฐเจกเจฟเจจเฉ‹ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจนเฉˆ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ…เจฐเจกเฉ‚เจจเฉ‹ IDE เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจกเจฟเจตเจพเจˆเจธ เจฆเจพ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ Mysensors เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ | GitHub เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚, nRF5 เจฌเฉ‹เจฐเจก GitHub เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ Mysensors เจตเจฟเฉฑเจš. เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€-เจญเจพเจธเจผเจพ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจซเฉ‹เจฐเจฎ - http://forum.mysensors.org, เจฐเฉ‚เจธเฉ€-เจญเจพเจธเจผเจพ เจญเจพเจˆเจšเจพเจฐเจพ เจซเฉ‹เจฐเจฎ - http://mysensors.ru/forum/
(เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจœเฉ‹ เจชเฉœเฉเจนเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจจ - เจฆเจธเจคเจพเจตเฉ‡เจœเจผ, เจธเฉ€เจฐเฉ€เจ…เจฒ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ, API, เจชเจฐเฉ‹เจŸเฉ‹เจ•เจพเจฒ, เจชเจพเจฐเจธเจฐ | เจฎเจฆเจฆ เจ•เจฐเจจ เจฆเฉ‡ เจšเจพเจนเจตเจพเจจเจพเจ‚ เจฒเจˆ (เจฏเฉ‹เจ—เจฆเจพเจจ) เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจตเจฟเฉฑเจš - เจฆเจธเจคเจพเจตเฉ‡เจœเจผ)

เจฒเฉ‡เจœเจผเจฐ เจ†เจ‡เจฐเจจเจฟเฉฐเจ— เจŸเฉˆเจ•เจจเจพเจฒเฉ‹เจœเฉ€ (LUT) เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจฌเจพเจ…เจฆ เจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจฃ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, เจŸเจš เจธเจตเจฟเฉฑเจš เจฌเฉ‹เจฐเจก เจจเฉ‚เฉฐ เจกเฉ€เจชเจŸเจฐเฉ‡เจธ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจตเจฟเฉฑเจš เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจฌเฉ‹เจฐเจก เจจเฉ‚เฉฐ 60x60mm เจฆเฉ‡ เจฎเจพเจชเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ (เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐเฉ€ เจ•เฉฑเจš เจฆเฉ‡ เจชเฉˆเจจเจฒ เจตเจฟเฉฑเจš 80x80mm เจฆเฉ‡ เจฎเจพเจช เจนเฉเฉฐเจฆเฉ‡ เจนเจจ)เฅค เจธเจฐเจ•เจŸ เจจเฉ‚เฉฐ เจเจ‚เจŸเฉ€เจจเจพ เจฎเฉˆเจ—เจœเจผเฉ€เจจ เจฆเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ 'เจคเฉ‡ เจ›เจพเจชเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ "เจฒเฉˆเจจ" เจธเฉˆเจŸเจฟเฉฐเจ— (เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง เจชเจพเจตเจฐ) เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจกเจฌเจฒ-เจธเจพเจˆเจก เจซเฉ‹เจ‡เจฒ เจซเจพเจˆเจฌเจฐเจ—เจฒเจพเจธ เจฌเฉ‹เจฐเจก 1.5mm, 35ยตm (เจฆเฉ‚เจœเฉ‡ เจฆเฉ€ เจ—เฉˆเจฐ-เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจตเจฟเฉฑเจš) 'เจคเฉ‡ เจฌเฉ‹เจธเจผ เจ†เจ‡เจฐเจจ เจจเจพเจฒ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจเจšเจฟเฉฐเจ— เจซเฉˆเจฐเจฟเจ• เจ•เจฒเฉ‹เจฐเจพเจˆเจก เจฆเฉ‡ เจ˜เฉ‹เจฒ เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ 1.5 เจšเจฎเจšเฉ‡ เจชเฉเจฐเจคเฉ€ 250 เจฎเจฟเจฒเฉ€เจฒเฉ€เจŸเจฐ เจ—เจฐเจฎ เจชเจพเจฃเฉ€ เจฆเฉ‡ เจ…เจจเฉเจชเจพเจค เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ 15 เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ— เจ—เจ.
เจ‡เฉฐเจŸเจฐเจฒเฉ‡เจ…เจฐ เจตเจฟเจ…เจธ เจฒเจˆ เจ…เจคเฉ‡ เจฌเฉˆเจŸเจฐเฉ€ เจงเจพเจฐเจ• เจจเฉ‚เฉฐ เจฌเฉฐเจจเฉเจนเจฃ เจฒเจˆ เจ›เฉ‡เจ•เจพเจ‚ เจจเฉ‚เฉฐ DREMEL 3000 เจกเฉเจฐเจฟเจฒ เจธเจŸเฉˆเจ‚เจก 'เจคเฉ‡ เจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเฉ‡ DREMEL 220 เจฎเจฟเฉฐเจจเฉ€-เจกเจฐเจฟเจฒ เจจเจพเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ‡เฉฐเจŸเจฐเจฒเฉ‡เจ…เจฐ เจตเจฟเจ…เจธ เจฒเจˆ เจ›เฉ‡เจ• 0,4mm เจกเจฐเจฟเจฒ เจจเจพเจฒ เจกเฉเจฐเจฟเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจฌเฉˆเจŸเจฐเฉ€ เจงเจพเจฐเจ• เจฒเจˆ 1,1mm เจกเจฐเจฟเจฒ เจจเจพเจฒ เจ›เฉ‡เจ• เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจเฅค . เจฌเฉ‹เจฐเจก เจฆเฉ€เจ†เจ‚ เจ•เจฟเจจเจพเจฐเจฟเจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจŸเฉเจฐเจฟเจฎเจฟเฉฐเจ— DREMEL 540 เจ…เจŸเฉˆเจšเจฎเฉˆเจ‚เจŸ (เจ•เจŸเจฟเฉฐเจ— เจธเจฐเจ•เจฒ d=32.0mm) เจฆเฉ‡ เจจเจพเจฒ เจ‰เจธเฉ‡ เจฎเจฟเฉฐเจจเฉ€-เจกเจฐเจฟเฉฑเจฒ เจจเจพเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจ›เจพเจ‚เจŸเฉ€ เจ‡เฉฑเจ• เจธเจพเจน เจฒเฉˆเจฃ เจตเจพเจฒเฉ‡ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€.
เจจเฉฑเจ•เจพเจธเจผเฉ€ เจตเจพเจฒเฉ‡ เจฌเฉ‹เจฐเจก เจฆเฉ€ เจŸเจฟเจจเจฟเฉฐเจ— เจ‡เฉฑเจ• เจœเจฒเจฎเจˆ เจ˜เฉ‹เจฒ (เจชเฉเจฐเจคเฉ€ 1 เจฎเจฟ.เจฒเฉ€. เจชเจพเจฃเฉ€ เจชเฉเจฐเจคเฉ€ 300 เจšเจฎเจš เจ•เฉเจฐเจฟเจธเจŸเจฒเจพเจˆเจœเจผเจก เจธเจฟเจŸเจฐเจฟเจ• เจเจธเจฟเจก) เจตเจฟเฉฑเจš เจฐเฉ‹เจœเจผ เจเจฒเฉ‹เจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจธเฉ‹เจฒเจกเจฐเจฟเฉฐเจ— เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจ˜เฉฐเจŸเจพ เจฒเฉฑเจ—เจฟเจ†, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเจฎเจพเจ‚ เจ‡เฉฐเจŸเจฐเจฒเฉ‡เจ…เจฐ เจตเจฟเจ…เจธ เจฒเจˆ เจ›เฉ‡เจ•เจพเจ‚ เจตเจฟเฉฑเจš เจธเฉ‹เจฒเจกเจฐเจฟเฉฐเจ— เจคเจพเจฐ (เจŸเจฟเจจเจก, 0.4 เจฎเจฟเจฒเฉ€เจฎเฉ€เจŸเจฐ เจตเจฟเจ†เจธ) เจตเจฟเฉฑเจš เจฌเจฟเจคเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค

เจฌเฉ‹เจฐเจก เจจเฉ‚เฉฐ FLUX OFF เจเจฐเฉ‹เจธเฉ‹เจฒ เจ•เจฒเฉ€เจจเจฐ เจจเจพเจฒ เจงเฉ‹เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจกเจฟเจตเจพเจˆเจธ เจฌเจพเจกเฉ€ เจฆเจพ เจกเจฟเจœเจผเจพเจˆเจจ เจคเจฟเฉฐเจจ-เจ…เจฏเจพเจฎเฉ€ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ-เจธเจนเจพเจ‡เจคเจพ เจตเจพเจฒเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจเจกเฉ€เจŸเจฐ เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ•เฉ‡เจธ เจฎเจพเจช 78,5mm X 78,5mm X 12mmเฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจ•เฉ‡เจธ เจ…เจคเฉ‡ เจฌเฉˆเจŸเจฐเฉ€ เจ•เฉฐเจชเจพเจฐเจŸเจฎเฉˆเจ‚เจŸ เจ•เจตเจฐ เจฆเจพ เจชเฉ‚เจฐเจพ เจฎเจพเจกเจฒ STL เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจซเจฟเจฐ เจ‡เจนเจจเจพเจ‚ เจฎเจพเจกเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• SLA เจชเฉเจฐเจฟเฉฐเจŸเจฐ (เจธเจนเจพเจ‡เจคเจพ, เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจเจพ) 'เจคเฉ‡ เจชเฉเจฐเจฟเฉฐเจŸเจฟเฉฐเจ— เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€เฅค เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡, เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจชเฉˆเจฆเจพ เจนเฉ‹เจˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ˜เจฐเฉ‡เจฒเฉ‚ SLA เจชเฉเจฐเจฟเฉฐเจŸเจฐเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฟเฉฐเจŸ เจ–เฉ‡เจคเจฐ เจ›เฉ‹เจŸเจพ เจนเฉˆเฅค เจชเฉเจฐเจฟเฉฐเจŸเจฟเฉฐเจ— เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจ…เจจเฉเจ•เฉ‚เจฒ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจกเจฟเจตเจพเจˆเจธ เจ•เฉ‡เจธ เจฆเจพ เจฎเจพเจกเจฒ เจชเฉเจฐเจฟเฉฐเจŸเจฟเฉฐเจ— เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจฎเจพเจชเจพเจ‚ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ 45 เจกเจฟเจ—เจฐเฉ€ 'เจคเฉ‡ เจฐเฉฑเจ–เจฃ เจตเฉ‡เจฒเฉ‡, เจ‡เจธ เจจเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจฐเจพเจธเจผเจพเจœเจจเจ• เจจเจคเฉ€เจœเจพ เจตเฉ€ เจฆเจฟเฉฑเจคเจพ, เจธเจฎเจฐเจฅเจจ เจฆเจพ เจญเจพเจฐ เจธเจฐเฉ€เจฐ เจฆเฉ‡ เจฎเจพเจกเจฒ เจฆเฉ‡ เจญเจพเจฐ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจธเฉ€. เจชเฉ‹เจธเจŸ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฆเฉ‡ เจคเฉฑเจฅ เจจเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจนเจฟเจฎเจค เจนเฉ‹ เจ•เฉ‡, เจธเจพเจนเจฎเจฃเฉ‡ เจตเจพเจฒเฉ‡ เจชเจพเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเจฎเจฐเจฅเจจ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ, เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจฒเฉฐเจฌเจ•เจพเจฐเฉ€ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ›เจพเจชเจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€. 5 เจฎเจพเจˆเจ•เจฐเฉ‹เจจ เจฆเฉ€ เจฒเฉ‡เจ…เจฐ เจธเฉˆเจŸเจฟเฉฐเจ— เจจเจพเจฒ เจฌเจพเจกเฉ€ เจจเฉ‚เฉฐ เจ›เจพเจชเจฃ เจตเจฟเฉฑเจš 50 เจ˜เฉฐเจŸเฉ‡ เจฒเฉฑเจ—เฉ‡เฅค เจ…เฉฑเจ—เฉ‡, เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฌเจนเฉเจค เจฌเจฐเฉ€เจ•-เจฆเจพเจฃเฉ‡ เจตเจพเจฒเฉ‡ เจธเฉˆเจ‚เจกเจชเฉ‡เจชเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ (เจฎเฉˆเจ‚ เจจเฉฐเจฌเจฐ เจจเจนเฉ€เจ‚ เจฒเจฟเจ–เจพเจ‚เจ—เจพ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจชเจคเจพ :))เฅค เจฌเฉˆเจŸเจฐเฉ€ เจ•เจตเจฐ เจจเฉ‚เฉฐ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš 40 เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ—เฉ‡เฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

Aliexpress เจคเฉ‹เจ‚ เจ—เจฒเจพเจธ เจชเฉˆเจจเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจšเจฟเจชเจ•เจฟเจ† เจนเฉ‹เจ‡เจ† เจชเจฒเจพเจธเจŸเจฟเจ• เจซเจฐเฉ‡เจฎ เจจเจพเจฒ เจตเฉ‡เจšเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ; เจซเจฐเฉ‡เจฎ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจธเจฎเฉฑเจธเจฟเจ† เจจเจนเฉ€เจ‚ เจธเฉ€. เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจจเจฟเจฏเจฎเจค เจนเฉ‡เจ…เจฐ เจกเฉเจฐเจพเจ‡เจฐ เจจเจพเจฒ เจชเฉเจฐเฉ€เจนเฉ€เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉฑเจš เจฆเฉ‡ เจชเฉˆเจจเจฒ เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพเฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

LED เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจฒเจˆ เจกเจฟเจซเจฟเจŠเจœเจผเจฐ เจเจ•เจฐเฉ€เจฒเจฟเจ• เจ…เจกเฉˆเจธเจฟเจต 3M 9088-200 เจฆเฉ‡ เจจเจพเจฒ เจกเจฌเจฒ-เจธเจพเจˆเจก เจŸเฉ‡เจช เจฆเจพ เจฌเจฃเจฟเจ† เจนเฉ‹เจ‡เจ† เจธเฉ€เฅค เจซเจฒเฉ‹เจฐเฉ‹เจธเฉˆเจ‚เจŸ เจฐเฉ‹เจธเจผเจจเฉ€ เจฒเจˆ, เจšเฉเจฃเจจ เจฒเจˆ เจ•เจˆ เจธเจฎเฉฑเจ—เจฐเฉ€เจ†เจ‚ เจธเจจ, เจšเฉ€เจจเฉ€ เจšเจฟเจชเจ•เจฃ เจตเจพเจฒเฉ€ เจŸเฉ‡เจช เจ…เจคเฉ‡ เจšเจฟเจชเจ•เจฃ เจตเจพเจฒเจพ เจ•เจพเจ—เจœเจผ เจ˜เจฐเฉ‡เจฒเฉ‚ เจ•เฉฐเจชเจจเฉ€ เจฒเฉ‚เจฎเจฟเจจเฉ‹เจซเฉ‹เจฐ เจคเฉ‹เจ‚ เจŸเฉ‡เจชเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจšเฉ‹เจฃ เจ‡เฉฑเจ• เจ˜เจฐเฉ‡เจฒเฉ‚ เจจเจฟเจฐเจฎเจพเจคเจพ เจฆเฉ‡ เจนเฉฑเจ• เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€; เจฎเฉ‡เจฐเฉ€ เจญเจพเจตเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจน เจšเจฎเจ•เจฆเจพเจฐ เจ…เจคเฉ‡ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจšเจฎเจ•เจฟเจ†. เจซเจฒเฉ‹เจฐเฉ‹เจธเฉˆเจ‚เจŸ เจชเจฟเจ—เจฎเฉˆเจ‚เจŸ เจตเจพเจฒเฉ‡ เจ•เจพเจ—เจœเจผ เจฆเจพ เจตเจฐเจ— 3M 9088-200 เจกเจฌเจฒ-เจธเจพเจˆเจก เจŸเฉ‡เจช เจจเจพเจฒ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจšเจฟเจชเจ•เจฟเจ† เจนเฉ‹เจ‡เจ† เจธเฉ€เฅค

เจ—เจฒเจพเจธ เจจเฉ‚เฉฐ 3M VHB 4910 เจเจ•เจฐเฉ€เจฒเจฟเจ• เจ…เจกเฉˆเจธเจฟเจต เจจเจพเจฒ เจกเจฌเจฒ-เจธเจพเจˆเจก เจŸเฉ‡เจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเจตเจฟเฉฑเจš เจฌเจพเจกเฉ€ เจจเจพเจฒ เจšเจฟเจชเจ•เจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค
เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจ•เจตเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉ‡เจš M 1,4 X 5 mm เจจเจพเจฒ เจซเจฟเจ•เจธ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจกเจฟเจตเจพเจˆเจธ เจฆเฉ€ เจ•เฉ€เจฎเจค 890 เจฐเฉ‚เจฌเจฒ เจธเฉ€.

เจ…เจ—เจฒเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจญเจพเจ— เจ†เจ‡เจ†เฅค เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจธเจจเฅค เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ TTP223 เจธเฉˆเจ‚เจธเจฐ เจšเจฟเจชเจธ เจ‡เฉฑเจ• เจธเจฅเจฟเจฐ 3.3V เจชเจพเจตเจฐ เจธเจชเจฒเจพเจˆ เจฆเฉ‡ เจจเจพเจฒ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจกเจฟเจธเจšเจพเจฐเจœ เจ•เฉ€เจคเฉ€ เจฌเฉˆเจŸเจฐเฉ€ เจคเฉ‹เจ‚ เจธเจฟเฉฑเจงเจพ เจชเจพเจตเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค 2.5v เจฆเฉ‡ เจ†เจธเจชเจพเจธ เจชเจพเจตเจฐ เจธเจชเจฒเจพเจˆ เจฆเฉ‡ เจจเจพเจฒ เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจจเจพเจฒ เจนเฉ€ เจฎเจพเจˆเจธเฉ‡เจ‚เจธเจฐ เจชเฉเจฐเจธเจคเฉเจคเฉ€ เจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ "เจกเจฐเจพเจ…เจกเจพเจŠเจจ" เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, TTP223 เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจ•เจฟเจŸ (เจ•เฉˆเจฒเฉ€เจฌเฉเจฐเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ) เจจเฉ‡ MK เจตเจฟเฉฑเจš เจฐเฉเจ•เจพเจตเจŸ เจชเฉˆเจฆเจพ เจ•เฉ€เจคเฉ€ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจธเจฐเจ—เจฐเจฎ เจŸเจฐเจฟเฉฑเจ—เจฐ เจฆเฉ‡ เจจเจพเจฒ เจธเฉ€เฅค

เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจ•เจฟเจŸ เจจเฉ‚เฉฐ เจชเจพเจตเจฐ เจธเจชเจฒเจพเจˆ เจธเจฐเจ•เจŸ เจฌเจฆเจฒเจฟเจ† เจ—เจฟเจ† เจธเฉ€ (เจœเฉ€เจชเฉ€เจ“ เจเจฎเจ•เฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจชเจพเจตเจฐ เจชเฉเจฐเจฌเฉฐเจงเจจ TTP223), เจตเจพเจงเฉ‚ เจœเจผเจฎเฉ€เจจ เจฆเฉ€ เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจ…เจคเฉ‡ เจ‰เฉฑเจš เจชเฉเจฐเจคเฉ€เจฐเฉ‹เจง เจตเจพเจฒเฉ‡ เจฐเฉ‹เจงเจ•เจพเจ‚ เจจเฉ‚เฉฐ rgb เจฒเฉ€เจก เจฒเจพเจˆเจจเจพเจ‚ (เจœเฉ‹ เจ•เฉˆเจชเฉ‡เจธเจฟเจŸเจฟเจต เจธเฉˆเจ‚เจธเจฐ เจฌเฉ‹เจฐเจก เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡ เจšเจฒเจฆเฉ‡ เจนเจจ) 'เจคเฉ‡ เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจธเจจเฅค เจ‡เจธเจจเฉ‚เฉฐ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจตเฉ€ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€: เจฎเจพเจˆเจธเฉˆเจ‚เจธเจฐ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเฉ‡เจธเจผเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉˆเจชเฉ‡เจธเจฟเจŸเจฟเจต เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจฐเจ•เจฟเจŸ เจฒเจˆ เจชเจพเจตเจฐ เจฆเฉ€ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒเจคเจพเฅค เจชเจพเจตเจฐ เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ 'เจคเฉ‡ TTP223 เจšเจฟเฉฑเจช เจฆเฉ‡ เจธเจตเฉˆ-เจ•เฉˆเจฒเฉ€เจฌเฉเจฐเฉ‡เจธเจผเจจ เจฒเจˆ เจฆเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฆเฉเฉฑเจ—เจฃเจพ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‡เจจเฉเจนเจพเจ‚ เจธเจพเจฐเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‡ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ–เจคเจฎ เจ•เจฐ เจฆเจฟเฉฑเจคเจพเฅค

เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉˆเจ‚ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฎเจพเจˆเจธเฉˆเจ‚เจธเจฐเจœเจผ เจตเจฟเฉฑเจš เจธเจ•เฉˆเจšเจพเจ‚ เจฆเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเจพเจฒ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจœเจพเจฃเฉ‚ เจ•เจฐเจตเจพเจ“.void before()
{
// ะ”ะพะฟะพะปะฝะธั‚ะตะปัŒะฝะฐั ั„ัƒะฝะบั†ะธั, ะตัะปะธ ัั€ะฐะฒะฝะธะฒะฐั‚ัŒ ัะพ ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะน ัั‚ั€ัƒะบั‚ัƒั€ะพะน ะั€ะดัƒะธะฝะพ ัะบะตั‚ั‡ะตะน, ั‚ะพ before() ัั‚ะพ ะฟะพะดะพะฑะธะต setup(), ะพั‚ั€ะฐะฑะพั‚ะบะฐ ะฟั€ะพะธัั…ะพะดะธั‚ ะดะพ ะธะฝะธั†ะธะฐะปะธะทะฐั†ะธะธ ั‚ั€ะฐะฝัะฟะพั€ั‚ะฝะพะณะพ ัƒั€ะพะฒะฝั Mysensors, ั€ะตะบะพะผะตะฝะดัƒะตั‚ัั ะฝะฐะฟั€ะธะผะตั€ ะดะปั ะธะฝะธั†ะธะฐะปะธะทะฐั†ะธะธ ัƒัั‚ั€ะพะนัั‚ะฒ SPI
}

void setup()
{

}

void presentation()
{
//ะขัƒั‚ ะฟั€ะพะธัั…ะพะดะธั‚ ะฟั€ะตะทะตะฝั‚ะฐั†ะธั ะฝะพะดั‹ ะธ ะตะต ัะตะฝัะพั€ะพะฒ ะฝะฐ ะบะพะฝั‚ั€ะพะปะตั€ะต ั‡ะตั€ะตะท ะผะฐั€ัˆั€ัƒั‚ะธะทะฐั‚ะพั€
sendSketchInfo("Name of my sensor node", "1.0"); // ะฟั€ะตะทะตะฝั‚ะฐั†ะธั ะฝะฐะทะฒะฐะฝะธั ะฝะพะดั‹, ะฒะตั€ัะธะธ ะŸะž
present(CHILD_ID, S_WHATEVER, "Description"); // ะฟั€ะตะทะตะฝั‚ะฐั†ะธั ัะตะฝัะพั€ะพะฒ ะฝะพะดั‹, ะพะฟะธัะฐะฝะธั ัะตะฝัะพั€ะพะฒ
}

void loop()
{

}

เจŸเจš เจธเจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจŸเฉˆเจธเจŸ เจ•เฉ‹เจก:test_sens.ino
/**
ะขะ•ะกะขะžะ’ะซะ™ ะกะšะ•ะขะง ะกะ•ะะกะžะ ะะžะ“ะž ะ’ะซะšะ›ะฎะงะะขะ•ะ›ะฏ ะก ะŸะ ะ•ะ ะซะ’ะะะ˜ะฏะœะ˜ ะะ NRF_LPCOMP
*/
bool button_flag;
bool sens_flag;
bool send_flag;
bool detection;
bool nosleep;
byte timer;
unsigned long SLEEP_TIME = 21600000; //6 hours
unsigned long oldmillis;
unsigned long newmillis;
unsigned long interrupt_time;
unsigned long SLEEP_TIME_W;
uint16_t currentBatteryPercent;
uint16_t batteryVoltage = 0;
uint16_t battery_vcc_min = 2400;
uint16_t battery_vcc_max = 3000;

#define MY_RADIO_NRF5_ESB
//#define MY_PASSIVE_NODE
#define MY_NODE_ID 30
#define MY_PARENT_NODE_ID 0
#define MY_PARENT_NODE_IS_STATIC
#define MY_TRANSPORT_UPLINK_CHECK_DISABLED
#define IRT_PIN 3 //(PORT0, gpio 5)
#include <MySensors.h>
// see https://www.mysensors.org/download/serial_api_20
#define SENS_CHILD_ID 0
#define CHILD_ID_VOLT 254
MyMessage sensMsg(SENS_CHILD_ID, V_VAR1);
//MyMessage voltMsg(CHILD_ID_VOLT, V_VOLTAGE);

void preHwInit() {
sleep(2000);
pinMode(RED_LED, OUTPUT);
digitalWrite(RED_LED, HIGH);
pinMode(GREEN_LED, OUTPUT);
digitalWrite(GREEN_LED, HIGH);
pinMode(BLUE_LED, OUTPUT);
digitalWrite(BLUE_LED, HIGH);
pinMode(MODE_PIN, INPUT);
pinMode(SENS_PIN, INPUT);
}

void before()
{
NRF_POWER->DCDCEN = 1;
NRF_UART0->ENABLE = 0;
sleep(1000);
digitalWrite(BLUE_LED, LOW);
sleep(150);
digitalWrite(BLUE_LED, HIGH);
}

void presentation() {
sendSketchInfo("EFEKTA Sens 1CH Sensor", "1.1");
present(SENS_CHILD_ID, S_CUSTOM, "SWITCH STATUS");
//present(CHILD_ID_VOLT, S_MULTIMETER, "Battery");
}

void setup() {
digitalWrite(BLUE_LED, LOW);
sleep(100);
digitalWrite(BLUE_LED, HIGH);
sleep(200);
digitalWrite(BLUE_LED, LOW);
sleep(100);
digitalWrite(BLUE_LED, HIGH);
lpComp();
detection = false;
SLEEP_TIME_W = SLEEP_TIME;
pinMode(31, OUTPUT);
digitalWrite(31, HIGH);
/*
while (timer < 10) {
timer++;
digitalWrite(GREEN_LED, LOW);
wait(5);
digitalWrite(GREEN_LED, HIGH);
wait(500);
}
timer = 0;
*/
sleep(7000);
while (timer < 3) {
timer++;
digitalWrite(GREEN_LED, LOW);
sleep(15);
digitalWrite(GREEN_LED, HIGH);
sleep(85);
}
timer = 0;
sleep(1000);
}

void loop() {

if (detection) {
if (digitalRead(MODE_PIN) == 1 && button_flag == 0 && digitalRead(SENS_PIN) == 0) {
//back side button detection
button_flag = 1;
nosleep = 1;
}
if (digitalRead(MODE_PIN) == 1 && button_flag == 1 && digitalRead(SENS_PIN) == 0) {
digitalWrite(RED_LED, LOW);
wait(10);
digitalWrite(RED_LED, HIGH);
wait(50);
}
if (digitalRead(MODE_PIN) == 0 && button_flag == 1 && digitalRead(SENS_PIN) == 0) {
nosleep = 0;
button_flag = 0;
digitalWrite(RED_LED, HIGH);
lpComp_reset();
}

if (digitalRead(SENS_PIN) == 1 && sens_flag == 0 && digitalRead(MODE_PIN) == 0) {
//sens detection
sens_flag = 1;
nosleep = 1;
newmillis = millis();
interrupt_time = newmillis - oldmillis;
SLEEP_TIME_W = SLEEP_TIME_W - interrupt_time;
if (send(sensMsg.set(detection))) {
send_flag = 1;
}
}
if (digitalRead(SENS_PIN) == 1 && sens_flag == 1 && digitalRead(MODE_PIN) == 0) {
if (send_flag == 1) {
while (timer < 10) {
timer++;
digitalWrite(GREEN_LED, LOW);
wait(20);
digitalWrite(GREEN_LED, HIGH);
wait(30);
}
timer = 0;
} else {
while (timer < 10) {
timer++;
digitalWrite(RED_LED, LOW);
wait(20);
digitalWrite(RED_LED, HIGH);
wait(30);
}
timer = 0;
}
}
if (digitalRead(SENS_PIN) == 0 && sens_flag == 1 && digitalRead(MODE_PIN) == 0) {
sens_flag = 0;
nosleep = 0;
send_flag = 0;
digitalWrite(GREEN_LED, HIGH);
sleep(500);
lpComp_reset();
}
if (SLEEP_TIME_W < 60000) {
SLEEP_TIME_W = SLEEP_TIME;
sendBatteryStatus();
}
}
else {
//if (detection == -1) {
SLEEP_TIME_W = SLEEP_TIME;
sendBatteryStatus();
}
if (nosleep == 0) {
oldmillis = millis();
sleep(SLEEP_TIME_W);
}
}

void sendBatteryStatus() {
wait(20);
batteryVoltage = hwCPUVoltage();
wait(2);

if (batteryVoltage > battery_vcc_max) {
currentBatteryPercent = 100;
}
else if (batteryVoltage < battery_vcc_min) {
currentBatteryPercent = 0;
} else {
currentBatteryPercent = (100 * (batteryVoltage - battery_vcc_min)) / (battery_vcc_max - battery_vcc_min);
}

sendBatteryLevel(currentBatteryPercent, 1);
wait(2000, C_INTERNAL, I_BATTERY_LEVEL);
//send(powerMsg.set(batteryVoltage), 1);
//wait(2000, 1, V_VAR1);
}

void lpComp() {
NRF_LPCOMP->PSEL = IRT_PIN;
NRF_LPCOMP->ANADETECT = 1;
NRF_LPCOMP->INTENSET = B0100;
NRF_LPCOMP->ENABLE = 1;
NRF_LPCOMP->TASKS_START = 1;
NVIC_SetPriority(LPCOMP_IRQn, 15);
NVIC_ClearPendingIRQ(LPCOMP_IRQn);
NVIC_EnableIRQ(LPCOMP_IRQn);
}

void s_lpComp() {
if ((NRF_LPCOMP->ENABLE) && (NRF_LPCOMP->EVENTS_READY)) {
NRF_LPCOMP->INTENCLR = B0100;
}
}

void r_lpComp() {
NRF_LPCOMP->INTENSET = B0100;
}

#if __CORTEX_M == 0x04
#define NRF5_RESET_EVENT(event)
event = 0;
(void)event
#else
#define NRF5_RESET_EVENT(event) event = 0
#endif

extern "C" {
void LPCOMP_IRQHandler(void) {
detection = true;
NRF5_RESET_EVENT(NRF_LPCOMP->EVENTS_UP);
NRF_LPCOMP->EVENTS_UP = 0;
MY_HW_RTC->CC[0] = (MY_HW_RTC->COUNTER + 2);
}
}

void lpComp_reset () {
s_lpComp();
detection = false;
NRF_LPCOMP->EVENTS_UP = 0;
r_lpComp();
}

MyBoardNRF5.cpp
#ifdef MYBOARDNRF5
#include <variant.h>

/*
* Pins descriptions. Attributes are ignored by arduino-nrf5 variant.
* Definition taken from Arduino Primo Core with ordered ports
*/
const PinDescription g_APinDescription[]=
{
{ NOT_A_PORT, 0, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // LFCLK
{ NOT_A_PORT, 1, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // LFCLK
{ PORT0, 2, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A0, PWM4, NOT_ON_TIMER},
{ PORT0, 3, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A1, PWM5, NOT_ON_TIMER},
{ PORT0, 4, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A2, PWM6, NOT_ON_TIMER},
{ PORT0, 5, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A3, PWM7, NOT_ON_TIMER},
{ PORT0, 6, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT3
{ PORT0, 7, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT4
{ PORT0, 8, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM10, NOT_ON_TIMER}, //USER_LED
{ PORT0, 9, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // NFC1
{ PORT0, 10, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // NFC2
{ PORT0, 11, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TX
{ PORT0, 12, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // RX
{ PORT0, 13, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SDA
{ PORT0, 14, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SCL
{ PORT0, 15, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SDA1
{ PORT0, 16, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // SCL1
{ PORT0, 17, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TP4
{ PORT0, 18, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // TP5
{ PORT0, 19, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT2
{ PORT0, 20, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT1
{ PORT0, 21, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT1
{ PORT0, 22, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM9, NOT_ON_TIMER},
{ PORT0, 23, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM8, NOT_ON_TIMER},
{ PORT0, 24, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER}, // INT
{ PORT0, 25, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //RED_LED
{ PORT0, 26, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //GREEN_LED
{ PORT0, 27, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM11, NOT_ON_TIMER}, //BLUE_LED
{ PORT0, 28, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A4, PWM3, NOT_ON_TIMER},
{ PORT0, 29, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A5, PWM2, NOT_ON_TIMER},
{ PORT0, 30, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A6, PWM1, NOT_ON_TIMER},
{ PORT0, 31, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_A7, PWM0, NOT_ON_TIMER}
};

// Don't remove this line
#include <compat_pin_mapping.h>

#endif

MyBoardNRF5.h
#ifndef _MYBOARDNRF5_H_
#define _MYBOARDNRF5_H_

#ifdef __cplusplus
extern "C"
{
#endif // __cplusplus

// Number of pins defined in PinDescription array
#define PINS_COUNT (32u)
#define NUM_DIGITAL_PINS (32u)
#define NUM_ANALOG_INPUTS (8u)
#define NUM_ANALOG_OUTPUTS (8u)

/*
* LEDs
*
* This is optional
*
* With My Sensors, you can use
* hwPinMode() instead of pinMode()
* hwPinMode() allows to use advanced modes like OUTPUT_H0H1 to drive LEDs.
* https://github.com/mysensors/MySensors/blob/development/drivers/NRF5/nrf5_wiring_constants.h
*
*/
#define PIN_LED1 (16)
#define PIN_LED2 (15)
#define PIN_LED3 (17)
#define RED_LED (PIN_LED1)
#define GREEN_LED (PIN_LED2)
#define BLUE_LED (PIN_LED3)
#define INTERRUPT_PIN (5)
#define MODE_PIN (25)
#define SENS_PIN (27)

/*
* Analog ports
*
* If you change g_APinDescription, replace PIN_AIN0 with
* port numbers mapped by the g_APinDescription Array.
* You can add PIN_AIN0 to the g_APinDescription Array if
* you want provide analog ports MCU independed, you can add
* PIN_AIN0..PIN_AIN7 to your custom g_APinDescription Array
* defined in MyBoardNRF5.cpp
*/
static const uint8_t A0 = ADC_A0;
static const uint8_t A1 = ADC_A1;
static const uint8_t A2 = ADC_A2;
static const uint8_t A3 = ADC_A3;
static const uint8_t A4 = ADC_A4;
static const uint8_t A5 = ADC_A5;
static const uint8_t A6 = ADC_A6;
static const uint8_t A7 = ADC_A7;

/*
* Serial interfaces
*
* RX and TX are required.
* If you have no serial port, use unused pins
* CTS and RTS are optional.
*/
#define PIN_SERIAL_RX (11)
#define PIN_SERIAL_TX (12)

#ifdef __cplusplus
}
#endif

#endif

เจธเจตเจฟเฉฑเจš เจตเจฟเฉฑเจš เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจชเจพเจธเฉ‡ เจ‡เฉฑเจ• เจŸเฉฑเจš เจฌเจŸเจจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจŸเฉˆเจ•เจŸ เจฌเจŸเจจ เจนเฉˆเฅค เจ‡เจน เจŸเฉˆเจ•เจŸ เจฌเจŸเจจ เจธเจฐเจตเจฟเจธ เจฎเฉ‹เจก, เจ“เจตเจฐ-เจฆเฉ€-เจเจ…เจฐ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจฎเฉ‹เจก, เจ…เจคเฉ‡ เจกเจฟเจตเจพเจˆเจธ เจฐเฉ€เจธเฉˆเจŸ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพเฅค เจฌเจŸเจจ เจตเจฟเฉฑเจš เจ†เจ‡เจฐเจจ เจเจ‚เจŸเฉ€ เจฌเจพเจŠเจ‚เจธ เจซเฉ€เจšเจฐ เจนเฉˆเฅค เจ•เฉˆเจชเฉ‡เจธเจฟเจŸเจฟเจต เจธเฉˆเจ‚เจธเจฐ เจฆเฉ€ เจฒเจพเจˆเจจ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจŸ เจฌเจŸเจจ เจฆเฉ€ เจฒเจพเจˆเจจ เจธเจ•เฉŒเจŸเจ•เฉ€ เจกเจพเจ‡เจกเจธ เจฆเฉเจ†เจฐเจพ เจœเฉเฉœเฉ€ เจนเฉ‹เจˆ เจนเฉˆ เจ…เจคเฉ‡ เจเจจเจพเจฒเจพเจ— เจชเจฟเฉฐเจจ p0.05 เจจเจพเจฒ เจœเฉเฉœเฉ€ เจนเฉ‹เจˆ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉˆเจชเฉ‡เจธเจฟเจŸเจฟเจต เจธเฉˆเจ‚เจธเจฐ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจŸ เจฌเจŸเจจ เจคเฉ‹เจ‚ เจตเฉ€ MK เจชเจฟเฉฐเจจ p0.25 เจ…เจคเฉ‡ p0.27 เจคเฉฑเจ• เจฒเจพเจˆเจจเจพเจ‚ เจนเจจเฅค เจชเจฟเฉฐเจจ p0.05. 0.05 'เจคเฉ‡ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸ เจจเฉ‚เฉฐ เจเจ•เจŸเฉ€เจตเฉ‡เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจŸเฉ‡เจŸเจธ เจชเฉœเฉเจนเจจ เจฒเจˆ .XNUMXเฅค เจชเจฟเฉฐเจจ pXNUMX 'เจคเฉ‡, EVENTS_UP เจฆเฉเจ†เจฐเจพ เจคเฉเจฒเจจเจพเจ•เจพเจฐ (NRF_LPCOMP) เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจฐเฉเจ•เจพเจตเจŸ เจจเฉ‚เฉฐ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเฉ‡เจฐเจจเจพ เจฎเจฟเจฒเฉ€ เจ‡เฉฑเจฅเฉ‡ ะธ เจ‡เฉฑเจฅเฉ‡.

เจธเจตเจฟเฉฑเจš เจจเฉ‚เฉฐ เจฎเจพเจˆเจธเฉˆเจ‚เจธเจฐ เจจเฉˆเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธเจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฎเจพเจฐเจŸ เจนเฉ‹เจฎ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจฎเฉ‡เจœเจฐเจกเฉ‹เจฎเฉ‹ (เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ)

เจธเจŸเฉ‡เจŸเจธ เจ…เฉฑเจชเจกเฉ‡เจŸ เจตเจฟเจงเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจตเจฟเฉฑเจš เจœเฉ‹เฉœเจจ เจฒเจˆ PHP เจ•เฉ‹เจก

if (getGlobal("MysensorsButton01.status")==1) {
if (getGlobal('MysensorsRelay04.status') == 0) {
setGlobal('MysensorsRelay04.status', '1');
} else if (getGlobal('MysensorsRelay04.status') == 1) {
setGlobal('MysensorsRelay04.status', '0');
} 
}

เจตเฉ€เจกเฉ€เจ“ เจตเจฟเฉฑเจš เจจเจคเฉ€เจœเจพ เจตเฉ‡เจ–เฉ‹

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจฌเฉ‚เจธเจŸ เจ•เจจเจตเจฐเจŸเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจช เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจ‡เจน TTP223 capacitive microcircuit เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจจเจนเฉ€เจ‚ เจนเฉˆ; เจชเฉ‚เจฐเฉ€ เจฌเฉˆเจŸเจฐเฉ€ เจœเฉ€เจตเจจ เจฆเฉŒเจฐเจพเจจ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฆเจฌเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจšเฉฐเจ—เฉ€ เจ…เจคเฉ‡ เจ‡เจ•เจธเจพเจฐ เจฐเฉ‹เจธเจผเจจเฉ€ เจฆเฉ€ เจตเจงเฉ‡เจฐเฉ‡ เจ‡เฉฑเจ›เจพ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค

เจตเฉ‡เจ–เฉ‹เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ—เจฟเจฅเจฌ - github.com/smartboxchannel/EFEKTA_WIRELESS_TOUCH_SWITCH

เจฐเฉ‚เจธเฉ€ เจฌเฉ‹เจฒเจฃ เจตเจพเจฒเฉ‡ เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจธเจพเจˆเจŸ เจฎเจพเจˆเจธเฉˆเจ‚เจธเจฐ

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจšเฉˆเจŸ Mysensors - Arduino IDE เจตเจฟเฉฑเจš atmega 328, stm32, nRF5 เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจฎเจพเจˆเจธเฉˆเจ‚เจธเจฐ, เจŸเจฟเจชเจธ, เจŸเฉเจฐเจฟเจ•เจธ, เจฌเฉ‹เจฐเจกเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจคเฉเจฐเฉฐเจค เจนเฉฑเจฒ โ€” @mysensors_rus

เจ•เฉเจ เจซเฉ‹เจŸเฉ‹เจ†เจ‚เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจตเจพเจงเฉ‚ เจซเจฒเฉ‹เจฐเจธเฉˆเจ‚เจŸ เจฌเฉˆเจ•เจฒเจพเจˆเจŸ เจจเจพเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจŸเฉฑเจš เจธเจตเจฟเฉฑเจš

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹