April 25, 2024

디바이스마트 미디어:

[66호] 원하는 색상으로 제어가 가능한 아두이노 IoT 스마트 무드등 키트 -

2021-06-25

★2021 ICT 융합 프로젝트 공모전 결과 발표! -

2021-05-12

디바이스마트 국내 온라인 유통사 유일 벨로다인 라이다 공급! -

2021-02-16

★총 상금 500만원 /2021 ICT 융합 프로젝트 공모전★ -

2021-01-18

디바이스마트 온라인 매거진 전자책(PDF)이 무료! -

2020-09-29

[61호]음성으로 제어하는 간접등 만들기 -

2020-08-26

디바이스마트 자체제작 코딩키트 ‘코딩 도담도담’ 출시 -

2020-08-10

GGM AC모터 대량등록! -

2020-07-10

[60호]초소형 레이더 MDR, 어떻게 제어하고 활용하나 -

2020-06-30

[60호]NANO 33 IoT보드를 활용한 블루투스 수평계 만들기 -

2020-06-30

라즈베리파이3가 드디어 출시!!! (Now Raspberry Pi 3 is Coming!!) -

2016-02-29

MoonWalker Actuator 판매개시!! -

2015-08-27

디바이스마트 레이저가공, 밀링, 선반, 라우터 등 커스텀서비스 견적요청 방법 설명동영상 입니다. -

2015-06-09

디바이스마트와 인텔®이 함께하는 IoT 경진대회! -

2015-05-19

드디어 adafruit도 디바이스마트에서 쉽고 저렴하게 !! -

2015-03-25

[29호] Intel Edison Review -

2015-03-10

Pololu 공식 Distributor 디바이스마트, Pololu 상품 판매 개시!! -

2015-03-09

[칩센]블루투스 전 제품 10%가격할인!! -

2015-02-02

[Arduino]Uno(R3) 구입시 37종 센서키트 할인이벤트!! -

2015-02-02

[M.A.I]Ahram_ISP_V1.5 60개 한정수량 할인이벤트!! -

2015-02-02

[36호]반딧불이, 센서 부착 맹인 지팡이

2014 ict 메인

2015 ICT 융합 프로젝트 공모전 우수상

반딧불이, 센서 부착 맹인 지팡이

글 | 동양미래대학교 권영제, 김건희, 정원희, 정예진, 전병천, 피은영

심사평

펌테크 아이디어가 돋보이는 제품으로 실생활에서 맹인에게 실제 도움을 줄 수 있는 제품으로 충분한 상업적 가치가 있다고 생각합니다. 완제품으로 개발 경량화 및 신뢰성 확보 부분에 관한 연구가 좀 더 진행되어야 할것 으로 생각됩니다.

JK전자 기술적으로는 구현하는데 그리 어려운 점이 없지만, 시각 장애인들에게 꼭 필요한, 굉장히 유용한 도구를 아이디어로 구현했다. 진동 모터를 이용하여 지팡이를 사용하는 사람이 다른사람을 의식하지 않고 위험 요소를 전달받을 수 있게 한 점도 좋은 아이디어이다. 다양한 실전 테스트를 거쳐 저렴하게 보급이 된다면 아주 유익한 제품임에 틀림이 없다.

뉴티씨 장애인들과 같은 사회적 약자에 대한 관심과 적극적인 도움은 항상 필요하다. 이 작품은 장애인 중 맹인들에 대한 필수 제품이라고 할 수 있겠다. 맹인들의 보조눈이 될 수 있는 제품으로, 배터리가 오래가도록 하며, 가볍게 만드는 것이 관건이라고 하겠다. 다만, 기술적으로는 크게 어려움이 없는 제품이다. 기능 면에서는 관련된 기능들이 잘 동작할 경우, 기획된 점들은 구석구석 기능을 잘 계획하였으므로 동작면에서만 실제 맹인들이 사용하도록 하여, 잘 보완하면 좋은 제품이 될 것 같다. 항상 그렇지만, 동작하는 정도에 그치는 것과 실제 사용할 수 있는 제품을 만드는 것은 하늘과 땅 차이로, 매우 많은 자본과 시간이 투여되고 구현도 어려워진다. 하지만, 이러한 점들을 잘 극복하고 좋은 제품을 만드는 것이 엔지니어들의 몫인 것 같다. 창의성과 실용성 및 완성도 등에 높은 점수를 주었다.

