(click to expand)
Video on YouTube: https://youtu.be/6EhA8CsS5kU
- Support for RFID cards;
- 128x64 display;
- IR Contactless input;
- Keyboard input;
- Sound indication;
- Light indication;
- Adding your own games.
- Raspberry Pi Pico Controller;
- 12864 LCD DISPLAY(128x64,SPI);
- Matrix keyboard(4x4);
- RFID PN532 Wireless module;
- RFID cards;
- Three-color LED(RGB);
- IR(NEC) Signal receiver;
- IR remote control "Car MP3 TZT";
- Passive buzzer 3.3V;
- Step-down module 3.3V.
Connecting components (click to expand)
-
Display:
Contact name I/O port RSE 1 SCL 2 SI 3 RS 4 CS 5 -
PN532:
Contact name I/O port SCK 6 MOSI 7 MISO 8 SS 9 -
Matrix keyboard:
Contact name I/O port Pin 1 IN 10 Pin 2 IN 11 Pin 3 IN 12 Pin 4 IN 13 Pin 5 OUT 14 Pin 6 OUT 15 Pin 7 OUT 17 Pin 8 OUT 16 -
IR:
Contact name I/O port DATA 28 -
Buzzer:
Contact name I/O port Power 0
Adding your game (click to expand)
- Create a new directory with the name of your game in the games folder;
- In this directory, create a file run.py ;
- Copy the code below into run.py:
class Run:
def __init__(self,loader):
loader.ControlCallback = self.__control
self.Loader = loader
#Your game initialization code
''' Example:'''
self.Loader.Display.fill(0)
self.Loader.Display.ctext('Hello!', 0, 1, 1)
self.Loader.Display.show()
def __control(self,command):
if command == 14:
self.Loader.setdefaultcontrol()
self.Loader.__showmenu()
#Your command processing code
- You can start implementing your idea!
- If you need to add settings, create a file options.py in the catalog of your game;
- Copy the above code in options.py
import os
class Options:
def __init__(self,loader):
loader.ControlCallback = self.__control
self.Loader = loader
self.path = '/games/<Game Name>/'
#Your settings initialization code
''' Example:'''
self.Loader.Display.fill(0)
self.Loader.Display.ctext('SETTINGS!', 0, 1, 1)
self.Loader.Display.show()
def __control(self,command):
if command == 14:
self.Loader.setdefaultcontrol()
self.Loader.__showmenu()
#Your command processing code
- Create the options you need;
- After restarting the terminal, play your game will appear in the point and if you have a file options.py a new option with the name of your game will appear in the settings point
- Immersive-programs:
- micropython-buzzer: https://github.com/Immersive-programs/micropython-buzzer
- micropython-customsymbols: https://github.com/Immersive-programs/micropython-customsymbols
- micropython-matrixkeyboard: https://github.com/Immersive-programs/micropython-matrixkeyboard
- micropython-st7565(fork): https://github.com/Immersive-programs/micropython-st7565
- Carglglz:
- NFC_PN532: https://github.com/Carglglz/NFC_PN532_SPI
- peterhinch:
- micropython_ir: https://github.com/peterhinch/micropython_ir
- Development was carried out in the Thonny IDE;
- Workability tested on: "MicroPython v1.19.1 on 2022-06-18";
- It is recommended to use Rshell to load the code: https://github.com/dhylands/rshell
- Author of the ideaa: Nikita
- Code author: Denis
(нажмите, чтобы развернуть)
Ролик на YouTube: https://youtu.be/6EhA8CsS5kU
- Поддержка RFID карт;
- Дисплей 128x64;
- IR Бесконтактный ввод;
- Клавиатурный ввод;
- Звуковая индикация;
- Световая индикация;
- Добавление своих игр.
- Контроллер Raspberry Pi Pico;
- 12864 LCD дисплей(128x64,SPI);
- Матричная клавиатура(4x4);
- Беспроводной модуль RFID PN532;
- RFID карты;
- Трёхцветный светодиод(RGB);
- IR(NEC) Приёмник сигнала;
- IR пульт "Car MP3 TZT";
- Пассивный зуммер 3.3V;
- Понижающий модуль 3.3V.
Подключение компонентов (нажмите, чтобы развернуть)
-
Дисплей:
Название контакта I/O порт RSE 1 SCL 2 SI 3 RS 4 CS 5 -
PN532:
Название контакта I/O порт SCK 6 MOSI 7 MISO 8 SS 9 -
Матричная клавиатура:
Название контакта I/O порт Pin 1 IN 10 Pin 2 IN 11 Pin 3 IN 12 Pin 4 IN 13 Pin 5 OUT 14 Pin 6 OUT 15 Pin 7 OUT 17 Pin 8 OUT 16 -
IR:
Название контакта I/O порт DATA 28 -
Buzzer:
Название контакта I/O порт Power 0
Добавления своей игры (нажмите, чтобы развернуть)
- Создайте новый каталог с именем вашей игры в папке games;
- В этом каталоге создайте файл run.py ;
- Скопируйте ниже приведённый код в run.py
class Run:
def __init__(self,loader):
loader.ControlCallback = self.__control
self.Loader = loader
#Ваш код инициализации игры
''' Пример:'''
self.Loader.Display.fill(0)
self.Loader.Display.ctext('ЗДРАСТИ!', 0, 1, 1)
self.Loader.Display.show()
def __control(self,command):
if command == 14:
self.Loader.setdefaultcontrol()
self.Loader.__showmenu()
#Ваш код обработки команд
- Можете приступать к реализации вашей идеи!
- Если необходимо добавить настройки, создайте файл options.py в каталоге вашей игры;
- Скопируйте ниже приведённый код в options.py
import os
class Options:
def __init__(self,loader):
loader.ControlCallback = self.__control
self.Loader = loader
self.path = '/games/<Game Name>/'
#Ваш код инициализации настроек
''' Пример:'''
self.Loader.Display.fill(0)
self.Loader.Display.ctext('НАСТРОЙКИ!', 0, 1, 1)
self.Loader.Display.show()
def __control(self,command):
if command == 14:
self.Loader.setdefaultcontrol()
self.Loader.__showmenu()
#Ваш код обработки команд
- Создайте необходимые вам опции;
- После перезапуска терминала в пункте играть появится ваша игра и при наличии файла options.py в пункте настройки появиться новая опция с названием вашей игры(Если невидно листайте ниже)
- Immersive-programs:
- micropython-buzzer: https://github.com/Immersive-programs/micropython-buzzer
- micropython-customsymbols: https://github.com/Immersive-programs/micropython-customsymbols
- micropython-matrixkeyboard: https://github.com/Immersive-programs/micropython-matrixkeyboard
- micropython-st7565(fork): https://github.com/Immersive-programs/micropython-st7565
- Carglglz:
- NFC_PN532: https://github.com/Carglglz/NFC_PN532_SPI
- peterhinch:
- micropython_ir: https://github.com/peterhinch/micropython_ir
- Разработка велась в Thonny IDE V4.0.2;
- Работоспособность проверена на: "MicroPython v1.19.1 on 2022-06-18";
- Для загрузки кода рекомендуется использовать Rshell: https://github.com/dhylands/rshell
- Автор идеи: Никита
- Автор кода: Денис