0

Porting Tetris to the RGB LCD Shield

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.

For this project, I used:

Tetris on an 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);

became:

lcd.begin(16, 2);
...
lcd.clear();
lcd.setBacklight(WHITE);

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) {
...

The full source for the ported Tetris sketch and required high score library are available on github so you can enjoy stacking tetrominoes on your Arduino!


Join 7,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython in 2018 – Python on Microcontrollers is here!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/


Maker Business — The many, many manufacturing processes listed on Wikipedia

Wearables — A bevel illusion

Electronics — Blown transistor?

Biohacking — We are Wired to Exercise at a Moderate Pace

Python for Microcontrollers — Make It Move with Crickit!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.