칩센 맹인들을 위한 제품에 대해서는 창의적인 아이디어인것 같다. 실제로 맹인들이 사용하기에는 무겁고 복잡하지 않을 까라는 생각이 든다. 사람이 많은 곳이나 장애물이 많은 곳에서는 센서동작이 항시 작용될 것으로 보인다. 배터리를 충분히 사용할 수 있도록 보안이 필요해보인다. 진동으로 감지 하는 방법 외 다른 방법으로 알림설정이 추가로 있으면 좋겠으며, 맹인들이 주위에 있다는걸 알리는 방법도 맹인들이 길을 다니기에는 조금 도움이 되지 않을까 한다.

위드로봇 작품의 컨셉, 구현 완성도가 훌륭합니다. 색상 인식의 경우 실제에서는 오염에 의한 오인식이 발생할 것이고, 이것에 대한 대처가 필요해 보입니다. 또한 장애인을 대상으로 하는 작품일 경우 어렵겠지만 장애인과 한 번 접촉하여 어떤 점이 정말 필요한 것인지 문의해 볼 필요가 있습니다. 실제 맹인의 경우 일반인이 느끼는 진동모터의 진동을 수 십배 이상으로 느끼기 때문에 해당 지팡이를 조금만 사용해도 손의 감각이 쉬 피로해지는 현상을 호소할 수 있습니다. 실제로 많은 정부 과제에서 본 작품과 비슷한 장애인용 지팡이 개발이 진행되었고 또 그에 따른 연구 결과들이 많이 공개되어 있습니다. 이런 내용을 참고하여 기존 연구와 차별성을 설명했으면 더 좋았을 것 같습니다.

작품 개요

사실 이 작품을 만들게 된 계기는 간단했다. 밤늦게 집으로 가는 길에 옆으로 누군가 휙하니 지나가는데 맹인이었다. 어떤 작품을 만들지 고심하던 터였는데 혹시 구상이 떠오르지 않을까 싶어서 한참을 지켜보고 난 후 다가가 혹시 지팡이를 사용하는데 애로사항이 있는지와 다른 얘기들을 나누어 봤는데, 우리가 생각하는 것보다 불편하고 위험한 것들이 많이 있는 것을 알고 난 후, 마음이 좋지 못했다. 그래서 기존의 지팡이에 센서를 부착한다면 보다 사용하기 수월하지 않을까하는 생각에 제작에 임하였는데 의외로 이러한 것들이 외국에는 존재했지만 홍보가 부족했는지 사용자는 적었고, 국내에는 거의 전무하였다. 기존의 센서 지팡이가 있으므로 이를 모방했다는 오해를 받기 싫어 더욱 차별성을 두려고 센서의 위치와 각도에 신경을 쓰고 센서들을 추가시키는 등, 많은 신경을 써보았다.
시각 장애인은 안전하게 보행하기 위해 지팡이를 사용하거나 안내견과 동행한다. 하지만 기존의 방법에는 여러 가지 문제가 있다. 먼저 안내견은 장기간의 훈련이 필요하여 많은 시간과 비용이 소모된다. 또한 기존의 지팡이는 장애물의 거리와 위치를 정확히 인지시켜 주지 못하기 때문에 충돌위험이 있고 점자블록이 있다고 하더라도 사용자가 완벽히 인지하긴 무리가 있다. 이에 시각장애인은 위험에 노출되어 있는데, 이런 문제점으로 복잡한 도심 속에서 시각 장애인이 기존의 지팡이에만 의존하여 보행하기엔 많은 어려움이 있다는 생각을 했다. 그래서 더욱 안전하게 보행할 수 있도록 도움을 줄 수 있는 장치들을 고려해 본 결과, 초음파 센서와 적외선 센서로 위험수준을 거리로 측정하고 색상 인식센서로 점자블럭의 노란색을 인지한다. 조도센서를 이용하여 터널과 같은 어두운 곳을 지날 때 LED가 자동적으로 켜지도록 조치한다. 그리고 조도센서를 제외한 센서의 지정된 값을 인식했을 때 진동모터로 전달토록 했다. 이러한 작품 (반딧불이)을 사용함으로써 안내견을 훈련시키는 사회적 복지 비용을 절감할 수 있고, 시각 장애인들이 기존보다 더욱 안전하게 보행할 수 있도록 도움을 줄 것이다.
작품명은 밤하늘을 수놓는 마치 한 마리의 반딧불이와 같이 이러한 지팡이가 얼른 상용화되어 시각장애인들이 걷는 그 어두운 길을 따라 비추어주어 불편함 없이 행복하게 지내기를 고대하며 글을 마친다.

