Как создать настраиваемую перфорированную кнопку клавиатуры
Компоненты и расходные материалы
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
Необходимые инструменты и машины
| ||||
|
Приложения и онлайн-сервисы
![]() |
|
Об этом проекте
Когда вы на работе или вам скучно играть в игры, разве у вас часто не возникает побуждения нажимать на клавиатуру?
Нажмите эту перфорируемую настраиваемую клавишу! Избавьтесь от своих несчастий!
В этом проекте я сделал настраиваемую перфорированную кнопку клавиатуры, состоящую из пьезоэлемента, платы на базе ATmega32U4, резистора большого номинала (1 МОм) и некоторых губок.
Чтобы печатать, пользователи просто нажимают или пинают нужную клавишу.
Требуемое оборудование:
- Arduino Pro Micro
Micro основан на микроконтроллере ATmega32U4 со встроенным USB-портом, который делает Micro узнаваемым как мышь или клавиатуру.
Вы можете использовать любой микроконтроллер, использующий чип ATmega32U4.

- Пьезоэлектрический диск
Пьезо - это электронное устройство, которое генерирует напряжение, когда оно физически деформируется вибрацией, звуком или механической нагрузкой.
Пьезоэлектрический диск можно найти в колонках в подарочной музыкальной карте. Если он у вас есть, вам не нужно покупать пьезоэлемент в магазине, используйте отвертку и / или нож, чтобы отделить корпус динамика. Затем снимите металлическую пластину и поднимите печатную плату (они могут быть плотно зажаты), чтобы вы могли добраться до пьезоэлектрического диска внизу.

- Резистор 1 МОм
Этот резистор высокого номинала ограничивает напряжение и ток, вырабатываемые пьезоэлементом, и защищает аналоговый вход.

- Губки
При приложении силы к губке она деформируется, а при снятии силы принимает свою первоначальную форму. Пьезоэлемент будет помещен между губками, и когда кто-нибудь ударит по нему, генерируемое напряжение будет посылаться через аналоговый вывод Arduino Micro.

Принципиальная схема:
Работает:
Пьезо поляризованы, что означает, что напряжение проходит через них (или выходит из них) в определенном направлении. Подключите черный провод (более низкое напряжение) к земле, а красный провод (более высокое напряжение) к аналоговому выводу 0. Кроме того, подключите резистор 1 МОм параллельно пьезоэлементу, чтобы ограничить напряжение и ток, создаваемые пьезоэлементом и для защиты аналогового входа.
Если выходной сигнал пьезоэлемента (действующего как датчик детонации) превышает определенный порог, ваша плата будет выполнять операции с клавиатурой в соответствии с программой.

Сделайте ограждение для губок:

Возьмите ткань и сделайте оградку для губок, используя иголку и нитку. Я сказал маме приготовить один, и она сделала вольер, чтобы прикрыть контур и губки.
Вставьте пьезоэлемент в губку:

Код:
#include const int knockSensor =A0; // пьезоэлемент подключен к аналоговому выводу 0const int threshold =100; // пороговое значение // эти переменные изменятся:int sensorReading =0; // переменная для хранения значения, считанного с датчика pinvoid setup () {Keyboard.begin ();} void loop () {// считываем датчик и сохраняем его в переменной sensorReading:sensorReading =analogRead (knockSensor); // если показание датчика превышает пороговое значение:if (sensorReading> =threshold) {// для настройки ключевой функции измените значения ASCII ниже, см. https://www.arduino.cc/en/Reference/ASCIIchart Keyboard.write (32); // ASCII значение клавиши пробела 32, delay (150); Keyboard.releaseAll (); }}
- Подключитесь согласно схеме и загрузите код
- Просто подключите его к USB-порту компьютера, и он сможет выполнять различные функции клавиатуры в зависимости от программы.
Не забудьте изменить код, если хотите выполнить другое действие с клавиатуры.
Измените только следующие строка кода для модификации
Keyboard.write ("Значение ASCII");
Почему это круто? Подумайте о возможностях использования:
- Игровые ярлыки или элементы управления
- Откройте часто используемое приложение.
- Перейти на часто используемый веб-сайт.
- Ярлыки Windows, такие как "сохранить документ" или "сжать все окна".
- Введите свой адрес электронной почты или обычную строку
- Введите сложный пароль.
- Паническая кнопка работает
Большое спасибо за чтение, если вам нужна дополнительная информация, не стесняйтесь спрашивать в комментариях, и я постараюсь ответить вам.
Удачного создания!
Код
- customizable_punchable_keyboard_button.ino
customizable_punchable_keyboard_button.ino Arduino
#includeconst int knockSensor =A0; // пьезоэлемент подключен к аналоговому выводу 0const int threshold =100; // пороговое значение // эти переменные изменятся:int sensorReading =0; // переменная для хранения значения, считанного с датчика pinvoid setup () {Keyboard.begin ();} void loop () {// считываем датчик и сохраняем его в переменной sensorReading:sensorReading =analogRead (knockSensor); // если показание датчика превышает пороговое значение:if (sensorReading> =threshold) {// для настройки ключевой функции измените значения ASCII ниже, см. https://www.arduino.cc/en/Reference/ASCIIchart Keyboard.write (32); // ASCII значение клавиши пробела 32, delay (150); Keyboard.releaseAll (); }}
Схема
circuit_diagram_dCHo19d2OK.fzzПроизводственный процесс
- Как измерить качество воздуха на OpenSensors
- Как создать платформу для роботов Arduino + Raspberry Pi
- Создание монитора Ambilight с помощью Arduino
- Как взломать ИК-пульты
- Какой ты рост?
- Как создать матрицу NeoPixel
- Настраиваемый счетчик Гейгера-Мюллера
- Насколько легко использовать термистор ?!
- 64-клавишная матрица клавиатуры для прототипирования для Arduino
- Как сделать компас с помощью Arduino и Processing IDE