เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

Habr-เดฒเต† "DIY เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดคเต เดธเตเดตเดฏเด‚ เดšเต†เดฏเตเดฏเตเด•" เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดตเดพเดฏเดจเด•เตเด•เดพเตผเด•เตเด•เตเด‚ เด†เดถเด‚เดธเด•เตพ! เด‡เดจเตเดจเดคเตเดคเต† เดฒเต‡เด–เดจเด‚ TTP223 เดšเดฟเดชเตเดชเดฟเดฒเต† เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ | เดกเดพเดฑเตเดฑ เดทเต€เดฑเตเดฑเต. เดธเตเดตเดฟเดšเตเดšเต nRF52832 เดฎเตˆเด•เตเดฐเต‹เด•เตบเดŸเตเดฐเต‹เดณเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต | เดกเดพเดฑเตเดฑ เดทเต€เดฑเตเดฑเต, เด…เดšเตเดšเดŸเดฟเดšเตเดš เด†เดจเตเดฑเดฟเดจเดฏเตเดณเตเดณ YJ-17103 เดฎเตŠเดกเตเดฏเต‚เดณเตเด‚ เด’เดฐเต เดฌเดพเดนเตเดฏ MHF4 เด†เดจเตเดฑเดฟเดจเดฏเตเด•เตเด•เตเดณเตเดณ เด•เดฃเด•เตเดŸเดฑเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต CR2430 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ CR2450 เดฌเดพเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเตเดฐเดพเตปเดธเตเดฎเดฟเดฑเตเดฑเต เดฎเต‹เดกเดฟเตฝ เด‰เดชเดญเต‹เด—เด‚ 8 mA-เตฝ เด•เต‚เดŸเดฐเตเดคเต, เด‰เดฑเด•เตเด• เดฎเต‹เดกเดฟเตฝ 6 ยตA-เดฏเดฟเตฝ เด•เต‚เดŸเดฐเตเดคเต.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เดฎเตเดฎเตเดชเดคเตเดคเต† เดŽเดฒเตเดฒเดพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเต†เดฏเตเด‚ เดชเต‹เดฒเต†, เด‡เดคเตเด‚ เด’เดฐเต Arduino เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด†เดฃเต, เดชเตเดฐเต‹เด—เตเดฐเดพเด‚ Arduino IDE- เตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต Mysensors เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ | เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเดพเดฃเต GitHub เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ, nRF5 เดฌเต‹เตผเดกเต เดชเดฟเดจเตเดคเตเดฃ GitHub เดฎเตˆเดธเต†เตปเดธเดฑเดฟเตฝ. เด‡เด‚เด—เตเดฒเต€เดทเต เดญเดพเดทเดพ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดซเต‹เดฑเด‚ - http://forum.mysensors.org, เดฑเดทเตเดฏเตป เดญเดพเดทเดพ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดซเต‹เดฑเด‚ - http://mysensors.ru/forum/
(เดชเด เดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เต - เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป, เดธเต€เดฐเดฟเดฏเตฝ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ, เดŽเดชเดฟเด, เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เต‹เตพ, เดชเดพเตผเดธเตผ | เดธเดนเดพเดฏเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เต (เดธเด‚เดญเดพเดตเดจเด•เตพ) เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเตฝ - เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป)

เดฒเต‡เดธเตผ เด…เดฏเดฃเดฟเด‚เด—เต เดŸเต†เด•เตเดจเต‹เดณเดœเดฟ (LUT) เดฐเต€เดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดจเดฟเตผเดฎเตเดฎเดพเดฃเด‚ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เดกเต€เดชเตเดŸเตเดฐเต‡เดธเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเตฝ เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต เดฌเต‹เตผเดกเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเต. เดฌเต‹เตผเดกเต 60x60mm เด…เดณเดตเตเด•เดณเดฟเตฝ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเต (เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด—เตเดฒเดพเดธเต เดชเดพเดจเดฒเดฟเดจเต 80x80mm เด…เดณเดตเตเด•เตพ เด‰เดฃเตเดŸเต). เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เด†เดจเตเดฑเดฟเดจ เดฎเดพเดธเดฟเด•เดฏเตเดŸเต† เดชเต‡เดœเตเด•เดณเดฟเตฝ เด…เดšเตเดšเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฌเต‹เดทเต เด‡เดฐเตเดฎเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต โ€œเดฒเต†เตปโ€ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚ (เดชเดฐเดฎเดพเดตเดงเดฟ เดชเดตเตผ) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต 1.5mm, 35ยตm (เดฎเดฑเตเดฑเตŠเดฐเต†เดฃเตเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด…เดญเดพเดตเดคเตเดคเดฟเตฝ) เด‡เดฐเดŸเตเดŸ-เดตเดถเด™เตเด™เดณเตเดณเตเดณ เดซเต‹เดฏเดฟเตฝ เดซเตˆเดฌเตผเด—เตเดฒเดพเดธเต เดฌเต‹เตผเดกเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

