Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'arduin'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 2 wyniki

  1. Witam! Mam może głupie pytanie ale co zrobić aby sterownik dawał 6V na kanał? Jakie musi być zasilanie. Może jakaś przetwornica?
  2. Tym razem przygotowałem projekt na Arduino. Jest to gamepad który posiada 2 joysticki, 8 przycisków oraz diodę informującą o zasilaniu. Całością steruje Arduino Pro Mini. Budowa Części użyte do budowy: Arduino Pro Mini 328 5V/16MHz Konwerter UART-USB PL2303TA 2x Joystick z przyciskiem 8x przycisk Tact Switch Płytka uniwersalna 30x70mm Czerwona dioda 3mm, rezystor 330Ω, listwa goldpin, przewody Obudowę wykonałem ze sztywnego kartonu. Wewnątrz znajduje się płytka z Arduino oraz 2 joysticki Na górnym panelu obudowy znajdują się przyciski oraz dioda które podłącza się za pomocą wtyków goldpin Po złożeniu wszystkiego w całość pad wygląda tak: Pada podłącza się do komputera za pomocą konwertera UART-USB, od góry znajduje się otwór na wyjściu uart z Arduino Schemat połączeń Oprogramowanie Po stronie Arduino w pętli sprawdzam stan przycisków i jeśli stan przycisku ulegnie zmianie wysyłam informację o zmianie stanu przycisku do komputera for(int i=0; i<10; i++) { // Dla każdego przycisku btn = digitalRead(btnPins[i]); // Odczyt stanu przycisku if(btn != state[i+8]) { // Jeśli stan przycisku różni się od tego który jest zapisany w zmiennej state[i+8] = btn; // Aktualizacja stanu przycisku w zmiennej text = btnPrefix+i+!btn; Serial.write(text.c_str()); // Wysyłanie informacji o zmianie stanu przycisku } } Podobnie działają joysticki, jeśli joystick jest wychylony w którąś stronę to informacja o skierowaniu go w tą stronę będzie wysyłana dopóki nie zmieni on pozycji. Po stronie komputera działa skrypt w Pythonie który odbiera sygnały z Arduino i symuluje klawiaturę oraz mysz. Na początku wczytywany jest plik konfiguracyjny (jeśli został podany) oraz nawiązywane jest połączenie z Arduino. ports = self.listSerialPorts() # Wyszukiwanie dostępnych portów if(len(ports) > 0): if(len(sys.argv) > 1): # Jeśli została podana ścieżka do pliku konfiguracyjnego if(os.path.isfile(sys.argv[1])): # i plik istnieje self.config.read(sys.argv[1]) # Jest otwierany self.readSettings() # Odczytywane są akcje przypisane przyciskom i joystickom if(len(ports) == 1): # Jeśli dostępny jest jeden port self.serial.port = ports[0] else: # Jeśli dostępnych jest więcej portów połączenie jest nawiązywane z tym podanym w pliku konfiguracyjnym lub z pierwszym dostępnym if(self.config.has_section('Config') and self.config.has_option('Config', 'DefaultPort') and self.config['Config']['DefaultPort'] in ports): self.serial.port = self.config['Config']['DefaultPort'] else: self.serial.port = ports[0] self.serial.open() # Otwieranie połączenia print("Połączono z portem ", self.serial.port) self.listen() # Nasłuchiwanie sygnałów z Arduino else: print("Nie wykryto żadnych portów!") Po odebraniu sygnału informacja jest analizowana i wykonywana jest akcja aktualnie przypisana do tego stanu przycisku/joysticka. if(event in pyautogui.KEYBOARD_KEYS): # Wciśnięcie określonego przycisku na klawiaturze pyautogui.keyDown(event) if(state == '1') else pyautogui.keyUp(event) elif(event == 'mouseUp' and state == '1'): # Poruszanie kursorem w określonym kierunku pyautogui.moveRel(None, -speed) ... elif(event == 'LMB'): # Wciśnięcie określonego przycisku myszy pyautogui.mouseDown() if state == '1' else pyautogui.mouseUp() ... elif(event == 'scrollDown' and state == '1'): # Przewijanie w góre/dół pyautogui.scroll(-25) elif(event == 'cursorspeed' and state == '1'): # Zmiana prędkości poruszania kursorem if(self.mouseSpeedSelected == len(self.mouseSpeed)-1): self.mouseSpeedSelected = 0 else: self.mouseSpeedSelected += 1 print("Ustawiono szybkość poruszania kursora na", self.mouseSpeed[self.mouseSpeedSelected]) elif(re.search(r'^(ctrl|alt|shift)\+([a-zA-Z])$', event)): # Proste skróty klawiszowe keys = re.search(r'^(ctrl|alt|shift)\+([a-zA-Z])$', event).groups() pyautogui.hotkey(keys[0], keys[1]) Akcje przypisane do konkretnych przycisków/stanów joysticków można ustawiać w pliku konfiguracyjnym, następnie wystarczy wskazać wybrany plik konfiguracyjny podczas uruchamiania skryptu pythona. Kompletny kod znajduje się w załączniku. Prezentacja działania ArduPad.rar
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.