====== Кнопка (Troyka-модуль) ====== Модуль [[amp>product/troyka-button?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|тактовой кнопки]] — самый простой элемент управления для вашего проекта. Вам не придётся возиться с пайкой и беспокоиться о подтягивающем резисторе — он уже присутствует на модуле. {{ :продукты:troyka-button:troyka-button.1.jpg |}} ===== Подключение и настройка ===== Кнопка — это простой [[сенсоры:цифровые|цифровой датчик]]. Пока кнопка не зажата, датчик отдаёт логическую единицу, когда кнопка зажата — логический ноль. Кнопка (Troyka-модуль) общается с управляющей платой по трём проводам. Подключение [[amp>collection/arduino?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|Arduino]] или [[amp>product/iskra-js?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|Iskra JS]] упростит [[amp>product/arduino-troyka-shield?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|Troyka Shield]]. {{ :продукты:troyka-button:troyka-button_scheme_troykashield.png |}}Если хотите оставить минимум проводов — воспользуйтесь [[amp>product/arduino-troyka-slot-shield?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|Troyka Slot Shield]]. {{ :продукты:troyka-button:troyka-button_scheme_troykaslotshield.png |}} ===== Примеры работы ===== ==== Пример работы для Arduino ==== В качестве примера выведем в Serial-порт текущее состояние кнопки и будем обновлять его каждые 100 миллисекунд. #define BUTTON_PIN 4 void setup() { // открываем монитор Serial-порта Serial.begin(9600); // настраиваем пин в режим входа pinMode(BUTTON_PIN, INPUT); } void loop() { // считываем состояние пина int buttonState = digitalRead(BUTTON_PIN); // выводим в Serial-порт Serial.println(buttonState); delay(100); } В результате вы увидите бегущие единицы, а как только нажмёте на кнопку они сменятся нулями. ==== Пример программы для Iskra JS ==== Поймаем нажатие кнопки с помощью [[js:button|библиотеки для Iskra JS]]. var myButton = require('@amperka/button') .connect(P4, { }); myButton.on('press', function() { console.log("Button is press"); }); ==== Что то пошло не так ==== Если у вас при нажатии на кнопку значения не меняются, проверьте работу порта управляющей платы с помощью [[amp>product/wire-mm?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|соединительного провода «папа-папа»]]. * ''4''+''G'' — кнопка нажата.{{ :продукты:troyka-button:wire-mm_g_scheme_troykashield.png |}} * ''4''+''V(IOREF)'' — кнопка отжата.{{ :продукты:troyka-button:wire-mm_v_scheme_troykashield.png |}} Если значения меняются — ваша кнопка неисправна. Обратитесь в нашу техническую поддержку через [[amp>page/form|форму обратной связи]] или по телефону. ===== Элементы платы ===== {{ :продукты:troyka-button:troyka-button_annotation.png |}} ==== Тактовая кнопка ==== Тактовая кнопка без фиксатора. К самой кнопке прилагается цветной пластиковый колпачок, который надёжно крепится на ней с помощью защёлки. ==== Подтягивающий резистор ==== Пока кнопка нажата, выходное напряжение на сигнальном пине ''S'' = ''LOW''. Когда кнопка отпущена, провода работают как антенна и набирают наведённый сигнал — на пине ''S'' появляются «шумы». Эти шумы легко устранить, добавив в цепь резистор на ''10 кОм''. {{ :продукты:troyka-button:p008-button-pull-up.svg.png |}} ==== Контакты подключения 3-проводного шлейфа ==== * Земля (G) — чёрный провод. Соедините с пином GND микроконтроллера. * Питание (V) — красный провод. Соедините с пином 5V микроконтроллера. * Сигнальный (S) — жёлтый провод. Подключите к любому цифровому пину микроконтроллера. ===== Характеристики ===== * Сопротивление изолятора кнопки: 100 МОм * Рабочий ток кнопки: 50 мА * Сопротивление подтягивающего резистора: 10 кОм * Рабочее напряжение: 12 В * Диаметр колпачка: 11,8 мм * Габариты: 25,4×25,4 мм ===== Ресурсы ===== * [[amp>product/troyka-button?utm_source=man&utm_campaign=troyka-button&utm_medium=wiki|Кнопка (Troyka-модуль)]] в магазине. * [[https://github.com/amperka/hardware-drawings/blob/master/troyka-button.svg|Векторное изображение кнопки (Troyka-модуль)]] * [[https://github.com/amperka/TroykaButton | Библиотека для работы с кнопками]] * [[js:button|Описание библиотеки «button» для Iskra JS]]