Клавиатура Digispark ATtiny85
У меня есть небольшой проект, и я новичок в Arduino.
Я хочу создать небольшое устройство, которое при нажатии клавиши что-то делало.
Теперь я знаю, что могу использовать кнопку на устройстве, но я хочу использовать именно Cherry MX Blue Switch.
Поэтому я хотел знать, поможет ли написанный мной тестовый код попасть в нужное место, и я хочу знать, куда мне подключить ключевой переключатель к плате.
Из того, как я написал код, я предполагаю, что я подключаю положительный контакт переключателя к P0 на плате, а другой контакт - к земле на плате, это правильно?
#include "DigiKeyboard.h"
void setup() {
pinMode(0, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(0)==HIGH){
DigiKeyboard.sendKeyStroke(MOD_GUI_LEFT,KEY_R);
DigiKeyboard.print("test");
}
}
@MintCollie, 👍0
Обсуждение2 ответа
Я бы посоветовал подключить один вывод к 5 В, а другой к земле. Arduino сможет обнаружить 5 В как логический ВЫСОКИЙ уровень.
Код выглядит правильно, за исключением лучшей техники программирования. Я бы посоветовал сделать отступ в коде, это упростит отладку длинных программ:
#include "DigiKeyboard.h"
void setup() {
pinMode(0, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(0)==HIGH){
DigiKeyboard.sendKeyStroke(MOD_GUI_LEFT,KEY_R);
DigiKeyboard.print("test");
}
}
так что мне следует подключить его к контактам 0 и 5v? так как в коде указано, что нужно смотреть на вывод 0., @MintCollie
Вывод, который вы изначально подключили к GND, подключите к 5 В., @Gorria24
Итак, переключатель будет подключен к 5v и p0?, @MintCollie
Да, это означает, что когда переключатель замкнут, p0 сможет обнаружить 5 В как высокий уровень входа., @Gorria24
Это не сработает, если вы не добавите внешний резистор подтяжки к GND. Подключение переключателя между цифровым входом и GND имеет то преимущество, что вам не нужен внешний резистор, так как вы можете использовать внутреннюю подтяжку, установив режим вывода на INPUT_PULLUP
. Это уже было предложено @tttapa в его комментарии., @Edgar Bonet
При подключении переключателя на контакте будет высокий уровень, а при отключении — плавающий, но никогда не достигнет 5 В, что по-прежнему надежно работает., @Gorria24
Вы хотите получить абсолютно минимальное энергопотребление? Если да, то вместо микроконтроллера используйте двойную защелку типа D. Схема ниже возьмет первый разрыв оптического луча, включит выход для этой защелки и заблокирует включение другой защелки.
Когда вход синхронизации становится высоким (луч прерывается), высокий уровень на входе D передается на Q, а -Q становится низким. Этот низкий уровень заставит выход другой защелки оставаться низким.
Для сброса освещения используется кнопочный переключатель, очищающий выход Q. После этого он снова готов к работе.
Я не показал блок питания (обходной конденсатор). Микросхема — CD74HC74. 14 контактов, содержащих две защелки. Единственный потребляемый ток — это ток светодиода и ток оптотранзисторов.
- Digispark ATtiny 85 - не распознается как HID устройство
- Digispark Micro (ATTINY85) не работает на Macbook Pro 2016 г.
- Связь последовательного порта Digispark
- Библиотеки I2C для ATTiny85?
- Можно ли подключить экран SD-карты к плате Digispark ATtiny85?
- Программирование сервопривода на ATtiny85
- Digispark Atinny85 не распознан (проблема с загрузчиком)
- Mac для последовательной связи с Digispark ATtiny85
Попробуйте погуглить: «Arduino INPUT_PULLUP», «Обнаружение края кнопки Arduino» и «Устранение дребезга кнопки Arduino»., @tttapa
Есть ли что-то особенное в синем переключателе Cherry MX? ... я думал, что это просто SPST-переключатель, @jsotola
Мне просто очень нравятся синие переключатели вишневого цвета, если честно., @MintCollie