By the end of week 8, you will be able to:
Program an Arduino Uno board to do serial communication through a wire (USB)
Program an Arduino Uno board to do serial communication wirelessly (Via Bluetooth)
Use a simple Graphical User Interface on PC to control a smart circuit wirelessly (Via Bluetooth)
Use a simple Graphical User Interface on phone to control a smart circuit wirelessly (Via Bluetooth)
Play "Simon Says" Memory Game using Arduino!
Type: Individual Activity
Tools & Materials:
1 Arduino Uno Board
1 Breadboard
4 Push Buttons
Jumper Wires
Description:
Simon says is a famous memory game. The game creates a series of lights and requires a player to repeat the sequence. If the player succeeds, the series becomes progressively longer and more complex. Once the user fails, the game is over.
Our version of "Simon Says" is a game that you can play on your computer using a game controller that you will build using Arduino and electronics! A sequence of 4 light bulbs with 4 different colors on screen will light up with a specific sequence. Press the four push buttons on your game controller to match the lighting sequence on screen!
Requirements:
Arduino Setup
Download the Game Controller Arduino Code (for macOS users, download this code).
Connect your Arduino Board to the Computer and Upload the Arduino Code
Follow this Game Controller Wiring Diagram (Use your physical Arduino Board and electronics, NOT TinkerCad simulation)
Open Arduino Serial Monitor - test buttons are printing letters successfully
Close Serial Monitor
Computer Application Setup
Download Processing Software Version 3.5.4 and install it on your computer
Download Version 3.5.4
Choose the compatible version for your operating system
A zip file will be downloaded
Unzip your file after downloading, it should open like this
Open processing application, it should open like this
Download the Game Code (for macOS users, download this code), Open the file named "arduino_simon_says2.pde"
In the first line, change the Arduino COM port number. (Check the Arduino COM Port number in Arduino IDE)
Make sure that your Arduino board is connected to your laptop via USB
Right click on the Windows icon in your windows taskbar
A window will appear, Choose “Device Manager”
Under Ports, You should find which COM the Arduino connected to
In the second line, change the name and write your own name
Game Play
Now you are ready to Run the Processing program, Click the Play Button
Follow the instructions on the screen to calibrate your own "Press" force and duration (You should press briefly with moderate force in order to the corresponding light bulb on screen)
Play the game by observing the lighting sequencing and repeating it by pressing the buttons on the controller with the same sequence. Show us your highest score!
Reflect & Share: How does each Push Button on the controller is linked to the Light Bulbs on Screen?
Mode: Online via Google Meet
Session Outcomes
Discuss Complete and Final project proposals
Confirm List of Electronic Components with your instructor
Find the answer to these 3 questions:
What are the Input components?
What are the Output Components?
What is the suitable power supply?
Follow the video tutorials below (in order) to learn how to program an Arduino Uno board to do wired or wirelessly serial communication. Also, how to communicate through a Graphical User Interface (GUI) on phone or PC
Serial Communication
Communication through a Graphical User Interface (GUI)
Objective: Program, assemble, and wirelessly control a Micro Robot Arm. Use the Robot Arm to complete challenges and compete against your opponents to Win a special prize!
Team: 3 people
Tools & Materials (Per Team)
Electronics
1 Android Phone
1 Arduino Uno Board
2 Servo Motors (Plastic Gears)
1 Servo Motor (Metal Gears)
Bluetooth Module (HC-05)
Jumper Wires
1 Adapters (9 V)
1 Large-sized Breadboard
1 Step Down Converter
Assembly
Robot Arm (Three 3D Printed Parts)
Robot Arm Base (One Laser Cut Part)
End Effector Mount (One Laser Cut Part)
2 Zip Ties
3mm Screws & Nuts
Thread (10 cm)
1 Circular Magnet
Technical Requirements
Robot Arm Circuit: Build and program an Arduino Circuit consisting of Three servo motors to be controlled wirelessly using a mobile app via Bluetooth
Breadboarding: Build the circuit by following this Wiring Diagram. Note that this diagram includes only one servo motor. You should simply add two more servo motors after successfully programming and controlling the first one!
Programming: program each of the servo motors to be controlled via two graphical push buttons (in a mobile app). One push button increments the angle of the servo motor in one direction, while the other push button decrements the angle of the servo motor in the other direction
If you press one push button: it increases the current angle of the servo motor by 10 degrees and for each new press, the current angle increases by the same value (10 degrees)
If you press the other push button: it decreases the current angle of the servo motor by 10 degrees and for each new press, the current angle decreases by the same value (10 degrees)
Wireless Control: Control the servo motors using the Android Bluetooth Control App.
Pair your mobile phone and connect the app to the HC-05 module in your circuit (DON'T do the pairing with an HC-05 module of another team, you find the name of your HC-05 written on it)
Use the Buttons & Slider interface which contains 6 Push Buttons: each servo motor will be assigned and controlled using two buttons, one to increment the angle and the other to decrement the angle. In the settings menu, change the Button Configuration to the desired "Character" that the button would send to your Arduino (For example: A, B, C.. etc)
Powering: Use a single 9V adaptor to power the Arduino board, servo motor, and HC-05 Bluetooth module
Arduino Board: is powered with 9V directly through the DC JACK
Servo motors and HC-05 module: are NOT powered with 9V directly, you need to use a Step Down Converter to drop the voltage down to 5V, which you will use to power the servos and Bluetooth
🛑SAFTEY WARNING: Never plug in the 9V adaptor while the Arduino board is connected to the computer USB. Disconnect your Arduino from the computer, Then and only then you can plug in the 9V adaptor, OR say goodbye to your Laptop! 👋
Robot Arm Assembly: Assemble the Robot Arm parts and integrate the servo motors
Assemble the robotic arm parts by following this assembly guide
Reconnect your servos one by one to the Arduino circuit, test, and reposition the horns of the servo motors in order to achieve the desired angles
Communicate wirelessly with a Smart Circuit via a Graphical User Interface (GUI) on your phone or PC.
Description:
Build a simple smart circuit that contains at least TWO action components that you can control wirelessly.
Use either the Android GUI or PC GUI to control the action components
Technical Requirements:
The smart circuit contains at least TWO action components connected to an Arduino UNO board (Include a wiring diagram from Tinkercad, Fritzing, or any other tool). ALL action components are acceptable EXCEPT for single color LEDs
The smart circuit communicates wirelessly via a Bluetooth module to a PC or phone
The smart circuit is programmed using Arduino C to perform serial communication (Provide a screenshot of your Arduino C code and *.ino code file)
A Graphical User Interface (GUI) on Phone or PC is used to send data to Arduino to control the action components
The smart circuit is wired and tested with an actual Arduino board and electronic components on a breadboard (Provide a video recording of the final outcome)
The smart circuit is functional and does its intended objective
Make sure to document your Assignment for Week 8 in the Maker Journal covering the following requirements:
Process Documentation:
Ideation: Describe how you came up with the idea for the smart circuit. Were you inspired by a certain reference? or did you customize design it to fulfil a certain objective?
Tools: Describe software, components, materials, and tools that you used in your assignment
Design: Describe the design of your smart circuit. What are the action components that you used? How did you wire the Bluetooth module? Make sure to include a screenshot of your circuit wiring on Tinkercad or any other software (Fritzing or Microsoft PowerPoint).
Implementation/Fabrication: Describe how you implemented your smart circuit on a breadboard and Explain your Arduino C code in detail, using simple text, Pseudocode, or Flowchart format. Describe how you programmed your smart circuit to receive data from the phone or PC GUI. And most importantly, show us the final outcome of the assignment, make sure to include a video recording for your complete smart circuit in action while you communicate with it through the GUI
Media: Provide supporting images and videos to demonstrate the design and implementation processes
Learning Documentation:
Learning from Mistakes: Describe problems and challenges that you faced, and briefly describe solutions. How did you debug your code for error?
Community of Learning: Highlight an advice or idea provided by a peer or an instructor that helped in solving a problem or a challenge. Or an advice that YOU provided to help your peer(s)
Progress Review Deadline: September 8th, 2025 @4:00 PM