July update - Engaging Students - Working Robot!
Building the idea, the robot, and the website (almost!)
I have been working alongside Finn - the website master - over the last 4 weeks to start building the robot.
We started with grand ideas of battle bots and customisable features. However, we thought it best to build something simple first, and make sure it will actually be useful for students and teachers.
Here is what we came up with…
This Month - July
The website so far (still has bugs):
The robot so far (still looks ugly):
This is the simplest, and most realistic version of our idea - to get us started.
2 students place their robots on the table and open the SumoMaths website.
they send a battle request and enter battle mode
a maths question pop’s up. The first student with the correct answer wins that round
The winner is able to control their robot for 5 seconds and try to ‘push’ the other robot off the table
after the 5 seconds is over, another question pops up.
This repeats until 1 robot falls off the table, at which stage…
“Game Over!”
We have the functions of the robot and website fully working. It is still very rough, but the proof of concept is there.
Next Month
Over the next month, we aim to polish it up a bit (complete the website and redesign the chassis) and start demo-ing the robot at a few schools. I will also be going to the Edu-Tech conference in mid august to see what teachers think about the robot!
It is still a few weeks away from being classroom ready, but I’d still love to get any speculative feedback from what we have so far.
If you know any other teachers that would be keen to check out what we are doing, you can share the project below:
Nerd Talk - Challenges and victories
How the robot works:
Ultrasonic-Sensor: The distance sensor is what allows the robot to know if it has fallen off the table and ‘lost the game’. It is pointed towards the ground/table. So if this distance ever changes, it means the robot has fallen.
Bluetooth Module: this is how the laptop is able to both Send and Receive information to the robot. So it will send ‘ultrasonic_sensor’ information to the laptop, and at the same time also receive drive commands from the laptop
Arduino: The brain of the robot, it controls everything and processes all of the data.
Motors + Motor shield: The motor shield, using a Dual H-Bridge, allows for a motor to drive forwards or backwards and at different speeds.
How the ‘Battle’ works:
On the website, during a battle, The first student to get a question correct will gain access to control their robot for 5 seconds. After 5 seconds, controls are disabled and a new question will appear. This continues until the ultrasonic-sensor detects that the robot has fallen off the table.
After a battle, stats are collected. These stats can be used by students to self evaluate, or by teachers to find students that are excelling or falling behind.
Making a website and using Bluetooth:
Using Bluetooth through a browser is a bit of a pain. Surprisingly, this feature was only added to Chrome in 2017 (and only exists on a number of browsers). It is still a new technology and there is not a lot of development or focus on it (due to lack of use). This made somewhat tricky to get working.
We could have made a downloadable desktop application instead, the main problem with this, it is more difficult for teachers and students working around firewalls to download software. So we decided to stick with a web based application.
The biggest problem with using a web based application was the reliance on using JavaScript to control all of the Bluetooth functions. Finn was using Bubble.io to build out the website, and in doing so, he was able to run JavaScript, but only once. We needed it to be running constantly in the background to communicate with the Bluetooth module. After a few days of brainstorming and research, we discovered we could manually embed the JavaScript code into the Head of the HTML. By doing this, the JavaScript was running continuously and we were able to control the robot.
Bluetooth module (challenges):
Whilst we were able to pair the laptop with the Bluetooth Module, we had many many hours of pain getting the Bluetooth module to communicate with the Arduino. There was a problem with the Bluetooth modules Baud Rate changing, meaning we could not send any commands to the robot (drive forward etc..). This caused some more days of pain until I figured out how to manually reset Baud rates and correctly configure a Bluetooth module. This could have all been prevented if I spent some more time researching how configuration worked before diving in.
Thank you :)
If this is able to get some students motivated in the classroom, then it is worth it.
See you next month