Skip to content

Raycaster where viewer can be moved and rotated by gyroscope sensor (Arduino Uno/Nano with gyro sensor MPU6050 and SSD1306 OLED 128x64 pixel display).

License

Notifications You must be signed in to change notification settings

codingABI/GyroRaycaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GyroRaycaster

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.

screenshot

Video https://youtu.be/0g54CI1bC_A

License and copyright

My code is licensed under the terms of the MIT License License Copyright (c) 2022 codingABI.

Hardware

Arduino Uno/Nano with gyroscope sensor MPU6050 and SSD1306 OLED 128x64 pixel display

photo

breadboard

Running on breadboard was not very stable for me over time (occassionally i2c-bus freezes). The same circuit soldered on board ran stable.

Appendix

Schematic

schema

Used development environment

  • 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)

FAQ

Can I use a SH1106 display instead of a SSD1306?

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 :

  1. The library Adafruit_SSD1306 (I used v2.5.7) does not support the SH1106 display => Adafruit_SH110X is needed (I used v2.1.10)
  2. 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)
  3. 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.

screenshot

About

Raycaster where viewer can be moved and rotated by gyroscope sensor (Arduino Uno/Nano with gyro sensor MPU6050 and SSD1306 OLED 128x64 pixel display).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages