āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

Habr-āĻāĻ° “DIY or Do It Yourself” āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻ¸āĻ•āĻ˛ āĻĒāĻžāĻ āĻ•āĻĻā§‡āĻ° āĻļā§āĻ­ā§‡āĻšā§āĻ›āĻž! āĻ†āĻœāĻ•ā§‡āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ TTP223 āĻšāĻŋāĻĒā§‡ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŦā§‡ | āĻ¤āĻĨā§āĻ¯ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž. āĻ¸ā§āĻ‡āĻšāĻŸāĻŋ nRF52832 āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ | āĻ¤āĻĨā§āĻ¯ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻāĻ•āĻŸāĻŋ āĻŽā§āĻĻā§āĻ°āĻŋāĻ¤ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻ¨āĻž āĻ¸āĻš āĻāĻ•āĻŸāĻŋ YJ-17103 āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ MHF4 āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻ•āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§ˇ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš CR2430 āĻŦāĻž CR2450 āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋāĻ¤ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻŸā§āĻ°āĻžāĻ¨ā§āĻ¸āĻŽāĻŋāĻŸ āĻŽā§‹āĻĄā§‡ āĻ–āĻ°āĻš 8 mA āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻ¨āĻ¯āĻŧ, āĻ¸ā§āĻ˛āĻŋāĻĒ āĻŽā§‹āĻĄā§‡ 6 ÂĩA āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻ¨āĻ¯āĻŧāĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŽāĻ¤ā§‹, āĻāĻŸāĻŋāĻ“ āĻāĻ•āĻŸāĻŋ Arduino āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ, āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋ Arduino IDE-āĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻžāĨ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋāĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ Mysensors āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ—āĻŋāĻŸāĻšāĻžāĻŦ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ, nRF5 āĻŦā§‹āĻ°ā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ GitHub āĻŽāĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ°ā§‡āĨ¤ āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋ āĻ­āĻžāĻˇāĻžāĻ° āĻ•āĻŽāĻŋāĻ‰āĻ¨āĻŋāĻŸāĻŋ āĻĢā§‹āĻ°āĻžāĻŽ - http://forum.mysensors.org, āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ­āĻžāĻˇāĻžāĻ° āĻ•āĻŽāĻŋāĻ‰āĻ¨āĻŋāĻŸāĻŋ āĻĢā§‹āĻ°āĻžāĻŽ - http://mysensors.ru/forum/
(āĻ¯āĻžāĻ°āĻž āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯- ДоĐēŅƒĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Ņ, āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻāĻĒāĻŋāĻ†āĻ‡, āĻĒā§āĻ°ā§‹āĻŸā§‹āĻ•āĻ˛, āĻĒāĻžāĻ°ā§āĻ¸āĻžāĻ° | āĻ¯āĻžāĻ°āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ (āĻ…āĻŦāĻĻāĻžāĻ¨āĻ¸āĻŽā§‚āĻš) āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡ - ДоĐēŅƒĐŧĐĩĐŊŅ‚Đ°Ņ†Đ¸Ņ)

āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš āĻŦā§‹āĻ°ā§āĻĄāĻŸāĻŋ āĻĄāĻŋāĻĒāĻŸā§āĻ°ā§‡āĻ¸ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ˛ā§‡āĻœāĻžāĻ° āĻ†āĻ¯āĻŧāĻ°āĻ¨āĻŋāĻ‚ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ (LUT) āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻ•ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻŦā§‹āĻ°ā§āĻĄāĻŸāĻŋ 60x60mm āĻāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ—ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž 80x80mm āĻĨāĻžāĻ•ā§‡)āĨ¤ āĻ¸āĻžāĻ°ā§āĻ•āĻŋāĻŸāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻ¨āĻž āĻŽā§āĻ¯āĻžāĻ—āĻžāĻœāĻŋāĻ¨ā§‡āĻ° āĻĒāĻžāĻ¤āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ "āĻ˛ā§‡āĻ¨" āĻ¸ā§‡āĻŸāĻŋāĻ‚ (āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻļāĻ•ā§āĻ¤āĻŋ) āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŦā§‹āĻļ āĻ˛ā§‹āĻšāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋ-āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻ¯ā§āĻ•ā§āĻ¤ āĻĢāĻ¯āĻŧā§‡āĻ˛ āĻĢāĻžāĻ‡āĻŦāĻžāĻ°āĻ—ā§āĻ˛āĻžāĻ¸ āĻŦā§‹āĻ°ā§āĻĄ 1.5 āĻŽāĻŋāĻŽāĻŋ, 35Âĩm (āĻ…āĻ¨ā§āĻ¯ā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡) āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻĢā§‡āĻ°āĻŋāĻ• āĻ•ā§āĻ˛ā§‹āĻ°āĻžāĻ‡āĻĄā§‡āĻ° āĻĻā§āĻ°āĻŦāĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻšāĻŋāĻ‚ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋ 1.5 āĻŽāĻŋāĻ˛āĻŋ āĻ‰āĻˇā§āĻŖ āĻœāĻ˛ā§‡ 250 āĻšāĻž āĻšāĻžāĻŽāĻš āĻ…āĻ¨ā§āĻĒāĻžāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ 15 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ° āĻ­āĻŋāĻ¯āĻŧāĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻ§āĻžāĻ°āĻ•āĻ•ā§‡ āĻŦā§‡āĻāĻ§ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ DREMEL 3000 āĻĄā§āĻ°āĻŋāĻ˛ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ DREMEL 220 āĻŽāĻŋāĻ¨āĻŋ-āĻĄā§āĻ°āĻŋāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ›āĻŋāĻĻā§āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§ˇ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ° āĻ­āĻŋāĻ¯āĻŧāĻžāĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻ°ā§āĻ¤āĻ—ā§āĻ˛āĻŋ 0,4 āĻŽāĻŋāĻŽāĻŋ āĻĄā§āĻ°āĻŋāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĄā§āĻ°āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻ§āĻžāĻ°āĻ•ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 1,1 āĻŽāĻŋāĻŽāĻŋ āĻĄā§āĻ°āĻŋāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ—āĻ°ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§ˇ . āĻŦā§‹āĻ°ā§āĻĄā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻŦāĻ°āĻžāĻŦāĻ° āĻ›āĻžāĻāĻŸāĻžāĻ‡ āĻāĻ•āĻ‡ āĻŽāĻŋāĻ¨āĻŋ-āĻĄā§āĻ°āĻŋāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ DREMEL 540 āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤āĻŋ (āĻ•āĻžāĻŸāĻŋāĻ‚ āĻ¸āĻžāĻ°ā§āĻ•ā§‡āĻ˛ d=32.0mm) āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ›āĻžāĻāĻŸāĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻļā§āĻŦāĻžāĻ¸āĻ¯āĻ¨ā§āĻ¤ā§āĻ°ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤
āĻ–ā§‹āĻĻāĻžāĻ‡ āĻ•āĻ°āĻž āĻŦā§‹āĻ°ā§āĻĄā§‡āĻ° āĻŸāĻŋāĻ¨āĻŋāĻ‚ āĻāĻ•āĻŸāĻŋ āĻœāĻ˛ā§€āĻ¯āĻŧ āĻĻā§āĻ°āĻŦāĻŖā§‡ āĻ°ā§‹āĻœ āĻ…ā§āĻ¯āĻžāĻ˛āĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻĒā§āĻ°āĻ¤āĻŋ 1 āĻŽāĻŋāĻ˛āĻŋ āĻœāĻ˛ā§‡ 300 āĻšāĻž āĻšāĻžāĻŽāĻš āĻ¸ā§āĻĢāĻŸāĻŋāĻ• āĻ¸āĻžāĻ‡āĻŸā§āĻ°āĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻ¸āĻŋāĻĄ)āĨ¤

āĻ¸ā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ• āĻ˜āĻ¨ā§āĻŸāĻž āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻ¯āĻŧ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ˛ā§‡āĻ¯āĻŧāĻžāĻ° āĻ­āĻŋāĻ¯āĻŧāĻžāĻ¸ā§‡āĻ° āĻ—āĻ°ā§āĻ¤ā§‡ āĻ¸ā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻ¤āĻžāĻ°ā§‡āĻ° (āĻŸāĻŋāĻ¨ āĻ•āĻ°āĻž, āĻŦā§āĻ¯āĻžāĻ¸ 0.4 āĻŽāĻŋāĻŽāĻŋ) āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻŦā§‹āĻ°ā§āĻĄāĻŸāĻŋ āĻĢā§āĻ˛āĻžāĻ•ā§āĻ¸ āĻ…āĻĢ āĻ…ā§āĻ¯āĻžāĻ°ā§‹āĻ¸āĻ˛ āĻ•ā§āĻ˛āĻŋāĻ¨āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ§ā§āĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŦāĻĄāĻŋāĻ° āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°āĻŋāĻŽāĻžāĻ¤ā§āĻ°āĻŋāĻ• āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°-āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻāĻĄāĻŋāĻŸāĻ°ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ•ā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž 78,5mm X 78,5mm X 12mmāĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ•ā§‡āĻ¸ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ°ā§āĻŸāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ STL āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ‡ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ SLA āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸāĻžāĻ°ā§‡ āĻŽā§āĻĻā§āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ (āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨, āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž)āĨ¤ āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§‡āĻ–āĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻ°āĻŋāĻŦāĻžāĻ°ā§‡āĻ° āĻāĻ¸āĻāĻ˛āĻ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ˛āĻžāĻ•āĻž āĻ›ā§‹āĻŸāĨ¤ āĻŽā§āĻĻā§āĻ°āĻŖā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ¨ā§āĻ•ā§‚āĻ˛ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ•ā§‡āĻ¸ā§‡āĻ° āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋ āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ˛āĻžāĻ•āĻžāĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ–āĻžāĻĒ āĻ–āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ 45 āĻĄāĻŋāĻ—ā§āĻ°āĻŋāĻ¤ā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻšāĻ¤āĻžāĻļāĻžāĻœāĻ¨āĻ• āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ“ āĻĻā§‡āĻ¯āĻŧ; āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻ“āĻœāĻ¨ āĻļāĻ°ā§€āĻ°ā§‡āĻ° āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° āĻ“āĻœāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻ›āĻŋāĻ˛āĨ¤ āĻĒā§‹āĻ¸ā§āĻŸ-āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ—āĻžāĻŽ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ¯āĻŧā§‡ āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻŽāĻĄā§‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŽā§āĻŦāĻ­āĻžāĻŦā§‡ āĻŽā§āĻĻā§āĻ°āĻŖā§‡āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ 5 āĻŽāĻžāĻ‡āĻ•ā§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¤āĻ° āĻ¸ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻš āĻŦāĻĄāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ 50 āĻ˜āĻ¨ā§āĻŸāĻž āĻ˛ā§‡āĻ—ā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ°āĻĒāĻ°ā§‡, āĻ–ā§āĻŦ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻĻāĻžāĻ¨āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻ¸ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻĒā§‡āĻĒāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ (āĻ†āĻŽāĻŋ āĻ¨āĻŽā§āĻŦāĻ°āĻŸāĻŋ āĻ˛āĻŋāĻ–āĻŦ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻŋ āĻœāĻžāĻ¨āĻŋ āĻ¨āĻž :))āĨ¤ āĻŦā§āĻ¯āĻžāĻŸāĻžāĻ°āĻŋ āĻ•āĻ­āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ 40 āĻŽāĻŋāĻ¨āĻŋāĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧāĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

Aliexpress āĻĨā§‡āĻ•ā§‡ āĻ—ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ āĻžāĻ˛ā§‹ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛āĻžāĻ¸ā§āĻŸāĻŋāĻ•ā§‡āĻ° āĻĢā§āĻ°ā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ•ā§āĻ°āĻŋ āĻšāĻ¯āĻŧ; āĻĢā§āĻ°ā§‡āĻŽāĻŸāĻŋ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻšā§‡āĻ¯āĻŧāĻžāĻ° āĻĄā§āĻ°āĻžāĻ¯āĻŧāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻŋāĻšāĻŋāĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•āĻžāĻšā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

LED āĻŦā§āĻ¯āĻžāĻ•āĻ˛āĻžāĻ‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻŋāĻ‰āĻœāĻžāĻ°āĻŸāĻŋ āĻāĻ•ā§āĻ°āĻžāĻ‡āĻ˛āĻŋāĻ• āĻ†āĻ āĻžāĻ˛ā§‹ 3M 9088-200 āĻ¸āĻš āĻĄāĻŦāĻ˛-āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻ¯ā§āĻ•ā§āĻ¤ āĻŸā§‡āĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻ•āĻ°āĻŖ āĻ›āĻŋāĻ˛, āĻšāĻžāĻ‡āĻ¨āĻŋāĻœ āĻ†āĻ āĻžāĻ˛ā§‹ āĻŸā§‡āĻĒ āĻāĻŦāĻ‚ āĻĻā§‡āĻļā§€āĻ¯āĻŧ āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨āĻŋ āĻ˛ā§āĻŽāĻŋāĻ¨ā§‹āĻĢā§‹āĻ° āĻĨā§‡āĻ•ā§‡ āĻŸā§‡āĻĒā§‡ āĻ•āĻžāĻŸāĻž āĻ†āĻ āĻžāĻ˛ā§‹ āĻ•āĻžāĻ—āĻœāĨ¤ āĻĒāĻ›āĻ¨ā§āĻĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻ°ā§āĻšāĻ¸ā§āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻ•āĻžāĻ°āĻ•ā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛; āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§āĻ­ā§‚āĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻāĻŸāĻŋ āĻ‰āĻœā§āĻœā§āĻŦāĻ˛ āĻāĻŦāĻ‚ āĻĻā§€āĻ°ā§āĻ˜āĻ¤āĻ° āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ˛āĨ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻĒāĻŋāĻ—āĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻ•āĻžāĻ—āĻœ āĻ‰āĻĒāĻ°ā§‡ 3M 9088-200 āĻĄāĻŦāĻ˛ āĻ¸āĻžāĻ‡āĻĄā§‡āĻĄ āĻŸā§‡āĻĒ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ āĻžāĻ˛ā§‹āĨ¤

āĻ—ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ 3M VHB 4910 āĻāĻ•ā§āĻ°āĻžāĻ‡āĻ˛āĻŋāĻ• āĻ†āĻ āĻžāĻ˛ā§‹ āĻ¸āĻš āĻĄāĻžāĻŦāĻ˛-āĻĒāĻžāĻ°ā§āĻļā§āĻŦāĻ¯ā§āĻ•ā§āĻ¤ āĻŸā§‡āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻ‡āĻšā§‡āĻ° āĻŦāĻĄāĻŋāĻ¤ā§‡ āĻ†āĻ āĻžāĻ˛ā§‹ āĻ›āĻŋāĻ˛āĨ¤
āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ•āĻ­āĻžāĻ°āĻŸāĻŋ M 1,4 X 5 āĻŽāĻŋāĻŽāĻŋ āĻ¸ā§āĻ•ā§āĻ°ā§ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸ā§āĻĨāĻŋāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĻāĻžāĻŽ āĻ›āĻŋāĻ˛ 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

āĻ¸ā§āĻ‡āĻšāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻš āĻŦā§‹āĻ¤āĻžāĻŽ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸ āĻŦā§‹āĻ¤āĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸ āĻŦā§‹āĻ¤āĻžāĻŽāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŽā§‹āĻĄ, āĻ“āĻ­āĻžāĻ°-āĻĻā§āĻ¯-āĻāĻ¯āĻŧāĻžāĻ° āĻŦāĻžāĻ‡āĻ¨ā§āĻĄāĻŋāĻ‚ āĻŽā§‹āĻĄ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ°āĻŋāĻ¸ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻŦā§‹āĻ¤āĻžāĻŽāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ†āĻ¯āĻŧāĻ°āĻ¨ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸāĻŋ-āĻŦāĻžāĻ‰āĻ¨ā§āĻ¸ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•ā§āĻ¯āĻžāĻĒāĻžāĻ¸āĻŋāĻŸāĻŋāĻ­ āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ°ā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸ āĻŦā§‹āĻ¤āĻžāĻŽā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ Schottky āĻĄāĻžāĻ¯āĻŧā§‹āĻĄā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ¨āĻžāĻ˛āĻ— āĻĒāĻŋāĻ¨ p0.05 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ•ā§āĻ¯āĻžāĻĒāĻžāĻ¸āĻŋāĻŸāĻŋāĻ­ āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ° āĻāĻŦāĻ‚ āĻŸā§āĻ¯āĻžāĻ•ā§āĻŸ āĻŦāĻžāĻŸāĻ¨ āĻĨā§‡āĻ•ā§‡ MK āĻĒāĻŋāĻ¨ā§‡āĻ° p0.25 āĻāĻŦāĻ‚ p0.27-āĻ āĻ˛āĻžāĻ‡āĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ .0.05 āĻĒāĻŋāĻ¨ p0.05 āĻ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻžāĻĒā§āĻŸ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ XNUMXāĨ¤ āĻĒāĻŋāĻ¨ pXNUMX āĻ, EVENTS_UP āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€ (NRF_LPCOMP) āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ§āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻĒā§āĻ°ā§‡āĻ°āĻŖāĻž āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ и āĻāĻ–āĻžāĻ¨ā§‡.

āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸ āĻšā§‹āĻŽ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ° āĻŽā§‡āĻœāĻ°āĻĄā§‹āĻŽā§‹ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻŽāĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻ¸ā§āĻ‡āĻšāĻŸāĻŋ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ)

āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ‡āĻš āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻŋāĻāĻ‡āĻšāĻĒāĻŋ āĻ•ā§‹āĻĄ

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 - github.com/smartboxchannel/EFEKTA_WIRELESS_TOUCH_SWITCH

āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ­āĻžāĻˇāĻžāĻ­āĻžāĻˇā§€ āĻ•āĻŽāĻŋāĻ‰āĻ¨āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ‡āĻŸ āĻŽāĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ°

āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻšā§āĻ¯āĻžāĻŸ Mysensors — āĻŽāĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ°, āĻŸāĻŋāĻĒāĻ¸, āĻ•ā§ŒāĻļāĻ˛, āĻŦā§‹āĻ°ā§āĻĄ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž, āĻ†āĻ°āĻĄā§āĻ‡āĻ¨ā§‹ āĻ†āĻ‡āĻĄāĻŋāĻ‡-āĻ¤ā§‡ atmega 328, stm32, nRF5 āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻĻā§āĻ°ā§āĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ — @mysensors_rus

āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ›āĻŦāĻŋāĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĢā§āĻ˛ā§āĻ°ā§‹āĻ¸ā§‡āĻ¨ā§āĻŸ āĻ†āĻ˛ā§‹ āĻ¸āĻš āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ˛ā§‡āĻ¸ āĻŸāĻžāĻš āĻ¸ā§āĻ‡āĻš

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