Spisu treści:
- Krok 1: Przygotowanie
- Krok 2: Zaprojektuj układ pudełka
- Krok 3: Zmierz i wywierć
- Krok 4: Dopasuj przyciski, pokrętła i przełączniki
- Krok 5: Zaprojektuj układ okablowania
- Krok 6: Lutowanie
- Krok 7: Pisanie kodu
- Krok 8: Dodaj do swojego zestawu
Wideo: Pudełko na przyciski Sim Racing: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Witamy uzależnionych od wyścigów sim!
Czy kończą Ci się skróty klawiszowe, do których można przypisać wszystkie elementy sterujące samochodu? Prawdopodobnie potrzebujesz pudełka na guziki! W tym Instructable stworzymy go od podstaw. Pole przycisku będzie miało 32(!) dostępne stany przycisków. Do korzystania z tego pola przycisku nie jest wymagane żadne dodatkowe oprogramowanie. Dowiesz się, jak skonfigurować matrycę przycisków i pisać (lub kopiować) kod, który należy przesłać do Arduino.
Ważne jest, aby wiedzieć, że skrzynka przycisków nie obsługuje wielu jednocześnie wciskanych przycisków.
Zacznijmy!
Krok 1: Przygotowanie
Do stworzenia pudełka z przyciskami będziesz potrzebować narzędzi, przycisków i innych elementów. Zapraszam do stworzenia pudełka z przyciskami według własnego uznania.
Elektronika:
- guziki
- Przełącza
- Enkodery obrotowe
- Arduino Pro Micro
- Kabel mini USB na USB
- Przewody
Narzędzia:
- Wiertarka
- Lutować
- Suwmiarka
- Wkrętaki
- Nóż
- Klucz
Oprogramowanie:
- IDE Arduino
- Photoshop/Paint (opcjonalnie; można narysować odręcznie)
Inne:
- Obudowa (pudełko; można kupić lub wydrukować na zamówienie 3D)
- Owijka winylowo-węglowa (opcjonalnie)
- Obrotowe pokrętła enkodera
- Osłony przełączników (opcjonalnie)
- Drukarka etykiet (opcjonalna)
- Gumowa przelotka
Gdy masz już wszystkie (lub wystarczająco dużo, aby zacząć) elementy, możemy przystąpić do projektowania układu pola przycisków.
Krok 2: Zaprojektuj układ pudełka
Narzędzia wymagane do tego kroku:
Photoshop/Paint (opcjonalnie; można narysować odręcznie)
Projekt pudełka na guziki może być inny dla każdego. Jednak w przypadku tego Instructable użyjemy układu, który składa się z:
- 4x trójdrożne przełączniki dwustabilne
- 2x przełączniki jednokierunkowe
- 10x proste przyciski
- 4x enkoder obrotowy z prostym przyciskiem
Przełączniki trójpozycyjne:
Istnieje wiele rodzajów przełączników dwustabilnych. Niektóre są chwilowe, a niektóre pozostają na miejscu, dopóki nie zostaną przełączone z powrotem. Od Ciebie zależy, jakiego typu użyjesz, ale radzę używać chwilowych przełączników, ponieważ to pole przycisków nie jest w stanie mieć jednocześnie wielu aktywnych przycisków. Ponieważ przełączniki są trójdrożne (wł./wył./wł.), mamy do dyspozycji osiem (4x2) przycisków.
Przełączniki jednokierunkowe:
Można je uznać za proste przyciski (wyłączone/włączone). Mogą to być również chwilowe lub przełączane. Ponownie, do osobistych preferencji, które wybrać. Dają nam one dwa (2) dostępne przyciski.
Proste przyciski:
Przyciski takie jak te mogą być używane po prostu przez ich naciśnięcie (wyłączanie/włączanie). To da nam dziesięć (10) przycisków.
Enkodery obrotowe z prostym przyciskiem:
Większość (jeśli nie wszystkie) enkoderów obrotowych można obracać w obie strony w nieskończoność. Za każdym razem, gdy obracasz je w kierunku, jest używany jako naciśnięcie przycisku. Te obrotowe enkodery można również nacisnąć, dając im kolejny przycisk. Enkodery obrotowe dają dwanaście (12 = 4x3; obróć w lewo/obróć w prawo/wciśnij).
32 przyciski:
Posiadanie ich wszystkich razem daje nam 32 (8+2+10+12) naciśnięcia przycisków!
Zadowolony z układu? Czas zacząć budować!
Krok 3: Zmierz i wywierć
Narzędzia wymagane do tego kroku:
- Suwmiarka
- Wiertarka
- Elektronika (przyciski, przełączniki itp.)
Zmierz wszystkie przyciski, które chcesz dodać do swojego pola przycisków. Jeśli masz problem ze znalezieniem wymiarów swojej elektroniki, użyj (cyfrowej) suwmiarki, aby określić ich średnicę.
Zaznacz punkty środkowe elektroniki na powierzchni obudowy i wywierć otwory o odpowiednich rozmiarach. Chcesz sprawić, by obudowa była bardziej estetyczna? Poczekaj z dopasowaniem guzików!
Kiedy skończysz wiercić dziury, możemy sprawić, że zacznie wyglądać jak prawdziwe pudełko z guzikami!
Krok 4: Dopasuj przyciski, pokrętła i przełączniki
Narzędzia wymagane do tego kroku:
- Elektronika (przyciski, przełączniki itp.)
- Klucz
- Owijka winylowo-węglowa (opcjonalnie)
- Nóż (opcjonalnie)
Cała twoja elektronika powinna być wyposażona w nakrętkę, aby ją przykręcić. Jeśli nie; zmierz je i kup nakrętkę o odpowiednim rozmiarze.
Jeśli chcesz poprawić (osobista opinia) wygląd swojego pudełka z guzikami, możesz użyć folii winylowej z włókna węglowego. Przytnij go do rozmiaru (i nieco większego) powierzchni obudowy, w której wywierciłeś otwory. Zastosuj winyl i owiń go wokół rogów do tyłu. Dzięki temu owijka pozostanie na swoim miejscu po zamknięciu obudowy. Nadmiar winylu, który teraz blokuje otwory, można usunąć za pomocą noża.
Po założeniu owijki (lub nie) możesz zmieścić elektronikę, aby stworzyć przód swojej skrzynki na guziki. Powinieneś mieć już coś, co naprawdę wygląda jak jeden! Niestety, to jeszcze nie działa…
Krok 5: Zaprojektuj układ okablowania
Narzędzia wymagane do tego kroku:
Photoshop/Paint (opcjonalnie; można narysować odręcznie)
Tworzenie matrycy:
Korzystanie z matrycy zaoszczędzi nam czas oraz mnóstwo niepotrzebnego okablowania i lutowania. Sam nie będę się zagłębiał w szczegóły, ale zasugeruję zapoznanie się z tym artykułem, jeśli nie znasz pojęcia macierzy.
Zaprojektuj własną macierz lub użyj układu z tej instrukcji. W macierzy wykorzystamy pięć grup. Grupy są połączone z następującymi pinoutami w Arduino:
- 15: cztery obrotowe enkodery
- A0: pięć przycisków
- A1: dwa trójdrożne przełączniki i jeden przycisk;
- A2: dwa trójdrożne przełączniki i jeden przycisk;
- A3: pięć przycisków
Krok 6: Lutowanie
Narzędzia wymagane do tego kroku:
- Lutownica
- Lutować
- Elektronika (zamontowana na Twojej obudowie)
- Arduino Pro Micro
- Przewody
Opcjonalny:
Prześlij najpierw kod z następnego kroku, jeśli martwisz się o lutowanie. To pozwoli Ci sprawdzić swoje połączenia
Chcemy zastosować macierz zaprojektowaną w poprzednim kroku do rzeczywistego pola przycisków. Poświęć na to trochę czasu, zwłaszcza jeśli lutujesz po raz pierwszy.
Kilka porad:
- Rób jedną grupę na raz
- Podłącz Arduino do komputera, aby od czasu do czasu testować
- Nie należy zbyt mocno nagrzewać plastikowych przycisków, ponieważ mogą stopić i zerwać połączenia
- Nie używaj zbyt dużo lutu, mniej tym lepiej
- Użyj różnych kolorów przewodów dla każdej grupy/uziemienia
Krok 7: Pisanie kodu
Narzędzia wymagane do tego kroku:
- IDE Arduino
- Biblioteka joysticków
- Keypad.h (Arduino IDE > Szkic > Dołącz bibliotekę > Zarządzaj bibliotekami… > Wyszukaj klawiaturę i zainstaluj tę stworzoną przez Marka Stanleya i Alexandra Breviga)
#włącz #włącz
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
przyciski bajtowe [NUMROWS][NUMCOLS] = {
{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}, {20, 21, 22, 23}, };
struct rotariesdef {
bajt pin1; bajt pin2; int ccwchar; int cwchar; ulotny stan znaku bez znaku; };
rotariesdef rotaries[LICZBA] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#definiuj DIR_CCW 0x10
#define DIR_CW 0x20 #define R_START 0x0
#ifdef PÓŁKROKU
#define R_CCW_BEGIN 0x1 #define R_CW_BEGIN 0x2 #define R_START_M 0x3 #define R_CW_BEGIN_M 0x4 #define R_CCW_BEGIN_M 0x5 const unsigned charttable[6][4] = { // R_START (00) {R_START_M, R_CCW, R_CCW R_CCW_BEGIN {R_START_M | DIR_CCW, R_START, R_CCW_BEGIN, R_START}, // R_CW_BEGIN {R_START_M | DIR_CW, R_CW_BEGIN, R_START, R_START}, // R_START_M (11) {R_START_M, R_CCW_BEGIN_M, R_CW_BEGIN_M, R_START}, // R_CW_BEGIN_M {R_START_M, R_START_M, R_CW_BEGIN_M, R_START | DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW}, }; #else #define R_CW_FINAL 0x1 #define R_CW_BEGIN 0x2 #define R_CW_NEXT 0x3 #define R_CCW_BEGIN 0x4 #define R_CCW_FINAL 0x5 #define R_CCW_NEXT 0x6
const unsigned charttable[7][4] = {
// R_START {R_START, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CW_FINAL {R_CW_NEXT, R_START, R_CW_FINAL, R_START | DIR_CW}, // R_CW_BEGIN {R_CW_NEXT, R_CW_BEGIN, R_START, R_START}, // R_CW_NEXT {R_CW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_AL, R_CCW_AL, R_CCW_START R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START}, }; #endif
bajt rowPins[NUMROWS] = {21, 20, 19, 18, 15};
bajt colPins[NUMCOLS] = {14, 16, 10, 9, 8};
Keypad buttbx = Keypad(makeKeymap(przyciski), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz, fałsz);
pusta konfiguracja () {
Joystick.początek(); obrotowy_init();}
pusta pętla () {
Sprawdź wszystkie kodery();
SprawdźWszystkiePrzyciski();
}
void CheckAllButtons(void) {
if (buttbx.getKeys()) { for (int i=0; i
void obrotowy_init() {
dla (int i=0;i
unsigned char rotor_process(int _i) {
unsigned char pinstate = (digitalRead(obroty[_i].pin2) << 1) | digitalRead(obroty[_i].pin1); obroty[_i].state = ttable[obroty[_i].state & 0xf][pinstate]; return (obroty[_i].state & 0x30); }
void CheckAllEncoders(void) { for (int i=0; i < LICZBY;i++) {
unsigned char wynik = rotacyjny_process(i); if (wynik == DIR_CCW) { Joystick.setButton(obroty.ccwchar, 1); opóźnienie(50); Joystick.setButton(obroty.ccwchar, 0); }; if (wynik == DIR_CW) { Joystick.setButton(obroty.cwchar, 1); opóźnienie(50); Joystick.setButton(obroty.cwchar, 0); }; } }
- Podłącz Arduino Pro Micro do komputera, podłączając kabel USB
- Aby przesłać kod, wybierz typ Arduino, przechodząc do menu Narzędzia > Tablica:… > Arduino/Genuino Micro.
- Aby wybrać odpowiedni port USB przejdź do Narzędzia > Port: > COM x (Arduino/Genuino Micro)
- Sprawdź szkic, klikając ✓ w lewym górnym rogu (pod Plik)
- Naciśnij → obok, aby przesłać go do Arduino
Krok 8: Dodaj do swojego zestawu
Gratulacje! Zaszedłeś tak daleko. Teraz czas na wyścig!
Zalecana:
Jak naprawić przyciski pilota telewizora: 5 kroków
Jak naprawić przyciski pilota telewizora: Niektóre przyciski pilota telewizora mogą z czasem ulec zużyciu. W moim przypadku były to przyciski „kanał w górę” i „kanał w dół”. Styki na dole przycisku są prawdopodobnie zużyte. Tak naprawiłem mój
Przyciski Gameboy na ekranie dotykowym!: 10 kroków
Przyciski Gameboy na ekranie dotykowym!: Odkąd byłem małym chłopcem, chciałem gameboya. Kilka lat do przodu, wciąż nie mam gameboya, postanowiłem pobrać emulator. Ale….Nie czuć wirtualnych przycisków!Postanowiłem więc, że przyciski, które mogę umieścić na ekranie, będą się na siebie nakładały
Przyciski przewijania myszy: 5 kroków
Przyciski przewijania myszy: Przez lata miałem kilka myszy komputerowych, a kółko przewijania jest jedyną rzeczą, która konsekwentnie albo nie działa, albo działa nieregularnie. W większości unikałem używania przewijania do niedawna, kiedy zdecydowałem się dać pakiet graficzny
Przyciski zręcznościowe Plug and Play: 7 kroków (ze zdjęciami)
Przyciski Plug and Play Arcade: Niedawno zacząłem używać Arduino do tworzenia moich projektów. Jako projektant uwielbiam tworzyć niestandardowe interfejsy do moich gier/interaktywnych projektów. Jedyny problem, na który natknąłem się, że korzystanie z komunikacji szeregowej jest dość skomplikowane i podatne na problemy i bu
Niestandardowe Arduino, aby zachować przyciski na kierownicy CAN z nowym samochodowym stereo: 9 kroków (ze zdjęciami)
Niestandardowe Arduino, aby zachować przyciski na kierownicy CAN z nowym samochodowym stereo: Postanowiłem wymienić oryginalne samochodowe stereo w moim Volvo V70 -02 na nowe stereo, abym mógł cieszyć się takimi rzeczami jak mp3, bluetooth i zestaw głośnomówiący. Mój samochód ma kilka elementów sterujących na kierownicy do sterowania stereo, z których nadal chciałbym móc korzystać