Общие сведения
WEMOS 1-Button Shield — это модуль с тактовой кнопкой, предназначенный для установки на платы WeMos: WEMOS D1 mini / WEMOS D1 mini Pro. Модуль позволяет задействовать код выполняемый по нажатию, отпусканию или удержанию кнопки.
Характеристики
- Используемые выводы: D3, GND.
- Габариты: 27,6x25,6 мм.
Подключение
- Перед установкой Shield, к его выводам нужно припаять разъемы идущие с ним в комплекте.
- Все Shield WeMos устанавливаются на плату WEMOS D1 mini или WEMOS D1 mini Pro без использования проводов.
- На всех платах WeMos имеется вырез возле вывода 3V3. При установке Shield вырезы всех плат должны находиться с одной и той же стороны (друг над другом).
Подробнее о модуле
На плате WeMos 1-Button Shield установлена тактовая кнопка, которая при нажатии, замыкает выводы «D3» и «GND». Вывод «D3» на платах WEMOS D1 mini / WEMOS D1 mini Pro подтянут к 3V3 через резистор в 10 кОм. Значит при нажатии на кнопку, на выводе «D3 будет уровень логического «0», а при отпускании кнопки, уровень логической «1».
Примеры
Включение/выключение светодиода при отпускании кнопки.
const uint8_t pinBTN = D3; // Указываем вывод к которому подключена кнопка const uint8_t pinLED = D4; // Указываем вывод к которому подключён светодиод (на плате) bool flgLED = false; // Определяем флаг состояния светодиода // Вместо D4 можно было указать BUILTIN_LED void setup(){ // pinMode(pinBTN, INPUT ); // Переводим вывод pinBTN в режим входа (кнопка) pinMode(pinLED, OUTPUT); // Переводим вывод pinLED в режим выхода (светодиод) digitalWrite(pinLED, !flgLED); // Устанавливаем уровень на выводе pinLED в соответствии с флагом flgLED } // Так как светодиод включается логическим «0», то ставим знак отрицания «!» // void loop(){ // if(!digitalRead(pinBTN)){ // Если нажата кнопка, то ... /* ДЕЙСТВИЯ ПРИ НАЖАТИИ НА КНОПКУ */ // Код в этом месте будет выполняться при каждом нажатии на кнопку while(!digitalRead(pinBTN)){ // Если нажата кнопка, то /* ДЕЙСТВИЯ ПРИ УДЕРЖАНИИ КНОПКИ */ // Код в этом месте будет выполняться постоянно при удержании кнопки delay(50); // Устанавливаем задержку для подавления дребезга при нажатии } delay(50); // Устанавливаем задержку для подавления дребезга при отпускании /* ДЕЙСТВИЯ ПРИ ОТПУСКАНИИ КНОПКИ */ // Код в этом месте будет выполняться при каждом отпускании кнопки flgLED = !flgLED; // Меняем флаг состояния светодиода digitalWrite(pinLED, !flgLED); // Устанавливаем уровень на выводе pinLED в соответствии с флагом flgLED } // Так как светодиод включается логическим «0», то ставим знак отрицания «!» } //
Данный скетч включает и выключает светодиод установленный на плате WEMOS D1 mini / WEMOS D1 mini Pro при каждом отпускании кнопки.
Если строки:
- 19 «flgLED = !flgLED;
- 20 digitalWrite(pinLED, !flgLED);
переместить под комментарий «ДЕЙСТВИЯ ПРИ НАЖАТИИ НА КНОПКУ», то светодиод будет включаться и выключаться не при отпускании, а при нажатии на кнопку.
Комплектация
- 1x WeMos 1-Button Shield;
- 2x Соединитель типа "ПАПА-ПАПА";