Introduction: A Touch Game to Teach Programming Concepts to Children
"These materials and the information contained in this instructable are provided by students enrolled at Software of Places (www.softwareofplaces.com) Class at PUC-Rio University. The content represented here is the student’s final project for class evaluation porpoise published by the student and is solely the responsibility of the page author. Statements made and opinions expressed are strictly those of the author and not of PUC-Rio University."
At present, children’s life is heavily influenced by computing. For example: It is common to see children playing with the parents' phone before they have learned to read. Research has shown that programming education can have a positive and measurable effect on children’s achievement, not only in areas such as math and science, but also in language skills, creativity, and social emotional interaction.
The aim of this project is Development of a programming tool for young children to learn basic programming concepts.
Step 1: Devices
- Slash Vxl (https://traxxas.com/products/models/electric/5807slashvxl), but should change for any toy car with two controlling servo for acceleration and direction.
- Arduino Uno R2
- JY-MCU Module: for communication between Arduino and Android.
- Any device Android (smartphone, tablet)
Step 2: The Circuit
a) Connect Ground and 5V from Arduino to breadboard and the car
b) Connect from bradboard 5V to the JY-MCU Bluetooth module, connections are as follows:
VCC <--> 5V
GND <--> GND
TXD <--> Pin 0 (Rx)
RXD <--> Pin 1 (Tx)
Step 3: Arduino Code
The Arduino listen for command two servos (acceleration and direction ) , the pin 9 controlling the direction and the ping 10 the acceleration by Serial port 57600.
The commands for car:
B = right
K = left
J = straight
A = start
D = stop
You can download the code from the attached file. The following step will provide a detailed explanation of it.
Step 4: Android Code
Before being able to use the Android application, you need to pair the Bluetooth module with your smartphone or tablet.
Power the Arduino board, turn on Bluetooth on the Android device and search for Bluetooth devices nearby: the JY-MCU module.
For the communication Bluetooth between Android and Arduino, this example is great: https://bellcode.wordpress.com/2012/01/02/android-and-arduino-bluetooth-communication/
The basic programming concepts to teach for young children are: Parameters, Boolean Logic, branch.
The symbols extract to TANPRO-KIT (https://www.youtube.com/watch?v=8qvOmKyXgH4 ), a programming tool for children aged 6 to 8. It consists of programming blocks and a LED pad. The pad presents visual and audible feedback according to the arrangement of programming blocks with which children construct programs to play a maze game. Based on TanPro-Kit, the application was developed in Android.
Four paths (task) was build, the children to complete tasks based on the involved programming concepts(see figure).
The first task has three blank cells successively, which encourages children to use the Direction blocks with parameters.
The second task contains two Logical cells, which request children to arrange logic blocks and trigger sensors correctly.
The third task contains an IF cell, so children need to build a branch structure in the programming stage and choose one in the running stage.
The fourth task integrates all three concepts mentioned above.
The application have to Stages : Program and Running Stage.
In the Program stage, the children build the program sequence with start block, then put a direction blocks with parameters, As a feedback the block in the path is change to yellow and a song is listened.
In the Running Stage, after to program a car button is enabled and change to color green to layouts, indicate the stage. When the child touch in a car button the commands is send from device android to Arduino and a car path with sequence of path. If the car arrive to a logic image, Boolean logic or branch this stop and wait the touch button is click for continuing the path.
You can download the code and application from the attached file.