1.5 เดฎเดฟเดฒเตเดฒเดฟ เดšเต‚เดŸเตเดตเต†เดณเตเดณเดคเตเดคเดฟเดจเต 250 เดŸเต€เดธเตเดชเต‚เตบ เดŽเดจเตเดจ เด…เดจเตเดชเดพเดคเดคเตเดคเดฟเตฝ เดฎเตเดฎเตเดชเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดซเต†เดฑเดฟเด•เต เด•เตเดฒเต‹เดฑเตˆเดกเดฟเดจเตเดฑเต† เด’เดฐเต เดฒเดพเดฏเดจเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดŽเดšเตเดšเดฟเด‚เด—เต เดจเดŸเดคเตเดคเดฟเดฏเดคเต. เดชเตเดฐเด•เตเดฐเดฟเดฏ 15 เดฎเดฟเดจเดฟเดฑเตเดฑเต เดŽเดŸเตเดคเตเดคเต.
เด’เดฐเต DREMEL 3000 เดกเตเดฐเดฟเตฝ เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เด˜เดŸเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ DREMEL 220 เดฎเดฟเดจเดฟ-เดกเตเดฐเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด‡เดจเตเดฑเตผเดฒเต‡เดฏเตผ เดตเดฏเดพเดธเดฟเดจเตเด‚ เดฌเดพเดฑเตเดฑเดฑเดฟ เดนเต‹เตพเดกเตผ เด‰เดฑเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเดพเดฏเดฟ เดกเตเดฐเดฟเดฒเตเดฒเดฟเด‚เด—เต เดฆเตเดตเดพเดฐเด™เตเด™เตพ เดจเดŸเดคเตเดคเดฟเดฏเดคเต. . DREMEL 0,4 เด…เดฑเตเดฑเดพเดšเตเดšเตโ€Œเดฎเต†เดจเตเดฑเต (เด•เดŸเตเดŸเดฟเด‚เด—เต เดธเตผเด•เตเด•เดฟเตพ d=1,1mm) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดคเต‡ เดฎเดฟเดจเดฟ-เดกเตเดฐเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดฌเต‹เตผเดกเดฟเดจเตเดฑเต† เดฌเต‹เตผเดกเดฑเตเด•เดณเดฟเตฝ เดŸเตเดฐเดฟเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เด’เดฐเต เดฑเต†เดธเตเดชเดฟเดฑเต‡เดฑเตเดฑเดฑเดฟเดฒเดพเดฃเต เด…เดฐเดฟเดตเดพเตพ เดจเดŸเดคเตเดคเดฟเดฏเดคเต.
เด’เดฐเต เดœเดฒเต€เดฏ เดฒเดพเดฏเดจเดฟเดฏเดฟเตฝ (1 เดฎเดฟเดฒเตเดฒเดฟ เดตเต†เดณเตเดณเดคเตเดคเดฟเดจเต 300 เดŸเต€เดธเตเดชเต‚เตบ เด•เตเดฐเดฟเดธเตเดฑเตเดฑเดฒเตˆเดธเตเดกเต เดธเดฟเดŸเตเดฐเดฟเด•เต เด†เดธเดฟเดกเต) เดฑเต‹เดธเต เด…เดฒเต‹เดฏเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด•เตŠเดคเตเดคเตเดชเดฃเดฟ เดฌเต‹เตผเดกเดฟเดจเตเดฑเต† เดŸเดฟเดจเตเดจเดฟเด‚เด—เต เดจเดŸเดคเตเดคเดฟเดฏเดคเต.