사용 부품 및 설명

부품사진 재료명 사용이유
36 ict hyj (1) 색상 인식 센서 점자 블록의 노란색을 인식하여 횡단보도가 전방에 있음을 알려줘서 사용자가 위험에 노출되지 않도록 이끌어준다.
36 ict hyj (2) 조도 센서 LED와 연결하여 주위가 어두워지면 조도센서의 저항 값이 낮아져 LED가 점등되고 주위가 밝아지면 조도센서의 저항 값이 높아지는 원리로 LED가 소등된다.
터널이나 야간과 같은 어두운 공간에서 LED가 점등되도록 제어하는 역할이다.
36 ict hyj (3) 적외선 센서 지팡이와 지면과의 거리를 감지하여
비탈길이나 계단 그리고, 낭떠러지가 있음을 알리는 역할을 담당한다.
36 ict hyj (4) 초음파 센서 초음파를 수신, 발신의 역할로 구성되어 있는 센서로 거리를 측정하여 전방과 상방의 장애물 유무를 감지하여 사용자에게 전달한다.
36 ict hyj (5) 진동 모터 초음파 센서, 적외선 센서, 색상 인식 센서와 연동시켜 각각 다른 딜레이를 줘서 진동으로 인식한 값을 전달시켜준다.
36 ict hyj (6) LED 터널과 같은 어두운 공간의 조도센서는 LED를 자동적으로 점등시켜 사용자의 위치를 타인에게 알려주도록 한다..
36 ict hyj (7) Arduino UNO 사용되는 모든 센서를 코딩, 구동시키기 위해서 메인보드로는 UNO를 사용하였다.
36 ict hyj (8) 배터리 Arduino UNO의 전원을 공급해주기 위해서 3.7V 리튬이온 건전지 2개를 사용하였다.

 

주요 동작 및 특징

36 ict hyj (9)

1. 초음파 센서(3m) : 기존의 지팡이는 전방의 장애물의 유무를 미리 알기 어려워 지팡이의 아래쪽에 초음파 센서를 추가함으로써 최대 전방 3m 안의 위험 요소 여부를 손잡이의 진동으로 알린다.

2. 초음파 센서(2m) : 또, 지팡이의 중반부에 추가한 초음파 센서로 낮은 천장 등 2m 내에 있는 상방의 장애물을 감지하여 진동으로 위험을 알린다.

3. 색상인식 센서는 지팡이의 하단부에 부착되어 횡단보도 앞 점자 블록, 계단의 안내선 등 맹인을 인도하는 노란 선을 인지하고 진동 모터가 부착된 손잡이에 진동을 울려 노란 선의 여부를 알려준다.

