Mini STEM LED Game Platform: Instructables
Mini STEM LED Game Platform: Instructables
by RonM9
This is an easy build of an Arduino driven LED bar display with four buttons and piezo audio out; which can easily be
assembled by kids and beginners.
It is intended to be part of and a platform for STEM instruction. For those only needing sample code or wanting
immediate utility, I have provided software downloads for a hardware/software interface support library (providing
multiply LED brightness and sound levels) along with high level code for a half dozen games and activities.
This is a simple mini STEM (Science Technology Engineering and Math) project platform, which can be used as the basis
for an educational STEM/maker class in elementary, summer camp or middle school. Let's not forget about home
tutoring and those self taught. No soldering, hot iron or glue gun is needed.
In addition, it is very inexpensive, lending itself to use in a large class room setting.
I have also created a software development instructional, set of lessons, which utilizes this hardware platform. Given
here: STEM-Game-Platform Lesson Plan Additionally (as of July 2020), used for the Morse Code Trainer.
Many may nd that this platform is perfectly suited for a project they envisioned but have bulked at having to do all the
wiring or write the low level hardware I/O support for it.
This build is also just a lot of fun for kids. As they love being able to make things themselves, as well as playing the
accompanying LED games and mini apps. This micro-controller STEM/Game platform can be put together in less than an
hour (given the header pins are already soldered on)
Unlike the more complex Arduino 12 LED-bar display gaming device, which it is somewhat akin to:
instructables.com/id/Single-Line-LED-Display-Games. It is worth noting though, that games from it can be adapted for
this platform. I did so for the “pingPong” game, included in the STEM_Platform_Games.ino sketch that is part of this
project.
What allows for the construction of this to be especially easy is that of having worked out where the button and LED
display modules could be directly lined up with pins of the Nano micro-controller module and still be operated as
desired. The subsequent handling of the common button ground and the common LED +Voltage were very key.
All of these components can be found on eBay for very reasonable cost. Just use the text I have given in your eBay
search. Although the delivery time will likely be 4-8 weeks.
Note that some of the button modules have the header pins pre-soldered on the wrong side of the PCB for direct use in
this project.
Sundry pieces . . .
If you manage to get all of the rst three main components with their header pins already soldered on, this project is
otherwise done without any soldering. If some header pins are not already on and the intended maker is quite young or
a student the soldering should be done for them in advance. Be sure that the headers are all on the desirable side of each
module; on the bottom opposite of the components.
As and if needed, refer to: instructables.com/id/Solder-Arduino-Header-Pins-Easily
Notice that we are not going to use a box enclosure, for this project.
To create a more mechanically sound and sturdy nal assembly, we split the prototype pin board and mounting on a
substrate, underlying support layer (thin sti sheet). This also gives us better access to more pins for potential later
experimentation.
Cut the solderless breadboard in half.
Mount the Nano micro-controller module into the two pin-boards so it bridges them; starting two pins from the top.
Leave revealed, as many pins as possible. See photo. Place this, micro controller + solderless breadboard, over a sheet of
the chosen support material, outline it, then cut out this delineated section. Expose the sticky backs of the two sections
of breadboard and press the whole assembly squarely on the 'wooden' piece.
On the breadboard with the Arduino Nano already inserted …
Support Software
Here is an include 'library' le, Mini_STEM_Platform.h, containing a set of standard functions and public variables which
provide support (rudimentary API) for the button inputs, LED display and audio outputs. This enables an easy
development of Games and mini Apps.
Also there is HW_test.ino provided to facilitate HardWare wiring veri cation and functional testing of the mini STEM-
Game platform.
Testing your Construction
Download the attached sketch HW_test.ino plus Mini_STEM_Platform.h. Using the Arduino IDE, compile and download
to your unit.
For more information on this process see: https://www.arduino.cc/en/Guide/ArduinoNano#toc2
To verify that all the component placements and interconnects are correct, run the sketch software observing and doing
as follows:
1. As it initializes, you should see the LEDS scan left to right in a Dim manner, followed by moderately being
lit, then brightly, then o .
2. Three sounds will be given … “Boop … Beep … buZZ”
Mini STEM LED Game Platform: Page 14
3. Test each of the buttons; there should be a chirp on press and release. For each, while pressed, two
corresponding LEDs will light. The rst 2 LEDs light for button-1 and the following two for button-2 and so
on. Multiple simultaneous button presses should simply combine their e ects, without interference.
4. If no buttons are pressed for more than 10 seconds a “Hello, don't forget about me” beep will sound.
5. A log of the button states can be seen in the serial monitor window.
If all behaves as described your unit is assembled and functioning properly. Congratulations.
That's it. You're done and ready to put your device to use.
https://www.instructables.com/ORIG/F94/27C9/K2V29NWB/F9427C9K2V29NWB.unknown
Download
https://www.instructables.com/ORIG/F5R/A66Z/K2V29NWC/F5RA66ZK2V29NWC.h
STEM_Platform_Games.ino has been included as sample use of the platform and includes six example mini apps. It also
utilizes an updated include library le as used above, so a copy of it must be located in the same sketch folder.
The included video gives a brief demo of this sample application software.
Overview of the Sample Software
Menu: Btn1: select Btn2: < move cursor Left Btn3: > Right
Mini STEM LED Game Platform: Page 16
#1 HW_Support_Demo
Demonstrates the provided LED display and audio support functions.
To make use of these e ects for your own application refer to the code.
#2 Speed_Scan
The goal is to hit a button when a moving blip is at either the 5th or 6th LED.
The speed increases and your progress is indicated as you go.
#3 React_Now
Measure your Reaction time, by attempting to hit a button when the rst LED lights up. The rst LED is for 0-100 milli-
secs, additional LEDs lit for every 20 msecs more it takes.
#4 SeeIt_TagIt
You must attempt to hit the associated button when an LED lights up, within limited given amount of time. If successful
the LED will toggle On or O .
#5 pingPong
Fun individual challenge & great two-player competitive game; where the ball (single blip of light) goes from one side to
the other, faster and faster, each time it gets 'hit' back.
#6 FortuneTeller
Ask question, get divined response (Red: NO YEL: Maybe Grn: YES Blue: Try again)
Use btn2 for 1-6 ~ like dice, useful for determining one's fortune or options in games.
Full operational details are given in the attached manual: Platform_activity_manual.odt
This software is simply intended to stimulate your creative juices, and to go on and create your own applications and
games. If you're not sure about how to e ectively program for this device go through this set of software development
training lessons (which is based on this device platform):
link to STEM Game platform Lesson Plan
Please share any games or interesting functionality you create utilizing this platform.
Last minute Note:
Some of the les have had an extra extension (of .txt) added to their le names, due to site upload errors "internal server
error"; at the time this instructable was being created.
On Tinkercad you can play around with a simulated implementation. mini-STEP-platform Simulation
https://www.youtube.com/watch?v=NGWBii-OKlM
Download
https://www.instructables.com/ORIG/F6C/011A/K55W68PJ/F6C011AK55W68PJ.h
Download
https://www.instructables.com/ORIG/F8D/5VR8/K55W68PK/F8D5VR8K55W68PK.ino
Download
https://www.instructables.com/ORIG/FNJ/G8HO/K4K1OLKP/FNJG8HOK4K1OLKP.doc
For those who are interested, I have included a schematic and a link to a Tinkercad simulation.
Note that I had to use a di erent resister value in the simulation in order to get su cient LED brightness.
Mini STEM LED Game Platform: Page 17
Mini STEM LED Game Platform: Page 18
Download
https://www.instructables.com/ORIG/FY8/1FJM/KQV84RSZ/FY81FJMKQV84RSZ.fzz
This can be done, but there won't be room enough to directly plug both of the leads of the piezo device in. You can see in
photo #1 I have one lead hanging o the side, where I have a wire against it held by tension. This does let me slide the
wire from underneath the lead to disable the sound. Other disadvantages are that LED and the key-button modules stick
out more. This is especially an issue for the key module as it can rock back and forth under use, which may or may not
become a problem with electrical connectivity.
#2 With an Enclosure and internal battery
I did one build with a small enclosure. The big issue was having access to the buttons, as well as good view of the LEDs.
Putting holes through the case for buttons and lights would not work well with the modules. To not use the modules
Cool ! Looking forward to hearing about it. (I expect it will take a fair amount of time to acquire the
components)
Thank you.