Spisu treści:

Pudełko na przyciski Sim Racing: 8 kroków
Pudełko na przyciski Sim Racing: 8 kroków

Wideo: Pudełko na przyciski Sim Racing: 8 kroków

Wideo: Pudełko na przyciski Sim Racing: 8 kroków
Wideo: Jak wygląda jazda z rodzicami VS samemu 😈 #shorts #forzahorizon4 2024, Listopad
Anonim
Pudełko na przycisk Sim Racing
Pudełko na przycisk Sim Racing

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

Przygotowanie
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ć

Zmierz i wywierć
Zmierz i wywierć
Zmierz i wywierć
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

Dopasuj przyciski, pokrętła i przełączniki
Dopasuj przyciski, pokrętła i przełączniki
Dopasuj przyciski, pokrętła i przełączniki
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

Zaprojektuj układ okablowania
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

Lutowanie
Lutowanie
Lutowanie
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); }; } }

  1. Podłącz Arduino Pro Micro do komputera, podłączając kabel USB
  2. Aby przesłać kod, wybierz typ Arduino, przechodząc do menu Narzędzia > Tablica:… > Arduino/Genuino Micro.
  3. Aby wybrać odpowiedni port USB przejdź do Narzędzia > Port: > COM x (Arduino/Genuino Micro)
  4. Sprawdź szkic, klikając ✓ w lewym górnym rogu (pod Plik)
  5. Naciśnij → obok, aby przesłać go do Arduino

Krok 8: Dodaj do swojego zestawu

Dodaj do swojego zestawu
Dodaj do swojego zestawu

Gratulacje! Zaszedłeś tak daleko. Teraz czas na wyścig!

Zalecana: