신효진Mike KimJuhyun Kim
Published

Walk Helper for Mentally Challenged Students

To relieve mentally handicapped students' effort and time spent in training walking, Walk Helper with Curie Board will help them.

IntermediateWork in progress10 hours2,723
Walk Helper for Mentally Challenged Students

Things used in this project

Story

Read more

Custom parts and enclosures

Curie Nano Attachment Shield Model

A curie nano board shield to protect and stick the sensor at the back

Code

walk helper

Arduino
walk helper using curie nano board for mentally disabled students
#define RIGHT         0001
#define LEFT          0002
#define NORMAL        0003 
#define FRONT         0004
#define BACK          0005
#define RIGHT_FRONT   0006
#define RIGHT_BACK    0007
#define LEFT_FRONT    0011
#define LEFT_BACK     0012
 
#include "CurieIMU.h"
 
int tilted = NORMAL;
int SAVED_TILT = NORMAL;
 
void setup() {
 
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  
  Serial.begin(9600); // initialize Serial communication
  while (!Serial);    // wait for the serial port to open
 
  // initialize device
  Serial.println("Initializing IMU device...");
  CurieIMU.begin();
 
  // Set the accelerometer range to 2G
  CurieIMU.setAccelerometerRange(2);
}
 
void loop() {
  float ax, ay, az;   //scaled accelerometer values
 
  // read accelerometer measurements from device, scaled to the configured range
  CurieIMU.readAccelerometerScaled(ax, ay, az);
  
//=============================================
  if(ax*10 <= -5) //오른쪽
  {
      if(az*10 <= 7)
      {
        tilted = RIGHT;
      }
      else
      {
        tilted = NORMAL;
      }
  }
  else if(ax*10 >= 5) //왼쪽
  {
      if(az*10 >= -7)
      {
        tilted = LEFT;
      }
      else
      {
        tilted = NORMAL;
      }
  }
  else
  { 
     tilted = NORMAL;
  } //오른쪽
//=============================================
  SAVED_TILT = tilted;    //저장
//=============================================
  if(ay*10 >= 5.5)            //앞
  {
   if(tilted == NORMAL)
   {
    tilted = FRONT; 
   }
   else if(tilted == RIGHT)
   {
    tilted = RIGHT_FRONT;
   }
   else if(tilted == LEFT)
   {
    tilted = LEFT_FRONT;
   }
  } else if(ay*10 <= -5.5)     //뒤
  {
   if(tilted == NORMAL)
   {
    tilted = BACK; 
   }
   else if(tilted == RIGHT)
   {
    tilted = RIGHT_BACK;
   }
   else if(tilted == LEFT)
   {
    tilted = LEFT_BACK;
   }
  }
  else
  {
    tilted = SAVED_TILT;
  }
  //=============================================
  int delaytime = random(10,500);
  // display tab-separated accelerometer x/y/z values
  Serial.print(ax*10);
  Serial.print("  ");
  Serial.print(ay*10);
  Serial.print("  ");
  Serial.print(az*10);
  Serial.print("  ");
  Serial.print("Status : ");
  
  if(tilted == LEFT)
  {
    Serial.print("LEFT TILTED");
    digitalWrite(13,HIGH);
    delay(delaytime);
  }
  else if(tilted == NORMAL)
  {
    Serial.print("NOT TILTED");
    delay(100);
  }
  else if(tilted == RIGHT)
  {
    Serial.print("RIGHT TILTED");
    digitalWrite(12,HIGH);
    delay(delaytime);
  }
  else if(tilted == FRONT)
  {
    Serial.print("FRONT TILTED");
    digitalWrite(11,HIGH);
    delay(100);
  }
  else if(tilted == BACK)
  {
    Serial.print("BACK TILTED");
    digitalWrite(10,HIGH);
    delay(100);
  }
  else if(tilted == RIGHT_FRONT)
  {
    Serial.print("RIGHT & FRONT TILTED");
    digitalWrite(12,HIGH);
    digitalWrite(11,HIGH);
    delay(100);
  }
  else if(tilted == RIGHT_BACK)
  {
    Serial.print("RIGHT & BACK TILTED");
    digitalWrite(12,HIGH);
    digitalWrite(10,HIGH);
    delay(100);
  }
  else if(tilted == LEFT_FRONT)
  {
    Serial.print("LEFT & FRONT TILTED");
    digitalWrite(13,HIGH);
    digitalWrite(11,HIGH);
    delay(100);
  }
  else if(tilted == LEFT_BACK)
  {
    Serial.print("LEFT & BACK TILTED");
    digitalWrite(13,HIGH);
    digitalWrite(10,HIGH);
    delay(100);
  }
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
    digitalWrite(11,LOW);
  digitalWrite(10,LOW);
  Serial.println("  ");
  delay(10);
}
 
 
 
 
https://github.com/01org/corelibs-arduino101/tree/master/libraries

Credits

신효진

신효진

0 projects • 0 followers
Mike Kim

Mike Kim

0 projects • 0 followers
I am Mike Kim
Juhyun Kim

Juhyun Kim

26 projects • 12 followers

Comments