Sulaiman Ma - Tue 5 May 2020, 12:54 am

Design process

This week I am preparing for the upcoming prototype. My prototype is the physical input of a programming robot game, so I plan to put some pseudocode on the top side blocks and write a python program to keep reading the QRcode from the front side of the block. And for users, they can reorganize the block and click an Arduino button to enter the pseudocode. And my purpose for this prototype is to find out which part of the physical input confused the users and get some suggestions from the users about how to improve the experience.

Read the pseudocode from the surface of the block

After recovering some python knowledge, and watching some tutorials from Youtube, I got my initial version of the python program to read the QRcode by using the computer camera.

Python Code


Detecting Screen


As shown above, you can see the QRcode has been recognized by the computer camera



Every time the camera read the code, I saved that in the list, and finally print it out.


The problem I am facing now is that I can not read the QR code in order. All the QR codes can be recognized and saved in a list, but unfortunately, the order is not correct, that will be a big problem because different order will lead to different results of the robot, so it should be solved soon.

Use an Arduino button to start each round of the physical input

Since I want to provide a button for the user to start each round input, so I want to use Arduino to send the signal to python, and python can read the signal and control the start of a loop.

I have watched some tutorials about this, but have not achieved it yet.


I was doing a survey of the preference for physical interaction this week.

imgur imgur

Besides, I was also doing the research of the pseudocode to decide to put which kind of code to show to the users. I have found some interesting examples.

imgur imgur

Plan for next week

Firstly, I should solve the order problem as soon as possible.

Secondly, I should figure out how to use the python to read the signal from Arduino.

Thirdly, I should finish the report.