Gamelike raycaster where viewer can be moved and rotated by gyroscope sensor. When the viewer has reached the exit to the outer world the game ends.
Video https://youtu.be/0g54CI1bC_A
My code is licensed under the terms of the MIT License License Copyright (c) 2022 codingABI.
Arduino Uno/Nano with gyroscope sensor MPU6050 and SSD1306 OLED 128x64 pixel display
Running on breadboard was not very stable for me over time (occassionally i2c-bus freezes). The same circuit soldered on board ran stable.
- Arduino IDE 2.3.4 or 1.8.19
- Arduino AVR Boards Version 1.8.6
- Adafruit GFX Library 1.11.11
- Adafruit SSD1306 2.5.13 (dont forget to uncomment #define SSD1306_NO_SPLASH in Adafruit_SSD1306.h to prevent the "Sketch too big" error)
- I2Cdev (from https://github.com/jrowberg/i2cdevlib)
Official: No
The project was designed for a SSD1306 display.
To get the project working on a SH1106 display (as requested on https://www.youtube.com/watch?v=0g54CI1bC_A) there are some challenges to be resolved :
- The library Adafruit_SSD1306 (I used v2.5.7) does not support the SH1106 display => Adafruit_SH110X is needed (I used v2.1.10)
- The library Adafruit_SH110X seems to have a higher memory footprint then the Adafruit_SSD1306 library => Project would compile, but does not run (=Black screen)
- Removing of display strings to reduce memory consumption in this special SH1106 version got the project working on a SH1106 display => Use a SSD1306 display for this project or be able to fix it yourself.