Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wykorzystanie encodera z myszki do budowy prostej kierownicy do gier digispark

pawel13579999 12 Jul 2020 11:47 621 2
  • #1
    pawel13579999
    Level 10  
    Witam,
    A wiec tak wpadlem na taki pomysł by wykorzystać encoder z rolki do przewijania tekstu z myszki jako element sterujacy do gier np. ets i samochodówki (kierownica do gier). No i o ile poradziłem sobie od strony mechanicznej to już gorzej z kodem. Znalazłem taki kod służący do sterowania głośnością góra-dół, który robi prawie to co chce tylko nie wiem czym zastąpić Vol up/down tak żeby ta kierownica skręcała. Próbowałem keykode arow left/raight kompilowało sie to bez błędów ale nie reagowało kierownica nie skręcała. W TrinketHidCombo są jeszcze jakieś funkcje sterujące myszką no ale nie wiem jak ich użyć.
    Tak mam to podłączone do digisparka
    Wykorzystanie encodera z myszki do budowy prostej kierownicy do gier digispark
    http://learn.adafruit.com/trinket-usb-volume-knob
    A taki kod znalazłem na necie, który trzeba zmodyfikować.
    Próbowałem też czegoś takiego zmodyfikowałem kod wysyłający pozycje enkodera do serial no ale wciąż nie reaguje domyślam się że problem z odczytem pozycji enkodera jest jakiś inny typ czy coś ale kompiluje się to:
    Code: c
    Log in, to see the code
  • #2
    SucharekPL
    Level 7  
    Chcesz zrobić kierownicę i użyć enkodera jako "czujnik obrotu", tak?
    Scrolla możesz użyć inaczej i według mnie lepiej (np. podgłaśnianie radia, przewijanie nawigacji itp.) służy do tego program SimHub (Link).
  • #3
    pawel13579999
    Level 10  
    Tak chce użyć enkodera jako czujnika obrotu. Jeśli scroll się do tego nie nadaje np. z powodu szybkiego zużycia to mam też gdzieś enkodery optyczne. A tą kierownicę do gier to chciałem zbudować tylko dla tego żeby było tanio z części z odzysku. Nie jestem jakimś tam nałogowym graczem gram raczej nie za często więc nie ma sensu kupować kierownicy do gier. No niestety nikt nie stworzył jeszcze kodu pod kierownice właśnie z enkoderem widziałem jakieś tam wykorzystujące potencjometr no ale tam trzeba przekładnie dorobić chyba a tu miałbym dożo łatwiej. Tyle że u mnie z programowaniem pod górkę.
    Próbowałem też czegoś takiego zmodyfikowałem kod wysyłający pozycje enkodera do serial no ale wciąż nie reaguje ale kompiluje się to:
    Code:

    #include <DigiMouse.h>
    int val;
    int encoder0PinA = 0;
    int encoder0PinB = 0;
    int encoder0Pos = 0;
    int encoder0PinALast = LOW;
    int n = LOW;

    void setup() {
    pinMode (encoder0PinA,INPUT);
    pinMode (encoder0PinB,INPUT);
    digitalWrite(encoder0PinA, HIGH);
    digitalWrite(encoder0PinB, HIGH);
    DigiMouse.begin();

    }

    void loop() {
    n = digitalRead(encoder0PinA);
    if ((encoder0PinALast == LOW) && (n == HIGH)) {
    if (digitalRead(encoder0PinB) == LOW) {
    encoder0Pos--;
    } else {
    encoder0Pos++;
    }

    DigiMouse.moveY(encoder0Pos);
    }
    encoder0PinALast = n;
    }