Skip to content

SNS-Automatyk/generator-frajdy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pygame touch launcher (RPi 3B+)

Lekki launcher w Python/Pygame dla RPi z ekranem dotykowym i 8 przyciskami GPIO.

Wymagania

  • Python 3.9–3.11
  • Ekran 800x480 (7") lub większy
  • 8 przycisków podłączonych do GPIO z rezystorem pull-up lub pull-down
  • RPi 3B+

Pakiety

  • Główne: pygame
  • GPIO na RPi: gpiozero (zależne od RPi.GPIO) – zainstaluj tylko na RPi

Instalacja na RPi (rekomendowane):

sudo apt update
sudo apt install python3-gpiozero python3-pip
python3 -m pip install --upgrade pip
python3 -m pip install pygame==2.5.2

Lokalne uruchomienie (bez GPIO, z klawiaturą jako mock):

python3 -m pip install --upgrade pip
python3 -m pip install pygame==2.5.2

Uruchomienie

python3 -m src.app

Sterowanie

  • Fizyczne przyciski (kolejno piny z config.BUTTON_PINS):
    1. Select / Start
    2. Back
    3. Up
    4. Down
    5. Left
    6. Right
    7. Alt A (gra)
    8. Alt B (gra)
  • Tryb mock (desktop): klawisze 1-8 odpowiadają przyciskom 1-8.

Architektura

  • src/app.py – pętla główna Pygame, routing widoków
  • src/input_manager.py – asynchroniczny odbiór wejść (GPIO lub mock)
  • src/menu.py – menu wyboru gier
  • src/games/button_tester.py – przykładowa gra/test przycisków
  • src/games/clickinator.py – klikacz 1-3 graczy, 30 s wyścigu na przyciski BTN1/AltA/AltB

Zmiana rozdzielczości

W src/config.py ustaw SCREEN_WIDTH i SCREEN_HEIGHT pod swój ekran (fullscreen nadpisze je rozdzielczością ekranu).

Bezpieczeństwo GPIO

  • Domyślnie używany jest pull_up=True w gpiozero.Button. Jeśli masz inne okablowanie, zmień w config.py.
  • Program sam wykryje brak gpiozero i przełączy się w tryb mock (klawiatura), więc można rozwijać na desktopie.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages