When Phillip sent me a link to dzimboum’s amazing Tetris on Arduino project, I was immediately hooked. Not only does this project let you play Tetris, it even tracks your top five scores in EEPROM! A few code changes later and I had Tetris up and running on my RGB LCD Shield.
Porting the code to work with the Adafruit RGB LCD shield from the Snootlab Deuligne required a few simple changes in how the LCD is initialized:
Wire.begin();
lcd.init();
...
lcd.backLight(true);
But it also required some changes in how individual buttons are detected. The Deuligne shield returns a value from zero to four which indicates the button being pressed:
key = lcd_.get_key();
...
} else if (key == 4) {
...
The RGB LCD Shield returns a value which is a bitmask of pressed buttons, translating to code like this:
key = lcd_.readButtons();
...
} else if (key & BUTTON_SELECT) {
...
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey