====== Кнопка (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]]