เดธเต‹เดณเดฟเดกเดฟเด‚เด—เต เดชเตเดฐเด•เตเดฐเดฟเดฏ เด’เดฐเต เดฎเดฃเดฟเด•เตเด•เต‚เดฑเต‹เดณเด‚ เดŽเดŸเตเดคเตเดคเต, เดฎเดฟเด•เตเด• เดธเดฎเดฏเดตเตเด‚ เด‡เดจเตเดฑเตผเดฒเต‡เดฏเตผ เดตเดฏเดพเดธเดฟเดจเตเดณเตเดณ เดฆเตเดตเดพเดฐเด™เตเด™เดณเดฟเตฝ เดธเต‹เดณเดฟเดกเดฟเด‚เด—เต เดตเดฏเตผ (เดŸเดฟเตป, 0.4 เดฎเดฟเดฒเตเดฒเต€เดฎเต€เดฑเตเดฑเตผ เดตเตเดฏเดพเดธเด‚) เดšเต†เดฒเดตเดดเดฟเดšเตเดšเต.

เดซเตเดฒเด•เตเดธเต เด“เดซเต เดŽเดฏเดฑเต‹เดธเต‹เตพ เด•เตเดฒเต€เดจเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฌเต‹เตผเดกเต เด•เดดเตเด•เดฟ.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด‰เดชเด•เดฐเดฃ เดฌเต‹เดกเดฟเดฏเตเดŸเต† เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เด’เดฐเต เดคเตเดฐเดฟเดฎเดพเดจ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ-เดŽเดฏเตเดกเดกเต เดกเดฟเดธเตˆเตป เดŽเดกเดฟเดฑเตเดฑเดฑเดฟเดฒเดพเดฃเต เดจเดŸเดคเตเดคเดฟเดฏเดคเต. เด•เต‡เดธเต เด…เดณเดตเตเด•เตพ 78,5mm X 78,5mm X 12mm.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด•เต‡เดธเดฟเดจเตเดฑเต† เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏ เดฎเต‹เดกเดฒเตเด‚ เดฌเดพเดฑเตเดฑเดฑเดฟ เด•เดฎเตเดชเดพเตผเดŸเตเดŸเตเดฎเต†เดจเตเดฑเต เด•เดตเดฑเตเด‚ STL เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเต, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต SLA เดชเตเดฐเดฟเดจเตเดฑเดฑเดฟเตฝ เด…เดšเตเดšเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดˆ เดฎเต‹เดกเดฒเตเด•เตพ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เต‡เดฃเตเดŸเดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต (เดชเดฟเดจเตเดคเตเดฃ เดšเต‡เตผเด•เตเด•เตฝ, เด“เดฑเดฟเดฏเดจเตเดฑเต‡เดทเตป). เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เด—เดพเตผเดนเดฟเด• SLA เดชเตเดฐเดฟเดจเตเดฑเดฑเตเด•เดณเตเดŸเต† เดชเตเดฐเดฟเดจเตเดฑเต เดเดฐเดฟเดฏ เดšเต†เดฑเตเดคเดพเดฏเดคเดฟเดจเดพเตฝ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดชเตเดฐเดถเตเดจเด‚ เด‰เดฏเตผเดจเตเดจเต. เดชเตเดฐเดฟเดจเตเดฑเดฟเด‚เด—เต เดธเดฎเดฏเดตเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดฎเตเดชเต‹เตพ เดเดฑเตเดฑเดตเตเด‚ เด’เดชเตเดฑเตเดฑเดฟเดฎเตฝ เดธเตเดฅเดพเดจเดคเตเดคเตเดณเตเดณ เด‰เดชเด•เดฐเดฃ เด•เต‡เดธเดฟเดจเตเดฑเต† เดฎเต‹เดกเตฝ เดชเตเดฐเดฟเดจเตเดฑเดฟเด‚เด—เต เดเดฐเดฟเดฏเดฏเตเดŸเต† เด…เดณเดตเตเด•เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดฒเตเดฒ. เดฎเต‹เดกเตฝ 45 เดกเดฟเด—เตเดฐเดฟเดฏเดฟเตฝ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเต เดจเดฟเดฐเดพเดถเดพเดœเดจเด•เดฎเดพเดฏ เด’เดฐเต เดซเดฒเดตเตเด‚ เดจเตฝเด•เดฟ; เดชเดฟเดจเตเดคเตเดฃเดฏเตเดŸเต† เดญเดพเดฐเด‚ เดฌเต‹เดกเดฟ เดฎเต‹เดกเดฒเดฟเดจเตเดฑเต† เดญเดพเดฐเดคเตเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดชเต‹เดธเตเดฑเตเดฑเต-เดชเตเดฐเต‹เดธเดธเดฟเด‚เด—เดฟเดจเตเดฑเต† เดตเดธเตเดคเตเดคเดฏเตเดฎเดพเดฏเดฟ เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดธเดฎเตเดฎเดคเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดฎเตเตปเดตเดถเดคเตเดคเต เด’เดฐเต เดชเดฟเดจเตเดคเตเดฃ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟ, เดฎเต‹เดกเตฝ เดฒเด‚เดฌเดฎเดพเดฏเดฟ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. 5 เดฎเตˆเด•เตเดฐเต‹เตบ เดฒเต†เดฏเตผ เดธเดœเตเดœเต€เด•เดฐเดฃเดคเตเดคเต‹เดŸเต† เดฌเต‹เดกเดฟ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป 50 เดฎเดฃเดฟเด•เตเด•เต‚เตผ เดŽเดŸเตเดคเตเดคเต. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดตเดณเดฐเต† เดธเต‚เด•เตเดทเตเดฎเดฎเดพเดฏ เดธเดพเตปเดกเตเดชเต‡เดชเตเดชเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดจเดŸเดคเตเดคเดฟเดฏเดคเต (เดŽเดจเดฟเด•เตเด•เต เด…เดฑเดฟเดฏเดพเดคเตเดคเดคเดฟเดจเดพเตฝ เดžเดพเตป เดจเดฎเตเดชเตผ เดŽเดดเตเดคเดฟเดฒเตเดฒ :)). เดฌเดพเดฑเตเดฑเดฑเดฟ เด•เดตเตผ เดชเตเดฐเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป 40 เดฎเดฟเดจเดฟเดฑเตเดฑเต เดŽเดŸเตเดคเตเดคเต.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

