Robotion
Student(s) | Zheng Chen, Valentina Guariglia |
---|---|
Academic Year | A.A. 2023-2024 |
Course | Creating Tangible Interfaces |
Delivery Date | 2025/01/16 |
Output type | Digital, Physical |

Abstract
Robotion is an interactive device which helps autistic children remember to train their emotional intelligence by associating situations and emotions.
Concept
Robotion was born from the desire to create an interactive object that could help people feel better. We started with an initial idea of developing a system for psychological well-being in general and then arrived at this game for autistic children. This tool is designed to support children therapy.
Video
Gallery









Interaction Modality
Acoustic interaction
The device gives a lot of audible feedback to the user and is the main interaction method in our program.
Physical interaction
The game is completed by selecting different cards, executing different game programs, and selecting the corresponding magnetic components.
User Experience
- The machine is connected to the power supply and switched on, playing a tone
- Children choose their favorite card to insert into the machine
- The machine starts to play a short story and prompts the child to interact after the story ends.
- Children fill in the magnetic components to form the face of the robot. There is a beep once for each filling.
- The machine will verify the answer after all the components are filled, and the correct answer will play the victory sound effect and encouragement. Otherwise the child is encouraged to keep trying.
- Once completed, the machine will guide the child to change cards to change the game.
Sketch



Main program structure
void setup() {
Serial.begin(9600); // For debugging output
Serial0.begin(9600); // For communication with the RFID Reader
Serial.println("Scan your RFID card...");
}
void loop() {
if (Serial0.available() > 0) {
String cardData = "";
while (Serial0.available() > 0) {
char incomingByte = Serial0.read();
cardData += incomingByte;
}
cardData.trim(); // Remove any extra spaces or newline characters
// Remove non-printable characters (ASCII control characters)
cardData.replace(String((char)0x02), ""); // Remove ASCII Start of Text (STX)
cardData.replace(String((char)0x03), ""); // Remove ASCII End of Text (ETX)
Serial.print("Card Data: ");
Serial.println(cardData); // Print the actual card data for debugging
Serial.print("Card Data Length: ");
Serial.println(cardData.length()); // Check length of the card data
// Execute corresponding program based on card data
if (cardData == "0E005543AEB6") {
executeProgram1();
} else if (cardData == "0E0055A9C032") {
executeProgram2();
} else if (cardData == "0E0055439981") {
executeProgram3();
} else if (cardData == "45678901") {
executeProgram4();
} else if (cardData == "56789012") {
executeProgram5();
} else if (cardData == "67890123") {
executeProgram6();
} else {
Serial.println("Unknown card.");
}
}
delay(100); // Adjusted delay to avoid excessive waiting
}
// Define different programs
void executeProgram1() {
Serial.println("Executing Program 1...");
// Add logic for the first program
}
void executeProgram2() {
Serial.println("Executing Program 2...");
// Add logic for the second program
}
Prototype



Electronic preparation
- Magnetic sensors
- RFID reader
- Arduino ESP nano 32 board
- 1x Audio speaker
- 1x MP3 player



Fabrication




3D object
Final renders



3D model


Logo
Final physical product
