Знакомимся с digispark на attiny85

[vc_row][vc_column][vc_video link=»https://www.youtube.com/watch?v=LraMR_fEDFA»][vc_wp_text]Недавно я купил плату digispark. Она компактная, дешевая и умеет прикидываться HID устройством (клавиатурой, джойстиком). Так уж она мне понравилась, что я решил вам рассказать о ней, показать как установить драйвера, сделать мини проект и поделиться своими мыслями о ней.

Плата стоит всего 110 рублей на aliexpress, цена более чем доступная.

 

Скачайте и установите arduino IDE версии 1.8.5, на момент написания статьи самая новая 1.8.6, но с ней digispark не будет работать (если у вас работает, скажите как?).

Для работы с ней, устанавливаем драйвера на компьютер. Если вы используете НЕ windows, то не нужно.

 

Dpinst.exe для 32 битных систем, Dpinst64.exe для 64 битных систем

 

Теперь надо добавить её в менеджер плат. Открываем настройки arduino ide и в строку “дополнительные ссылки для менеджера плат” вставьте http://digistump.com/package_digistump_index.json

Откройте менеджер плат найдите Digistump AVR boards и установите.

После установки выберите плату digispark default 16.5mhz.

Загрузка скетча на digispark отличается от ардуино. Нажимаем на кнопку загрузки, потом у вас есть 60 секунд чтобы воткнуть ее в usb порт.

Супер! Плата готова к работе. Теперь перейдём к созданию устройства на её базе.

У нее есть 6 пинов с разными возможностями. Сразу вас огорчу P5 это пин перезагрузки, а P3 вы не сможете использовать при создании HID устройства.

Распиновка digispark

Остается всего 4 пина, но это не значит, что можно подключить только 4 кнопки. Можно сделать резистивную клавиатуру или расширитель пинов. Для примера добавлю три кнопки.

Переходим к прошивке.

 

//библиотека клавиатуры
#include "DigiKeyboard.h"  
//объявляем цифровые пины
void setup() {
 pinMode(0, INPUT);
 pinMode(1, INPUT);
 pinMode(2, INPUT);
}
void loop() {
 //если кнопка нажата
 if (digitalRead(0)==HIGH){
 //нажимаем кнопки
DigiKeyboard.sendKeyStroke(KEY_0 , MOD_CONTROL_LEFT);
 }
 if (digitalRead(1)==HIGH){
   DigiKeyboard.sendKeyStroke(KEY_1 , MOD_CONTROL_LEFT);
 }
 if (digitalRead(2)==HIGH){
   DigiKeyboard.sendKeyStroke(KEY_2 , MOD_CONTROL_LEFT);
 }
}
//Если хотите нажать одну кнопку
DigiKeyboard.sendKeyStroke(KEY_2);
//Если хотите нажать две кнопки
DigiKeyboard.sendKeyStroke(KEY_2 , MOD_CONTROL_LEFT);

Загружаем скетч на плату.

Переходим в программу, где хотим использовать кнопки (в моём случае это OBS — Open Broadcaster Software) и настраиваем горячие клавиши.

Проверяем.

Плата огонь! Пишите в комментариях хотите ли увидеть сборку полноценного stream deck, как на изображении снизу

[/vc_wp_text][/vc_column][/vc_row]

Загрузка ...
The Robot
Adblock
detector