Digispark мультимедиа клавиатура

DizzJk
Offline
Зарегистрирован: 29.11.2016

День добрый! Хочу купить digispark и подключить как мультимедиа клавиатуру для подключения к резестивным кнопкам руля. Гугл примеров подключения и кода не выдал ((( так что если есть кто это делал, прошу помочь

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Каких примеров он не выдал? Подключения резистивной клавиатуры? Да, ладно! Или Вам нужен пример именно на Ваш руль, атов такой-то марки и такого-то годв выпуска?

DizzJk
Offline
Зарегистрирован: 29.11.2016

Нет, с этим я справлюсь, делал это на леонардо. Там есть полное описание. А на дижи такого не нашел. Если есть ссылка, прошу ткнуть носом

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

DizzJk пишет:
Нет, с этим я справлюсь, делал это на леонардо. Там есть полное описание. А на дижи такого не нашел. Если есть ссылка, прошу ткнуть носом

нап здоровье  https://github.com/adafruit/Adafruit-Trinket-USB/archive/master.zip

Но леонардо горазо лучше, дижиспарк в принципе глюкавая хрень. Каждый второй не может залить в неё скетч.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

dimax пишет:

дижиспарк в принципе глюкавая хрень. Каждый второй не может залить в неё скетч.

И я в их числе. Так и валяюца 5 штук бесполезных китайских digispark-ов

DizzJk
Offline
Зарегистрирован: 29.11.2016

Спасибо! А код подойдет от лео? В принципе у соседа есть программатор, он может впихнуть невпихуемое

И чет я не увидел там мультимедиа клавиш или плохо смотрел?

DizzJk
Offline
Зарегистрирован: 29.11.2016

Купил digispark накидал пробный скетч

#include "TrinketHidCombo.h"


void setup()
{
 TrinketHidCombo.begin(); 
}

void loop()
 {
    TrinketHidCombo.pressMultimediaKey(MMKEY_VOL_UP);
  delay (1000);
  }

все отлично работает, но встал в тупик как узнать значения кнопок на руле, сериал монитора то нет? 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

DizzJk пишет:

все отлично работает, но встал в тупик как узнать значения кнопок на руле, сериал монитора то нет? 

В библиотеке название папки FakeUsbSerial ни на какие мысли не наводит?

DizzJk
Offline
Зарегистрирован: 29.11.2016

что то идет не так... далаю вроде как по инструкции: дрова  ставлю, питона+допы к нему, ком0ком (выбран ком3),  а он мне потом выдает такую шляпу, вместо hello world =)

Traceback (most recent call last):
  File "C:\Users\Tom\Documents\Arduino\libraries\Adafruit-Trinket-USB-master\TrinketFakeUsbSerial_allfiles_20140131a\Host_Software\Python\TrinketFakeUsbSerialHostSW.py", line 159, in <module>
    main(sys.argv[1:])
  File "C:\Users\Tom\Documents\Arduino\libraries\Adafruit-Trinket-USB-master\TrinketFakeUsbSerial_allfiles_20140131a\Host_Software\Python\TrinketFakeUsbSerialHostSW.py", line 55, in main
    ser = serial.Serial(port)
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 38, in __init__
    SerialBase.__init__(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\serial\serialutil.py", line 282, in __init__
    self.open()
  File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 66, in open
    raise SerialException("could not open port %r: %r" % (self.portstr, ctypes.WinError()))
SerialException: could not open port 'COM3': WindowsError(5, '\xce\xf2\xea\xe0\xe7\xe0\xed\xee \xe2 \xe4\xee\xf1\xf2\xf3\xef\xe5.')

 

DizzJk
Offline
Зарегистрирован: 29.11.2016

Спасибо, сегодня получилось получить ответ!

DizzJk
Offline
Зарегистрирован: 29.11.2016

А сегодня заработали и кнопки на руле! Еще раз спасибо!
Пысы: если кому-нибудь будет нужно, обращайтесь!

master112
Offline
Зарегистрирован: 03.09.2018

Здравствуйте!

Нужен был девайс, который по нажатию удаленной кнопки нажимает кнопку "Enter" в окне открытой программы.


#include "DigiKeyboard.h"  // Include Library for Keyboard Emulation / Before verifying the code , change the board to Digispark default .

#define LED 1
#define SENSOR 0
#define  THRESHOLD 100000
long int caller = 0;
bool flag = false;

void setup() {
pinMode(SENSOR, INPUT_PULLUP);
pinMode(LED, OUTPUT);
//pinMode(2, INPUT_PULLUP);
//pinMode(5, INPUT_PULLUP);

 digitalWrite(LED,HIGH);      
 DigiKeyboard.update();
 DigiKeyboard.sendKeyStroke(0x00);
 digitalWrite(LED,LOW);


}

void loop() {
  // put your main code here, to run repeatedly:
while (digitalRead(SENSOR)) ;

  while(1)   
    {
    if (!digitalRead(SENSOR)) caller++;
    else {
      caller = 0;
      goto  EXIT;
      }
    if (caller > THRESHOLD){
        caller = 0;
        flag = true;
        goto  EXIT;
       };
      }
    EXIT:
  
       if(flag)
       {       
          //DigiKeyboard.update();
          //while (!usbInterruptIsReady());
          flag = false;
          digitalWrite(LED,HIGH); 
          DigiKeyboard.update();
          delay(50);
          DigiKeyboard.sendKeyStroke(KEY_ENTER); 
          digitalWrite(LED,LOW);
          delay(50); 
       };
     while(!digitalRead(SENSOR));   
    };
   

Но при  перезагрузке компа клава отваливается, в диспетчере устройств не определяется. Приходится переподключать usb. Точно не уверен, но кажется проблема в V-USB... библиотеку от Adafruit запустить не получилось.

Прошу помощи!