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

  1. The machine is connected to the power supply and switched on, playing a tone
  2. Children choose their favorite card to insert into the machine
  3. The machine starts to play a short story and prompts the child to interact after the story ends.
  4. Children fill in the magnetic components to form the face of the robot. There is a beep once for each filling.
  5. 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.
  6. 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

Resources

3D file: Robotion.f3d

Source code: robotion_code.zip