logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Arduino Micro jako klawiatura: konfiguracja przycisku do symulacji spacji (Space)

Maks6 18 Sty 2023 16:53 798 3
REKLAMA
  • #1 20392333
    Maks6
    Poziom 4  
    Posty: 28
    Witam ,mam problem z podłączeniem i konfiguracją arduino micro. Mianowicie chcę podłączyć arduino jako klawiatura space jako button. Chodzi mi o to ,że kiedy nacisnę przycisk to na komputerze klika się space. Szukałem już rozwiązań po stronach ale nic nie chce działać. Coś podobnego jak tu https://www.instructables.com/Arduino-Programmable-Button-Panel-As-Keyboard/ tyle że po wciśnięciu nic się nie dzieje :( Liczę na pomoc i z góry dzięki.
  • REKLAMA
  • Pomocny post
    #2 20396808
    rb401
    Poziom 39  
    Posty: 3001
    Pomógł: 750
    Ocena: 982
    Maks6 napisał:
    Mianowicie chcę podłączyć arduino jako klawiatura space jako button. Chodzi mi o to ,że kiedy nacisnę przycisk to na komputerze klika się space. Szukałem już rozwiązań po stronach ale nic nie chce działać.


    Nie wnikam w to co jest na stronce instructables, z której korzystasz.
    Ale jeśli tylko o spację Ci chodzi, to sugeruję użyć szkicu z tego przykładu, bo to najbliższy Twoim warunkom (i z samego źródła Arduino):

    https://docs.arduino.cc/tutorials/micro/keyboard-press

    By wysyłał spację trzeba tylko zmienić w nim kod klawisza z 97 na 32 (w dwóch miejscach).

    Teraz jeszcze dla pewności wgrałem do Pro Micro i szkic działa jak ma działać. Czyli zwarcie pinu płytki 2 do GND powoduje wysłanie spacji.

    Ten szkic zmieniony pod wysyłanie spacji:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 20397002
    Maks6
    Poziom 4  
    Posty: 28
    Dzięki ,wszystko działa jak trzeba. Najbardziej zależało mi ,że gdy przytrzymam przycisk to będzie się cały czas klikać space.
  • #4 20397005
    Maks6
    Poziom 4  
    Posty: 28
    #include "Keyboard.h"

    //declaring button pins
    const int buttonPin = 2;

    int previousButtonState = HIGH;

    void setup() {
    //declare the buttons as input_pullup
    pinMode(buttonPin, INPUT_PULLUP);
    Keyboard.begin();
    }

    void loop() {
    //checking the state of the button
    int buttonState = digitalRead(buttonPin);

    //replaces button press with UP arrow
    if (buttonState == LOW && previousButtonState == HIGH) {
    // and it's currently pressed:
    Keyboard.press(32);
    delay(50);
    }

    if (buttonState == HIGH && previousButtonState == LOW) {
    // and it's currently released:
    Keyboard.release(32);
    delay(50);
    }

    previousButtonState = buttonState;

    }
REKLAMA