[36호]반딧불이, 센서 부착 맹인 지팡이
2015 ICT 융합 프로젝트 공모전 우수상
반딧불이, 센서 부착 맹인 지팡이
글 | 동양미래대학교 권영제, 김건희, 정원희, 정예진, 전병천, 피은영
심사평
펌테크 아이디어가 돋보이는 제품으로 실생활에서 맹인에게 실제 도움을 줄 수 있는 제품으로 충분한 상업적 가치가 있다고 생각합니다. 완제품으로 개발 경량화 및 신뢰성 확보 부분에 관한 연구가 좀 더 진행되어야 할것 으로 생각됩니다.
JK전자 기술적으로는 구현하는데 그리 어려운 점이 없지만, 시각 장애인들에게 꼭 필요한, 굉장히 유용한 도구를 아이디어로 구현했다. 진동 모터를 이용하여 지팡이를 사용하는 사람이 다른사람을 의식하지 않고 위험 요소를 전달받을 수 있게 한 점도 좋은 아이디어이다. 다양한 실전 테스트를 거쳐 저렴하게 보급이 된다면 아주 유익한 제품임에 틀림이 없다.
뉴티씨 장애인들과 같은 사회적 약자에 대한 관심과 적극적인 도움은 항상 필요하다. 이 작품은 장애인 중 맹인들에 대한 필수 제품이라고 할 수 있겠다. 맹인들의 보조눈이 될 수 있는 제품으로, 배터리가 오래가도록 하며, 가볍게 만드는 것이 관건이라고 하겠다. 다만, 기술적으로는 크게 어려움이 없는 제품이다. 기능 면에서는 관련된 기능들이 잘 동작할 경우, 기획된 점들은 구석구석 기능을 잘 계획하였으므로 동작면에서만 실제 맹인들이 사용하도록 하여, 잘 보완하면 좋은 제품이 될 것 같다. 항상 그렇지만, 동작하는 정도에 그치는 것과 실제 사용할 수 있는 제품을 만드는 것은 하늘과 땅 차이로, 매우 많은 자본과 시간이 투여되고 구현도 어려워진다. 하지만, 이러한 점들을 잘 극복하고 좋은 제품을 만드는 것이 엔지니어들의 몫인 것 같다. 창의성과 실용성 및 완성도 등에 높은 점수를 주었다.
칩센 맹인들을 위한 제품에 대해서는 창의적인 아이디어인것 같다. 실제로 맹인들이 사용하기에는 무겁고 복잡하지 않을 까라는 생각이 든다. 사람이 많은 곳이나 장애물이 많은 곳에서는 센서동작이 항시 작용될 것으로 보인다. 배터리를 충분히 사용할 수 있도록 보안이 필요해보인다. 진동으로 감지 하는 방법 외 다른 방법으로 알림설정이 추가로 있으면 좋겠으며, 맹인들이 주위에 있다는걸 알리는 방법도 맹인들이 길을 다니기에는 조금 도움이 되지 않을까 한다.
위드로봇 작품의 컨셉, 구현 완성도가 훌륭합니다. 색상 인식의 경우 실제에서는 오염에 의한 오인식이 발생할 것이고, 이것에 대한 대처가 필요해 보입니다. 또한 장애인을 대상으로 하는 작품일 경우 어렵겠지만 장애인과 한 번 접촉하여 어떤 점이 정말 필요한 것인지 문의해 볼 필요가 있습니다. 실제 맹인의 경우 일반인이 느끼는 진동모터의 진동을 수 십배 이상으로 느끼기 때문에 해당 지팡이를 조금만 사용해도 손의 감각이 쉬 피로해지는 현상을 호소할 수 있습니다. 실제로 많은 정부 과제에서 본 작품과 비슷한 장애인용 지팡이 개발이 진행되었고 또 그에 따른 연구 결과들이 많이 공개되어 있습니다. 이런 내용을 참고하여 기존 연구와 차별성을 설명했으면 더 좋았을 것 같습니다.
작품 개요
사실 이 작품을 만들게 된 계기는 간단했다. 밤늦게 집으로 가는 길에 옆으로 누군가 휙하니 지나가는데 맹인이었다. 어떤 작품을 만들지 고심하던 터였는데 혹시 구상이 떠오르지 않을까 싶어서 한참을 지켜보고 난 후 다가가 혹시 지팡이를 사용하는데 애로사항이 있는지와 다른 얘기들을 나누어 봤는데, 우리가 생각하는 것보다 불편하고 위험한 것들이 많이 있는 것을 알고 난 후, 마음이 좋지 못했다. 그래서 기존의 지팡이에 센서를 부착한다면 보다 사용하기 수월하지 않을까하는 생각에 제작에 임하였는데 의외로 이러한 것들이 외국에는 존재했지만 홍보가 부족했는지 사용자는 적었고, 국내에는 거의 전무하였다. 기존의 센서 지팡이가 있으므로 이를 모방했다는 오해를 받기 싫어 더욱 차별성을 두려고 센서의 위치와 각도에 신경을 쓰고 센서들을 추가시키는 등, 많은 신경을 써보았다.
시각 장애인은 안전하게 보행하기 위해 지팡이를 사용하거나 안내견과 동행한다. 하지만 기존의 방법에는 여러 가지 문제가 있다. 먼저 안내견은 장기간의 훈련이 필요하여 많은 시간과 비용이 소모된다. 또한 기존의 지팡이는 장애물의 거리와 위치를 정확히 인지시켜 주지 못하기 때문에 충돌위험이 있고 점자블록이 있다고 하더라도 사용자가 완벽히 인지하긴 무리가 있다. 이에 시각장애인은 위험에 노출되어 있는데, 이런 문제점으로 복잡한 도심 속에서 시각 장애인이 기존의 지팡이에만 의존하여 보행하기엔 많은 어려움이 있다는 생각을 했다. 그래서 더욱 안전하게 보행할 수 있도록 도움을 줄 수 있는 장치들을 고려해 본 결과, 초음파 센서와 적외선 센서로 위험수준을 거리로 측정하고 색상 인식센서로 점자블럭의 노란색을 인지한다. 조도센서를 이용하여 터널과 같은 어두운 곳을 지날 때 LED가 자동적으로 켜지도록 조치한다. 그리고 조도센서를 제외한 센서의 지정된 값을 인식했을 때 진동모터로 전달토록 했다. 이러한 작품 (반딧불이)을 사용함으로써 안내견을 훈련시키는 사회적 복지 비용을 절감할 수 있고, 시각 장애인들이 기존보다 더욱 안전하게 보행할 수 있도록 도움을 줄 것이다.
작품명은 밤하늘을 수놓는 마치 한 마리의 반딧불이와 같이 이러한 지팡이가 얼른 상용화되어 시각장애인들이 걷는 그 어두운 길을 따라 비추어주어 불편함 없이 행복하게 지내기를 고대하며 글을 마친다.
사용 부품 및 설명
주요 동작 및 특징
1. 초음파 센서(3m) : 기존의 지팡이는 전방의 장애물의 유무를 미리 알기 어려워 지팡이의 아래쪽에 초음파 센서를 추가함으로써 최대 전방 3m 안의 위험 요소 여부를 손잡이의 진동으로 알린다.
2. 초음파 센서(2m) : 또, 지팡이의 중반부에 추가한 초음파 센서로 낮은 천장 등 2m 내에 있는 상방의 장애물을 감지하여 진동으로 위험을 알린다.
3. 색상인식 센서는 지팡이의 하단부에 부착되어 횡단보도 앞 점자 블록, 계단의 안내선 등 맹인을 인도하는 노란 선을 인지하고 진동 모터가 부착된 손잡이에 진동을 울려 노란 선의 여부를 알려준다.
4. 적외선 센서는 내리막길이나 움푹 파인 도로 등 하방의 빈 공간을 인지하여 진동으로 알려준다.
5. 조도 센서는 어두운 밤길, 안개 낀 날에 주변의 어두움을 감지하여 LED를 점등시켜 시각 장애인의 존재를 타인에게 알린다.
6. 진동 모터는 손잡이에 부착하여 적외선 센서, 색상 인식 센서, 초음파 센서 등과 연동하여 진동으로 모든 위험을 알린다.
기존의 지팡이와 비교
회로와 소스 코드
색상인식센서
int s0=3,s1=4,s2=5,s3=6;
int out=2;ㅍ
int flag=0;
byte counter=0;
byte countR=0,countG=0,countB=0;
void setup()
{
Serial.begin(9600);
pinMode(s0,OUTPUT);
pinMode(s1,OUTPUT);
pinMode(s2,OUTPUT);
pinMode(s3,OUTPUT);
}
void TCS()
{
flag=0;
digitalWrite(s1,HIGH);
digitalWrite(s0,HIGH);
digitalWrite(s2,LOW);
digitalWrite(s3,LOW);
attachInterrupt(0, ISR_INTO,LOW);
timer0_init();
}
void ISR_INTO()
{
counter++;
}
void timer0_init(void)
{
TCCR2A=0×00;
TCCR2B=0×07; // the clock frequeny source 1024 points
TCNT2=100; //10 ms overflow again
TIMSK2 = 0×01; //allov interruput
}
int i=0;
ISR(TIMER2_OVF_vect)// the timer 2,10ms interrupt overflow again.Internal
// overflow interrupt excutive function
{
TCNT2=100;
flag++;
if(flag==1)
{
countR=counter;
Serial.print(“red=”);
Serial.print(countR,DEC);
digitalWrite(s2,HIGH);
digitalWrite(s3,HIGH);
}
else if(flag==2)
{
countG=counter;
Serial.print(” green=”);
Serial.print(countG,DEC);
digitalWrite(s2,LOW);
digitalWrite(s3,HIGH);
}
else if(flag==3)
{
countB=counter;
Serial.print(” blue=”);
Serial.println(countB,DEC);
digitalWrite(s2,LOW);
digitalWrite(s3,LOW);
}
else if(flag==4)
{
flag=0;
}
counter=0;
}
void loop()
{
TCS();
while(1);
}
적외선센서
const int sensorPin = A1;
const int M=8;
void setup()
{
Serial.begin(9600);
pinMode(M,OUTPUT);
pinMode(sensorPin,INPUT);
}
void loop()
{
long distance=0;
distance = 12343.85 * pow(analogRead(sensorPin),-1.15);
Serial.print(“distance : “);
Serial.print(distance);
Serial.println(“cm”);
if(0<distance<50)
{
digitalWrite(M,HIGH);
}
else{
digitalWrite(M,LOW);
}
}
조도센서
const int T = 1;// T = SENSOR
const int J = 0;// J = SERSOR VALUE
const int L=7;
void setup()
{
Serial.begin(9600);
pinMode(T,INPUT);
pinMode(L,OUTPUT);
}
void loop()
{
Serial.println(J);
J = analogRead(T);
if( J > 300 )
{
digitalWrite(L,LOW);
}else{
digitalWrite(L,HIGH);
}
}
초음파센서 소스 코드
int ultras=A4;
int ultras2=A3;
const int M = 9;
const int M2 = 8;
const int M3 = 7;
void setup()
{
Serial.begin(9600);
}
void Sultras()
{
long td=0;
float dist=0;
pinMode(ultras, OUTPUT);
digitalWrite(ultras,LOW);
delayMicroseconds(2);
digitalWrite(ultras,HIGH);
delayMicroseconds(5);
digitalWrite(ultras, LOW);
pinMode(ultras,INPUT);
td = pulseIn(ultras, HIGH);
dist= td/29./2.;
if(0<=dist<50)
{
digitalWrite(M,HIGH);
digitalWrite(M2,HIGH);
}
else if(150>=dist>50)
{
digitalWrite(M,LOW);
digitalWrite(M2,HIGH);
}
else if (dist>250)
{
digitalWrite(M,LOW);
digitalWrite(M2,LOW);
}
else
{
digitalWrite(M, HIGH);
digitalWrite(M2,LOW);
}
Serial.print(dist);
}
void Sultras2()
{
long tds=0;
float dist2=0;
pinMode(ultras2, OUTPUT);
digitalWrite(ultras2,LOW);
delayMicroseconds(2);
digitalWrite(ultras2,HIGH);
delayMicroseconds(5);
digitalWrite(ultras2, LOW);
pinMode(ultras2,INPUT);
tds = pulseIn(ultras2, HIGH);
dist2= tds/29./2.;
if(0<=dist2<200)
{
digitalWrite(M3,HIGH);
}else{
digitalWrite(M3,LOW);
}
Serial.print(” “);
Serial.println(dist2);
}
void loop()
{
Sultras();
Sultras2();
}
단계별 제작 과정
부품 구입
(1) 초음파, 적외선, 색상 인식, 조도 센서와 기존의 역할을 담당하는 맹인 지팡이를 구입, 또한 습도에 의한 부식,고장을 방지하기 위해 방수 스프레이를 구비해두었다.
회로 구성 및 코딩 작업
(1) 각 센서마다 소스코드를 입력하여 딜레이와 일정 조건을 코딩했다.
(2) 회로도
색상 인식 센서 |
초음파 센서 |
적외선 센서 |
조도 센서 |
3) 지팡이에 연결, 하드웨어 작업
(1) 초음파 센서 |
(2) 진동 모터 |
(3) 색상 인식 센서 |
(+)납땜 작업 |
(4) 연결 |
데이터 시트
1) 조도 센서
1.감도 빛의 파장에 따라 감도가 다름2.허용손실 비교적 큰 전류를 흘릴 수 있음 3.암 전류 4.명 전류 5.응답특성 |
|
조도센서의 구성부 |
2) 적외선 센서
적외선 센서의 블록다이어그램 |
적외선 센서의 핀 연결 |
3) 초음파 센서
초음파 센서의 핀 연결 |
초음파 센서 특성표 |
4) 색상인식 센서
색상인식 센서의 블록다이어그램 |
색상인식 센서의 핀 연결 |
5) 진동모터
진동모터 특성표 |