Aliexpress-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด—เตเดฒเดพเดธเต เดชเดพเดจเดฒเตเด•เตพ เด‡เดคเดฟเดจเด•เด‚ เด’เดŸเตเดŸเดฟเดšเตเดš เดชเตเดฒเดพเดธเตเดฑเตเดฑเดฟเด•เต เดซเตเดฐเต†เดฏเดฟเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดตเดฟเตฝเด•เตเด•เตเดจเตเดจเดคเต; เดซเตเดฐเต†เดฏเดฟเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดนเต†เดฏเตผ เดกเตเดฐเดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดšเต‚เดŸเดพเด•เตเด•เดฟเดฏ เดถเต‡เดทเด‚ เดžเดพเตป เด—เตเดฒเดพเดธเต เดชเดพเดจเตฝ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเต.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เดŽเตฝเด‡เดกเดฟ เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตเดณเตเดณ เดกเดฟเดซเตเดฏเต‚เดธเตผ เด…เด•เตเดฐเดฟเดฒเดฟเด•เต เดชเดถ 3M 9088-200 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดฐเดŸเตเดŸ-เดตเดถเด™เตเด™เดณเตเดณเตเดณ เดŸเต‡เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดซเตเดฒเต‚เดฑเดธเดจเตเดฑเต เดฒเตˆเดฑเตเดฑเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เดพเตป เดจเดฟเดฐเดตเดงเดฟ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดšเตˆเดจเต€เดธเต เดชเดถ เดŸเต‡เดชเตเดชเตเด‚ เดชเดถ เดชเต‡เดชเตเดชเดฑเตเด‚ เด†เดญเตเดฏเดจเตเดคเดฐ เด•เดฎเตเดชเดจเดฟเดฏเดพเดฏ เดฒเตเดฎเดฟเดจเต‹เดซเต‹เดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŸเต‡เดชเตเดชเตเด•เดณเดพเดฏเดฟ เดฎเตเดฑเดฟเดšเตเดšเต. เด’เดฐเต เด†เดญเตเดฏเดจเตเดคเดฐ เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเดตเดฟเดจเต เด…เดจเตเด•เต‚เดฒเดฎเดพเดฏเดพเดฃเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดชเตเดชเต เดจเดŸเดคเตเดคเดฟเดฏเดคเต; เดŽเดจเตเดฑเต† เดตเดฟเด•เดพเดฐเด™เตเด™เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดคเดฟเดณเด•เตเด•เดฎเตเดณเตเดณเดคเตเด‚ เดจเต€เดณเดฎเตเดณเตเดณเดคเตเดฎเดพเดฏเดฟ เดคเดฟเดณเด™เตเด™เดฟ. เดซเตเดฒเต‚เดฑเดธเดจเตเดฑเต เดชเดฟเด—เตเดฎเต†เดจเตเดฑเตเดณเตเดณ เด’เดฐเต เดšเดคเตเดฐ เดชเต‡เดชเตเดชเตผ 3M 9088-200 เด‡เดฐเดŸเตเดŸ-เดตเดถเด™เตเด™เดณเตเดณเตเดณ เดŸเต‡เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเตเด•เดณเดฟเตฝ เด’เดŸเตเดŸเดฟเดšเตเดšเต.