4. 적외선 센서는 내리막길이나 움푹 파인 도로 등 하방의 빈 공간을 인지하여 진동으로 알려준다.

5. 조도 센서는 어두운 밤길, 안개 낀 날에 주변의 어두움을 감지하여 LED를 점등시켜 시각 장애인의 존재를 타인에게 알린다.

6. 진동 모터는 손잡이에 부착하여 적외선 센서, 색상 인식 센서, 초음파 센서 등과 연동하여 진동으로 모든 위험을 알린다.

기존의 지팡이와 비교

기존의 지팡이 진동 지팡이
외형 36 ict hyj (10) 36 ict hyj (11)
장애물 감지 지팡이의 끝으로 땅을 직접 접촉하여 바닥에 위치한 장애물만 인지할 수 있기 때문에 안전성이 떨어진다. 기존의 지팡이와 같이 땅을 직접적으로 접촉해 느낄 수 있고, 부착한 센서로 장애물을 감지하고 진동을 울리기 때문에 바닥뿐만 아니라 전방, 상방의 장애물의 유무를 미리 알고 피할 수 있다.
타인에게 알림 맹인안전지팡이는 흰색을  사용하여야하기 때문에 밝을 때는 분간이 쉽지만 어두워지면 쉽게 눈에 띄지 않아 위험하다. 흰색 지팡이를 그대로 사용하여 본래의 목적을 보존하되, 지팡이에 두른 흰색 반사 테이프와, 조도 센서에 의해 점등되는 LED가 지팡이를 밝히기 때문에 시각장애인이 밤에 이동하거나 어두운 곳에 있을 때 타인이 맹인의 존재와 위치를 쉽게 알아차릴 수 있다.
편의성 개선 전 지팡이는 접이식   지팡이로 휴대가 용이하다. 지팡이가 접히는 위치에 맞춰서 반사 테이프를 나눠 붙였기 때문에 접이식이 가능해 편리하게 휴대 가능하고, 지팡이에 부착한 센서 전체에 방수 스프레이를 뿌려 물과 습기로부터 부품을 보호해서 손상을 방지한다. 

(사실 지팡이에 전선을 넣고 접히는 곳에 신축성이 있는 재질의 물질을 덮으려 했지만 시간적 여유와 재정적 상황에 의해 무산되었다.)

회로와 소스 코드

색상인식센서

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) 회로도

36 ict hyj (13)
색상 인식 센서
36 ict hyj (14)
초음파 센서
36 ict hyj (15)
적외선 센서
36 ict hyj (16)
조도 센서

3) 지팡이에 연결, 하드웨어 작업

36 ict hyj (17)
(1) 초음파 센서
36 ict hyj (18)
(2) 진동 모터
36 ict hyj (19)
(3) 색상 인식 센서
36 ict hyj (20)
(+)납땜 작업
36 ict hyj (21)
(4) 연결

데이터 시트
1) 조도 센서

36 ict hyj (22) 1.감도
빛의 파장에 따라 감도가 다름2.허용손실 

비교적 큰 전류를 흘릴 수 있음

3.암 전류
빛이 없어도 약간의 전류가 흐름

4.명 전류
빛을 비추면 흐르는 전류

5.응답특성
빛의 세기에 따라 응답 시간 다름

  조도센서의 구성부

2) 적외선 센서

36 ict hyj (23)
적외선 센서의 블록다이어그램
36 ict hyj (24)
적외선 센서의 핀 연결

3) 초음파 센서

36 ict hyj (25)
초음파 센서의 핀 연결
36 ict hyj (1)
초음파 센서 특성표

4) 색상인식 센서

36 ict hyj (26)
색상인식 센서의 블록다이어그램
36 ict hyj (27)

색상인식 센서의 핀 연결

5) 진동모터

36 ict hyj (2)

진동모터 특성표

Leave A Comment

*