Проект таймера на кубок РТК для 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 неактивны. Чтобы что-то сделать, надо поставить отсчет на паузу, или завершить его.
sudo apt install python3-cairo python3-gi-cairo
sudo apt install libasound2-dev
sudo pip3 install simpleaudio
(Не обязательно ставить на компьютер/ноутбук)
Для ubuntu:
sudo pip3 install RPi.GPIO
Для raspbian также, или:
sudo apt install python3-rpi.gpio
(Не обязательно ставить на Raspberry Pi)
sudo pip3 install pynput
- Скопировать новый шрифт в формате *.ttf или *.otf в папку
/usr/local/share/fonts
- Раздать ему права
$ sudo chmod 644 *имя файла*
или
- Открыть файл шрифта (прямо мышкой)
- В открывшемся окне нажать кнопку
Установить
Оба способа работают и на Raspberry Pi, и на ПК. Разница в том, что первый способ требует только клавиатуры, и работает из терминала, а второй способ - только мышки и GUI.
- GPIO4 - Start
- GPIO3 - Pause
- GPIO2 - Reset
- GPIO17 - Select
- GPIO23 - Shutdown
- GPIO27 - Канал энкодера А
- GPIO22 - Канал энкодера B
Добавление программы с GUI в автозапуск (подробнее)
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
- Добавить в конец строчку с путем к файлу, например:
@/home/pi/CupTimer/TimerCup.py
Чтобы отключить warning в терминале, когда подключаешься по ssh:
- удалить файл
/etc/profile.d/sshpwd.sh
Чтобы отключить warning на рабочем столе при загрузке
- Удалить файл
/home/pi/.config/lxsession/LXDE-pi/sshpwd.sh
(возможно он лежит тут:/etc/xdg/lxsession/LXDE-pi/sshpwd.sh
)
Файлы можно не удалять, а закоментировать часть отвечающую за вывод.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
- Добавить строчки
@xset s noblank
@xset s off
@xset -dpms
Чтобы настроить HDMI выход (подробнее)
sudo nano /boot/config.txt
- Раскомментировать (или дописать) следующие строчки:
hdmi_force_hotplug=1
- видео будет отправляться в HDMI, даже если монитор еще не подключенhdmi_drive=2
- звук также отправляется в HDMIhdmi_group=1
- подключаемся к телевизору (0 - автоопределение, 2 - к монитору)hdmi_mode=4
- 720p 60 fps
sudo nano /boot/config.txt
- Раскомментировать (или дописать) следующие строчки:
disable_overscan=1
- overscan определяет черную рамку по краям экрана (можно включить и настроить по пикселям с каждой из четырех сторон)