04-07-2021, 14:13
Witam!
Na wstępie zaznaczę iż zaczynam swoją zabawę z Arduino, więc na pierwszy ogień chciałem zrobić coś prostego. Jest to kontroler przeznaczony do gier, wyposażony w trzy przyciski, jednak nie potrafię napisać, tudzież znaleźć i edytować sketcha.
Ściągnąłem bibliotekę Joystick z tego linku: https://github.com/MHeironimus/ArduinoJoystickLibrary
Jak wspomniałem moje urządzenie jest zbudowane z trzech przycisków, po jednym pinie z każdego przycisku wspólnie zalutowałem do GND, zaś sygnały z tych przycisków odpowiednio do pinów/miejsc A3, A1 oraz 15.
Najbliżej sukcesu byłem używając aplikacji SimHub, która ma wbudowany swego rodzaju kofigurator Ardunio i wszystko działało, jednak jestem estetą i nie podoba mi się to, że w sofcie jest około 20 przycisków, z czego tylko 3 są używane. Chciałem napisać sketch do tego projektu, jednak kompletnie nie wiem o co chodzi. Wgrałem przykładowy szkic pod nazwą "Joystick Button" ale po zweryfikowaniu i wgraniu nic nie działa, a dodatkowo widzę że w sofcie pojawiło się jeszcze więcej przycisków, pomimo że w szkicu są określone tylko 4 przyciski. Tutaj pytanie - czy za ilością przycisków w sofcie odpowiada biblioteka?
Dodam, że próbowałem zmienić pinMode. Tam gdzie figurują cyfry 9, 10 i 11 zmieniłem na A3, A1 i 15, ale podejrzewam że to na nic bo nic to nie dało, jedynie pierwsze 3 przyciski były "wciśnięte" cały czas w sofcie.
Mam nadzieję że udało mi się sprecyzować o co chodzi, jeśli nie postaram się to opisać dokładniej. Pozdrawiam!
Na wstępie zaznaczę iż zaczynam swoją zabawę z Arduino, więc na pierwszy ogień chciałem zrobić coś prostego. Jest to kontroler przeznaczony do gier, wyposażony w trzy przyciski, jednak nie potrafię napisać, tudzież znaleźć i edytować sketcha.
Ściągnąłem bibliotekę Joystick z tego linku: https://github.com/MHeironimus/ArduinoJoystickLibrary
Jak wspomniałem moje urządzenie jest zbudowane z trzech przycisków, po jednym pinie z każdego przycisku wspólnie zalutowałem do GND, zaś sygnały z tych przycisków odpowiednio do pinów/miejsc A3, A1 oraz 15.
Najbliżej sukcesu byłem używając aplikacji SimHub, która ma wbudowany swego rodzaju kofigurator Ardunio i wszystko działało, jednak jestem estetą i nie podoba mi się to, że w sofcie jest około 20 przycisków, z czego tylko 3 są używane. Chciałem napisać sketch do tego projektu, jednak kompletnie nie wiem o co chodzi. Wgrałem przykładowy szkic pod nazwą "Joystick Button" ale po zweryfikowaniu i wgraniu nic nie działa, a dodatkowo widzę że w sofcie pojawiło się jeszcze więcej przycisków, pomimo że w szkicu są określone tylko 4 przyciski. Tutaj pytanie - czy za ilością przycisków w sofcie odpowiada biblioteka?
Dodam, że próbowałem zmienić pinMode. Tam gdzie figurują cyfry 9, 10 i 11 zmieniłem na A3, A1 i 15, ale podejrzewam że to na nic bo nic to nie dało, jedynie pierwsze 3 przyciski były "wciśnięte" cały czas w sofcie.
Kod:
#include <Joystick.h>
Joystick_ Joystick;
void setup() {
// Initialize Button Pins
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
// Initialize Joystick Library
Joystick.begin();
}
// Constant that maps the phyical pin to the joystick button.
const int pinToButtonMap = 9;
// Last state of the button
int lastButtonState[4] = {0,0,0,0};
void loop() {
// Read pin values
for (int index = 0; index < 4; index++)
{
int currentButtonState = !digitalRead(index + pinToButtonMap);
if (currentButtonState != lastButtonState[index])
{
Joystick.setButton(index, currentButtonState);
lastButtonState[index] = currentButtonState;
}
}
delay(50);
}
Mam nadzieję że udało mi się sprecyzować o co chodzi, jeśli nie postaram się to opisać dokładniej. Pozdrawiam!