3M VHB 4910 เด…เด•เตเดฐเดฟเดฒเดฟเด•เต เดชเดถ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‡เดฐเดŸเตเดŸ-เดตเดถเด™เตเด™เดณเตเดณเตเดณ เดŸเต‡เดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต เดฌเต‹เดกเดฟเดฏเดฟเตฝ เด—เตเดฒเดพเดธเต เด’เดŸเตเดŸเดฟเดšเตเดšเต.
เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด•เดตเตผ เด’เดฐเต เดธเตเด•เตเดฐเต‚ M 1,4 X 5 เดฎเดฟเดฒเตเดฒเต€เดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดฑเดชเตเดชเดฟเดšเตเดšเต.

เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดฒ 890 เดฑเตเดฌเดฟเดณเดพเดฃเต.

เด…เดŸเตเดคเตเดคเดคเต เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดšเดฟเดฒ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณ 223V เดชเดตเตผ เดธเดชเตเดฒเตˆเดฏเดฟเตฝ TTP3.3 เดธเต†เตปเดธเตผ เดšเดฟเดชเตเดชเตเด•เตพ เดฎเดฟเด•เดšเตเดš เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เดจเดจเตเดจเดพเดฏเดฟ เดกเดฟเดธเตเดšเดพเตผเดœเต เดšเต†เดฏเตเดค เดฌเดพเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเดตเตผ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด…เดคเต เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต. เดเด•เดฆเต‡เดถเด‚ 2.5v เดชเดตเตผ เดธเดชเตเดฒเตˆ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดชเด•เดฐเดฃเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เต‚เดŸเดพเดคเต† Mysensors เดชเตเดฐเดธเดจเตเดฑเต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เด…เดงเดฟเด• "เดกเตเดฐเต‹เดกเต—เดฃเดฟเดจเต" เดถเต‡เดทเด‚, 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 เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเตˆเดจเตเด•เตพ เด‰เดฃเตเดŸเต. .0.05 เดชเดฟเตป p0.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 เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเต€เดตเต เดฎเตˆเด•เตเดฐเต‹ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเดฒเตเดฒ; เดฎเตเดดเตเดตเตป เดฌเดพเดฑเตเดฑเดฑเดฟ เดฒเตˆเดซเดฟเดฒเตเด‚ เด•เต€เด•เตพ เด…เดฎเตผเดคเตเดคเตเดฎเตเดชเต‹เตพ เดจเดฒเตเดฒเดคเตเด‚ เดเด•เต€เด•เตƒเดคเดตเตเดฎเดพเดฏ เดชเตเดฐเด•เดพเดถเดคเตเดคเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เด†เด—เตเดฐเดนเดฎเตเดฃเตเดŸเต.

เด•เดพเดฃเตเด•เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เด—เดฟเดคเตเดคเดฌเต - github.com/smartboxchannel/EFEKTA_WIRELESS_TOUCH_SWITCH

เดฑเดทเตเดฏเตป เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟ เดธเตˆเดฑเตเดฑเต เดฎเตˆเดธเต†เตปเดธเดฑเตเด•เตพ

เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดšเดพเดฑเตเดฑเต Mysensors - Mysensors, เดจเตเดฑเตเด™เตเด™เตเด•เตพ, เดคเดจเตเดคเตเดฐเด™เตเด™เตพ, เดฌเต‹เตผเดกเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตฝ, Arduino IDE-เดฏเดฟเดฒเต† atmega 328, stm32, nRF5 เดฎเตˆเด•เตเดฐเต‹เด•เตบเดŸเตเดฐเต‹เดณเดฑเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดฆเตเดฐเตเดค เดชเดฐเดฟเดนเดพเดฐเด‚ - @mysensors_rus

เดšเดฟเดฒ เดซเต‹เดŸเตเดŸเต‹เด•เตพเด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดงเดฟเด• เดซเตเดฒเต‚เดฑเดธเต†เดจเตเดฑเต เดฌเดพเด•เตเด•เตเดฒเตˆเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดตเดฏเตผเดฒเต†เดธเต เดŸเดšเตเดšเต เดธเตเดตเดฟเดšเตเดšเต

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•