Menu

Home

Benedict Jäggi

PiRobot Wiki

Robot Image
This is a little python app collection and infrastructure to switch between apps and keep them running at all.
It's used on a touchscreen with a Raspberry Zero W 2 and intended to be used without keyboard or mouse.

It uses pygame as main graphics driver and will be extended from time to time, to implement stuff which is needed by some Apps, like pairing a Bluetooth-device or connecting to WLANs.

Control it completely with touch/mouse. To quit, just press any key on the keyboard.

NOTE: You have to change the HOME_PATH in MAIN.py because this is in development and the path changes from time to time.

Parts:

Just browse on https://pi-shop.ch for this parts:
Parts List Image

Apps:

  • MUSIC PLAYER: BeRec2 is a music player with Walkman design. Version 1 shows a spinning tape but the images needed to much RAM or something - it always crashed. Version 2 has no background but you can press fast forward and fast rewind to have a feeling like in old tape players. Also Version 2 supports attached SD cards or USB sticks and not only the music on the main drive.
  • MENU application with customizable menus which can call different functions. Used for selecting Apps and Games and also used in the Apps and Games themselves.
  • Simple drawing app with save and load functionality.
  • Robot Face with Clock -> This was the first App at all, and is used as system app where it goes when one presses the exit button of another app.

Games

  • Tic Tac Toe for two players.
  • Chess game for two players. Shows only legal moves, Checks for chess and checkmate. Save and Load whole games including all previous moves.
  • UPGRADE CHESS, my own version of chess where you can upgrade all figures except for the king and queen.
  • Mill game for two players. (a.k.a Nine Men's Morris). Including Previous and Next Turn buttons, like in the chess game app.
  • Checkers game for two players.
  • Breakout for one player.
  • Monopoly for 2 to 9 players.
  • Worms for 2 to 5(?) players.

Pages

[HowTo] Installing and using this scripts like I did it.

[MAIN] The main file which you start with python.
[AppList.json] List with the directories of all apps you want to have "installed". The import calls refer to this list.
[APP_TEMPLATE] An App template which you can use to develop your own App.
[UITools] Some helper vars and functions concerning the user interface. Used almost everywhere.

[APP_BASE] This file holds the whole system and the base application class from which the App classes are derived from.

[APP_MENU] From this menu app you can call all other apps. For example. And do other stuff with it.

Now come the fun Apps:
[APP_Face] A robot face. The App that I used as "system app" for a long time. This was the first App ever made for this system.
[APP_Draw] A simple drawing App.
[APP_BeRec2] The music player App. (Version 1, not used anymore, see [APP_Berec3])
[APP_GAME_Breakout] A Breakout game App for one player.
[APP_GAME_Chess] A chess game App for two players.
[APP_GAME_UpgradeChess] An "Upgrade Chess" game App for two players.
[APP_GAME_Mill] A mill game App for two players.
[APP_GAME_Checkers] A checkers game App for two players.
[APP_GAME_TicTacToe] A TicTacToe game App for two players.
[APP_GAME_Monopoly] A simple Monopoly game App for 2 to 9 players.

Other stuff:

Code libraries are located in appdata/CodeLibs and (the new) UI elements are located in appdata/CodeLibs/UI.

CodeLibs:
[LIB_AUDIO] A library/wrapper concerning sounds and music.
[LIB_BLUETOOTH] NOT USED YET.
[LIB_FOPS] A library concerning File OPerationS.

UI Elements
[UI_BUTTON] Library for buttons with images (normal and mouseover) and also circular buttons.
[UI_LIST] Create scrollable list boxes with list items which can execute a function with a value. Used in the Music Player.

Project Members:


Related

Wiki: APP_BASE
Wiki: APP_BeRec2
Wiki: APP_Berec3
Wiki: APP_Draw
Wiki: APP_Face
Wiki: APP_GAME_Breakout
Wiki: APP_GAME_Chess
Wiki: APP_GAME_UpgradeChess
Wiki: APP_MENU
Wiki: APP_TEMPLATE
Wiki: AppList.json
Wiki: Complex Main Example
Wiki: HowTo
Wiki: LIB_FOPS
Wiki: MAIN
Wiki: UITools
Wiki: UI_LIST

MongoDB Logo MongoDB