Overview

When cutting with a knife, the proper technique to avoid injury is to tuck your fingers inward and keep the knuckles perpendicular to the blade. However, individuals unfamiliar with this posture often keep their fingers extended while chopping, increasing the risk of injury. Safe Chop is a project designed to help users instinctively tuck their fingers inward when the knife is detected, promoting safe cutting practices. This product is useful for novice cooks or in educational settings where proper techniques are being taught.

Related Course

Ambient Interfaces

Collaborator

Solo project advised by
Tess Oldfield

Tools

Arduino
Circuitry
3D print

Timeline

3 weeks

Sketches

When cutting with a knife, the proper technique to avoid injury is to tuck your fingers inward and keep the knuckles perpendicular to the blade. However, individuals unfamiliar with this posture often keep their fingers extended while chopping, increasing the risk of injury. Safe Chop is a project designed to help users instinctively tuck their fingers inward when the knife is detected, promoting safe cutting practices. This product is useful for novice cooks or in educational settings where proper techniques are being taught. This project not only prioritizes safety but also aims to create a more confident and injury-free cooking experience for users.

Logic

Circuit

When cutting with a knife, the proper technique to avoid injury is to tuck your fingers inward and keep the knuckles perpendicular to the blade. However, individuals unfamiliar with this posture often keep their fingers extended while chopping, increasing the risk of injury. Safe Chop is a project designed to help users instinctively tuck their fingers inward when the knife is detected, promoting safe cutting practices. This product is useful for novice cooks or in educational settings where proper techniques are being taught. This project not only prioritizes safety but also aims to create a more confident and injury-free cooking experience for users.

Code

When IR obstacle sensor detects the motor turns forward for a second. When it’s not detecting anything, it stops turning.

const int motorPin1 = 9;        // A-A connected to D9
const int motorPin2 = 10;       // A-B connected to D10
const int sensorPin = 2;        // Sensor signal (S) connected to D2

bool motorActivated = false;    // Tracks if motor has already turned forward for 1 second
unsigned long motorStartTime;   // Stores the time the motor started

void setup() {
  Serial.begin(9600);           // Initialize Serial Monitor
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
  pinMode(sensorPin, INPUT);
}

void loop() {
  int sensorValue = digitalRead(sensorPin);  // Read sensor output from S pin

  // If an obstacle is detected and forward motion hasn't been activated
  if (sensorValue == LOW && !motorActivated) {
    Serial.println("Obstacle detected - Motor turning forward for 1 seconds");

    // Start the motor forward
    analogWrite(motorPin1, 100);      // Set motor speed forward (0-255)
    digitalWrite(motorPin2, LOW);     // Set direction forward
    motorStartTime = millis();        // Record the start time
    motorActivated = true;            // Set flag to indicate forward turn
  }

  // Check if 1 second has passed for forward direction
  if (motorActivated && (millis() - motorStartTime >= 1000)) {
    // Stop the motor after 1.5 seconds of forward turn
    digitalWrite(motorPin1, LOW);
    digitalWrite(motorPin2, LOW);
    Serial.println("Motor stopped after 1 second of forward turn");
    motorActivated = false;           // Reset motor activation
  }

  delay(100);  // Small delay for readability in Serial Monitor
}

3D Prints

The wearable parts are consisted of the wristband, motor case, finger cap and gear.

Prototyping