Большая коробка для пуговиц.

Источник:

Большой красный ящик для кнопок, в котором можно разместить 100-миллиметровую аркадную кнопку, такую ​​​​как можно найти на Amazon. Чуть выше оригинала, чтобы разъемы внизу прилегали удобнее. Также имеется отверстие для вывода провода.

Для вашего удобства ниже скрипт, который отправляет нажатия кнопок в приложение C# (полное раскрытие, использование CmdMessenger, искренне ваш)

В приведенном ниже коде используются Adafruit_debounce и CmdMessenger для подключения к приложению C# через USB.
#include «Adafruit_Debounce.h»
#include «DoEvery.h»
#include // CmdMessenger

// Определить вывод кнопки, используя любой GPIO
#define BUTTON_PIN 4
#define LED_PIN 5

// Создаём объект устранения дребезга для кнопки, которая будет нажата при НИЗКОМ уровне
Кнопка Adafruit_Debounce (BUTTON_PIN, HIGH);

// Мигающие светодиодные переменные
boolledState = 0; // Текущее состояние светодиода
const int kBlinkLed = 13; // Контакт внутреннего светодиода

// Прикрепляем новый объект CmdMessenger к последовательному порту по умолчанию
CmdMessenger cmdMessenger = CmdMessenger(Serial);

// Это список распознаваемых команд. Это могут быть команды, которые можно отправлять или получать.
// Чтобы получить, прикрепите к этим событиям функцию обратного вызова
перечисление
{
kStatus,, // Команда для передачи статуса устройства получателю
kSetPressed, // Команда для обозначения нажатой кнопки
kSetReleased, // Команда для обозначения отпущенной кнопки
};

// Обратные вызовы определяют, над какими полученными командами мы выполняем действия
void AttachCommandCallbacks()
{
// Прикрепляем методы обратного вызова
cmdMessenger.attach(OnUnknownCommand);
//cmdMessenger.attach(kSetPressed, OnSetPressed);
//cmdMessenger.attach(kSetReleased, OnSetReleased);
}

// Вызывается, когда полученная команда не имеет прикрепленной функции
недействительный OnUnknownCommand()
{
cmdMessenger.sendCmd(kStatus,«Команда без присоединенного обратного вызова»);
}

// Функция настройки
недействительная настройка()
{
// Прослушиваем последовательное соединение на предмет сообщений от ПК
Серийный.начало(9600);

// Инициализируем кнопку, которая также установит подтягивание
pinMode (LED_PIN, ВЫХОД);
кнопка.begin();

// Добавляет новую строку к каждой команде
cmdMessenger.printLfCr();

// Прикрепляем пользовательские методы обратного вызова моего приложения
AttachCommandCallbacks();

// Отправляем на ПК статус, в котором говорится, что Arduino загрузился
// Обратите внимание, что это хорошая функция отладки: она также сообщит вам
// если в вашей программе была ошибка и Arduino перезапустился
//cmdMessenger.sendCmd(kStatus,«Arduino запустился!»);

// устанавливаем контакт для мигания светодиода
pinMode (kBlinkLed, ВЫХОД);
}

// Функция цикла
недействительный цикл()
{
// Обновляем состояние кнопки
кнопка.обновление();

// Обработка входящих последовательных данных и выполнение обратных вызовов
cmdMessenger.feedinSerialData();

если (button.justPressed()) {
digitalWrite(LED_PIN, ВЫСОКИЙ);
cmdMessenger.sendCmd(kSetPressed,«Нажатый»);
}
иначе если (button.justReleased()) {
digitalWrite (LED_PIN, НИЗКИЙ);
cmdMessenger.sendCmd(kSetReleased,«Выпущено»);
}

// Поскольку мы используем довольно простую библиотеку устранения дребезжания, мы несем ответственность за

// для создания достаточной задержки для считывания состояния кнопки

// когда сигнал перестал прыгать

задержка(50);
}

09:57
34
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.