Moinak Ghosh
Created June 19, 2023

Glowing Cyclist Uniform

A safety uniform for cyclists

16
Glowing Cyclist Uniform

Story

Read more

Custom parts and enclosures

final look

Code

Main program

Arduino
// Include necessary libraries
#include <Wire.h>
#include <MPU6050.h>

// Define MPU6050 objects
MPU6050 helmetIMU;
MPU6050 rightArmIMU;
MPU6050 leftArmIMU;

// Define relay pins
const int brakeRelayPin = 2;
const int rightArmRelayPin = 3;
const int leftArmRelayPin = 4;

void setup() {
  // Initialize MPU6050 IMU modules
  helmetIMU.begin(MPU6050_SCALE_2G, MPU6050_RANGE_250DEG);
  rightArmIMU.begin(MPU6050_SCALE_2G, MPU6050_RANGE_250DEG);
  leftArmIMU.begin(MPU6050_SCALE_2G, MPU6050_RANGE_250DEG);

  // Set pin modes for relay modules
  pinMode(brakeRelayPin, OUTPUT);
  pinMode(rightArmRelayPin, OUTPUT);
  pinMode(leftArmRelayPin, OUTPUT);
}

void loop() {
  // Read acceleration values from IMU modules
  int helmetAccelX = helmetIMU.getAccelerationX();
  int rightArmAccelY = rightArmIMU.getAccelerationY();
  int leftArmAccelY = leftArmIMU.getAccelerationY();

  // Brake signal
  if (helmetAccelX < -5000) { // Adjust the threshold as per calibration
    digitalWrite(brakeRelayPin, HIGH);  // Turn on the brake relay
  } else {
    digitalWrite(brakeRelayPin, LOW);  // Turn off the brake relay
  }

  // Right arm signal
  if (rightArmAccelY > 5000) { // Adjust the threshold as per calibration
    digitalWrite(rightArmRelayPin, HIGH);  // Turn on the right arm relay
  } else {
    digitalWrite(rightArmRelayPin, LOW);  // Turn off the right arm relay
  }

  // Left arm signal
  if (leftArmAccelY > 5000) { // Adjust the threshold as per calibration
    digitalWrite(leftArmRelayPin, HIGH);  // Turn on the left arm relay
  } else {
    digitalWrite(leftArmRelayPin, LOW);  // Turn off the left arm relay
  }

  // Add appropriate delay for desired signaling duration
  delay(100);
}

Credits

Moinak Ghosh
11 projects • 38 followers
IoT enthusiast experienced with autonomous drones and vehicles, FPGA-based vision applications, MCU programming/Embedded/ML/AI

Comments