Skip to content

Проект таймера для Кубка РТК на базе Raspberry PI

Notifications You must be signed in to change notification settings

RTC-SCTB/CupTimer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CupTimer

Проект таймера на кубок РТК для Raspberry Pi. Таймер также может запускаться на компьютере под управлением Ubuntu Linux (другие ОС не тестировались).

Описание

При работе на Raspberry Pi:

  • Кнопка Start - запускает таймер (или досрочно его завершает);
  • Кнопка Pause - ставит/снимает таймер с паузы;
  • Кнопка Reset - сбрасывает таймер в зависимости от режима;
  • Кнопка Select - выбор режима работы таймера;
  • Поворотная ручка - задание времени таймера для режима ПЕРЕРЫВ;
  • Кнопка Выкл (Shutdown) - выключает компьютер полностью.

При работе на компьютере/ноутбуке:

  • Кнопка Space - запускает таймер (или досрочно его завершает);
  • Кнопка P (английская p, русская з, регистр не важен) - ставит/снимает таймер с паузы;
  • Кнопка Backspace - сбрасывает таймер в зависимости от режима;
  • Стрелки влево-вправо - выбор режима работы таймера;
  • Стрелки вверх-вниз - задание времени таймера для режима ПЕРЕРЫВ;
  • Кнопка Esc - закрытие программы.

Таймер может работать в нескольких режимах: Искатель, Экстремал, Экстремал-Pro, Искатель Мини, Агро, Перерыв.

В режиме ИСКАТЕЛЬ, ЭКСТРЕМАЛ, ЭКСТРЕМАЛ Pro, Искатель Мини, АГРО-I при нажатии на кнопку Start - начинается обратный отсчет времени на подготовку, потом сразу начинается попытка.
Повторное нажатие на кнопку Start до окончания времени на подготовку сразу запускает попытку.
Следующее нажатие на кнопку Start до окончании времени завершает попытку.

В режиме ПЕРЕРЫВ время задается при помощи поворотной ручки с шагом в минуту, после чего при нажати на кнопку Start начинается обратный отсчет до нуля.
Повторное нажатие на кнопку Start досрочно останавливает таймер.

В режиме ОТБОРОЧНЫЙ ТУР таймер может работать до бесконечности - сначала время подготовки, потом время на попытку.

Изменение режима работы таймера, сброс таймера, а также выключение доступны только если обратный отсчет не идет, т.е. во время обратного отсчета (любого) кнопки Select, Reset, Shutdown неактивны. Чтобы что-то сделать, надо поставить отсчет на паузу, или завершить его.

Обязательные модули

Установка cairo (для отрисовки графики):

sudo apt install python3-cairo python3-gi-cairo

Установка simpleaudio (для проигрывания звуков):

  1. sudo apt install libasound2-dev
  2. sudo pip3 install simpleaudio

Установка RPi.GPIO (для работы с gpio на raspberry pi)

(Не обязательно ставить на компьютер/ноутбук)
Для ubuntu:
sudo pip3 install RPi.GPIO
Для raspbian также, или:
sudo apt install python3-rpi.gpio

Установка pynput (для того чтобы слушать клавиатуру)

(Не обязательно ставить на Raspberry Pi)
sudo pip3 install pynput

Установка шрифтов:

  1. Скопировать новый шрифт в формате *.ttf или *.otf в папку /usr/local/share/fonts
  2. Раздать ему права $ sudo chmod 644 *имя файла*

или

  1. Открыть файл шрифта (прямо мышкой)
  2. В открывшемся окне нажать кнопку Установить

Оба способа работают и на Raspberry Pi, и на ПК. Разница в том, что первый способ требует только клавиатуры, и работает из терминала, а второй способ - только мышки и GUI.

Настройка Raspberry Pi

Подключение кнопок к Raspberry Pi

  • GPIO4 - Start
  • GPIO3 - Pause
  • GPIO2 - Reset
  • GPIO17 - Select
  • GPIO23 - Shutdown
  • GPIO27 - Канал энкодера А
  • GPIO22 - Канал энкодера B

Добавление программы с GUI в автозапуск (подробнее)

  1. sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
  2. Добавить в конец строчку с путем к файлу, например: @/home/pi/CupTimer/TimerCup.py

Чтобы скрыть предупреждение ssh, о том что пароль стоит стандартный

Чтобы отключить warning в терминале, когда подключаешься по ssh:

  • удалить файл /etc/profile.d/sshpwd.sh

Чтобы отключить warning на рабочем столе при загрузке

  • Удалить файл /home/pi/.config/lxsession/LXDE-pi/sshpwd.sh
    (возможно он лежит тут: /etc/xdg/lxsession/LXDE-pi/sshpwd.sh)

Файлы можно не удалять, а закоментировать часть отвечающую за вывод.

Чтобы отключить выключение экрана с течением времени:

  1. sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
  2. Добавить строчки @xset s noblank @xset s off @xset -dpms

Чтобы настроить HDMI выход (подробнее)

  1. sudo nano /boot/config.txt
  2. Раскомментировать (или дописать) следующие строчки: hdmi_force_hotplug=1 - видео будет отправляться в HDMI, даже если монитор еще не подключен hdmi_drive=2 - звук также отправляется в HDMI hdmi_group=1 - подключаемся к телевизору (0 - автоопределение, 2 - к монитору) hdmi_mode=4 - 720p 60 fps

Чтобы отключить черную рамку по краям экрана

  1. sudo nano /boot/config.txt
  2. Раскомментировать (или дописать) следующие строчки: disable_overscan=1 - overscan определяет черную рамку по краям экрана (можно включить и настроить по пикселям с каждой из четырех сторон)

About

Проект таймера для Кубка РТК на базе Raspberry PI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages