내장 내시경 - Smart Lens Case

MIE capstone
2012430017 (토론 | 기여)님의 2020년 6월 20일 (토) 07:58 판 (제어부 및 회로 구현)
이동: 둘러보기, 검색

프로젝트 소개

프로젝트 명

Smart Lens Case

프로젝트 기간

2020.3~2020.6

팀 소개

서울시립대학교 기계정보공학과 2015430021 방기웅 (팀장)
서울시립대학교 기계정보공학과 2015430009 김혁주
서울시립대학교 기계정보공학과 2015430037 전언렬
서울시립대학교 기계정보공학과 2015430042 채광성
서울시립대학교 기계정보공학과 2015430045 허훈제

프로젝트 개요

프로젝트 요약

본 개발은 Raspberry Pi를 이용하여 콘택트 렌즈 사용자의 불편함을 해소시키는 기능을 탑재한 임베디드 시스템 설계이다. '스마트 렌즈 케이스'는 진동소자를 Raspberry Pi로 제어하여 자동세척기능을 구현하고, 렌즈 세척 용액의 공급 및 배출을 용이하게 한다. Raspberry Pi에서 수위측정센서와 초음파센서를 통해 데이터를 전달 받고, 상황에 알맞은 작동을 자동으로 수행할 수 있도록 역할을 수행한다. Raspberry Pi의 GPIO 핀과 MCP 3208을 통해 각종 데이터의 형식을 전환시키고, Firebase 서버에 인자를 송수신하는 방식으로 실시간으로 제어하는 방식을 채택하였다. 또한, 사용자가 모바일 기기에서 Application을 이용하여 세척 예약 시간 설정, 시력 데이터 입력 등의 편의 기능을 수행할 수 있다.

프로젝트의 배경 및 기대효과

1. 배경


현대 사회에서 갈수록 많은 사람의 시력저하 현상과 더불어 안경 및 콘택트렌즈의 착용 현황이 현저히 늘어나고 있다. 주변에서도 콘택트렌즈를 착용하고 있는 사람들을 흔히 볼 수 있는데, 각자의 취향이나 목적에 맞게 렌즈의 종류 또한 다양하다. 렌즈를 착용해보고 관리해본 사람이라면 누구나 겪어본 난항들이 있었을 것이다. 일회용 렌즈를 제외한 소프트렌즈와 하드 렌즈의 이용자들은 대부분 플라스틱으로 이루어진 렌즈 사례와 ‘리뉴’라고 불리는 세척액을 사용한다.

<렌즈세척액 '리뉴'와 렌즈 케이스>

아주 얇은 렌즈를 보존액을 담은 케이스 안에 보관하는 원리라고 이해하면 편할 것이다. 렌즈를 눈에 탈부착하는 이 단순한 과정에서 생각보다 번거로운 일들이 많이 생기는데, 이를 정리해보면 다음과 같다.

• 착용자의 안구 건강을 위해서 렌즈에 끼인 단백질 및 이물질을 제거하는 세척과정을 거치기 번거로워 이를 무시하고 렌즈의 상태가 오염되는 상황이 생긴다.
• 소프트렌즈의 경우 사용 기한이 정해져 있는데, 그 기한을 자주 망각하고, 일회용 렌즈의 경우 남은 렌즈 개수를 미리 파악하지 못하곤 한다.
• 일회용 렌즈의 경우 잠깐 착용하고 폐기하는 것이 경제적이지 못하다.
• 렌즈가 분실 또는 파손되었을 때, 본인의 시력 데이터를 모르기 때문에 원하는 상품을 구하기 힘들다.
• 렌즈 보존액의 잔량 파악을 자주 망각하고, 렌즈 탈부착 시 보존액을 갈아주기 번거롭다.

특히 이러한 문제점들은 소프트렌즈를 착용할 때, 가장 많이 생기는 애로사항인데 이러한 번거로움을 제거하고자 Smart lens Case를 라즈베리 파이를 이용한 임베디드 시스템으로 구현해보고자 한 것에서 시작하였다. Android app과 연동할 수 있다면 사용자의 편의성을 대폭 높일 수 있을 것이라고 생각하였다.


2. 기대효과

아래의 자료를 보면 알 수 있듯이, 현재 한국인은 안경과 렌즈 착용을 상당수 하는 것을 알 수 있다. 물론 렌즈를 착용하는 사람의 수는 안경을 착용하는 사람의 수에 비해 적지만 꾸준히 사용자가 증가하고 있으며, 상대적으로 시력 관리에 대한 관심도가 적은 젊은 층이 다수 이용한다는 점에서 Smart Lens Case를 적절히 설계한다면 렌즈 사용자들의 불편함을 줄일 뿐만 아니라 시력 정보 데이터 관리를 통해 시력의 감소를 예방할 수 있을 것이라고 예상된다.

<연간 성인 안경 및 콘택트렌즈 사용률>

동작 시나리오

구현 내용

역할분담 및 추진체계


역할.PNG

시스템 구성

기구부 설계 및 구현


초기.PNG 카티아.PNG

위의 그림은 렌즈통의 세척부에 초음파 거리 센서 및 접촉식 수위센서를 초기 모델링과 3D 프린터 출력을 위한 최종 CATIA V5 모델이다. 기구부에서는 크게 공급부, 세척부, 배출부 3가지 부분으로 나뉜다. 3D 프린터 출력 방식과 재질상의 문제로 누수의 위험이 생겨 액체를 접하는 공간은 방수 스프레이와 셀로판지와 실리콘을 이용하여 2중 방수처리를 하였다.

- 공급부


접촉식수위.png

공급부는 렌즈 세척액을 보존 및 공급하는 공간을 담당한다. 공급부에 남은 세척액의 잔량을 파악하기 위해 접촉식 수위센서로 공급부의 수위를 측정하여 데이터를 수신한다. 세척액의 공급양에 대한 정도는 세척부의 초음파 센서의 파악 여부로 결정한다. 충분한 세척액을 담을 수 있을 정도의 부피로 구성하였다. 사용자는 해당 센서를 통해 공급부의 세척액 잔량 데이터를 확인할 수 있고, 이를 통해 사용자에게 세척액의 공급이 필요하다고 알릴 수 있다.

- 세척부



세척부는 렌즈가 세척되고 보존되는 공간을 담당한다. 렌즈를 쉽게 수납하기 위해 경첩을 이용하여 뚜껑부분을 구성하였다. 세척부에는 2가지 주요 부품으로 구성된다.

1. 진동 소자

세척부 바로 옆 공간에 진동 소자를 배치할 공간을 설계하였다. 이 공간에 사용할 진동 모터를 삽입하고 세척부에 진동을 잘 전달할 수 있게 빈 공간에 진동을 잘 전달할 수 있는 물질을 삽입하여 적절한 조치를 취하였다.

2. 초음파 센서

초음파 거리 센서는 초음파를 발사하고, 후에 물체에 반사되어 돌아오는 시간을 통해 거리를 계산하는 동작을 수행한다. GPIO핀에서 VCC 핀과 GND 핀을 초음파 센서 모듈 1, 4번 핀에 연결하여 사용한다. 해당 센서는 렌즈통의 뚜껑에 위치할 것이며, 다음과 같은 역할을 수행하게 될 것이다. 초음파 센서는 렌즈 혹은 세척액이 세척부에 존재된다고 파악되면 세척을 진행할 조건이 충족된다. 이는 세척액 공급, 렌즈 세척, 세척액 배출로 이어지는 동작을 수행하게 된다. 초음파 센서의 거리 데이터를 유의미하게 받기 위해 세척부의 부피를 알맞게 조정하였다.

-배출부

배출부는 세척부에서 세척이 모두 끝난 뒤 오염된 세척액이 배출되는 공간이다. 이는 서랍처럼 편하게 수납할 수 있도록 서랍형식으로 구성하였고, 오염된 세척액이 차있다면 배출부를 꺼내어 용액을 버리는 방식이다.

-etc

라즈베리 파이, 솔레노이드, 각종 배선을 적절히 배치하기 위한 공간을 설계하였다. 배선에서 문제가 발생할 부분을 대비하여 이를 수정할 수 있도록 케이스 옆면을 분리할 수 있도록 하드웨어를 구성하였다.

제어부 및 회로 구현


전체적인 회로구성은 다음과 같다. 라즈베리 파이를 이용하여 제어해야할 주요 부품은 초음파 센서, 접촉식 센서, 진동 소자, 솔레노이드 밸브가 있다.

초음파 센서 회로도

초음파.PNG 초음파회로.PNG

위의 그림은 초음파 거리 센서의 4개의 역할을 나타낸다. 1번 Pin은 Vcc전원과 연 결되어 전원을 공급받고, 4번 Pin은 GND와 연결된다. 2번과 3번 Pin은 GPIO와 연결 되고, 초음파를 이용한 거리 측정에 관여한다. 해당센서 는 초음파를 방사한 후 물체에 반사되어 돌아오는 시간을 계산해 물체의 거리를 파악 하는 것이 원리이다. 라즈베리파이에서 Triger Pin(초음파 센서의 Pin2)에 10us 정도 로 High신호를 주면 초음파 센서는 40khz의 펄스를 외부로 발생시킨다. 이때 echo Pin(초음파 센서의 Pin3)은 low가 되는데, 반사되어 돌아온 초음파가 감지되면 high 가 된다. 즉 echo Pin이 low일 때의 시간과 high로 될 때의 시간을 측정하고, 해당 시간을 초음파의 속도(대략 340m/s)로 나누어 주게 되면 탐지하는 물체의 거리를 계 산할 수 있게 되는 것이다. 해당 센서는 최소 cm단위 정도로 측정이 가능하고, 측정 할 수 있는 최대거리는 대략 300cm이다. 초음파 거리 센서는 5V 전압이기 때문에 5V전원을 공급해줄 수 있 는 라즈베리파이의 Pin2와 연결한다. Trigger와 Echo는 어느 GPIO핀과 연결이 가능 하기 때문에 임의로 각각 라즈베리파이의 Pin11(GPIO17)과 Pin12(GPIO18)에 연결한 다. 주의할 점은 라즈베리파이는 3.3V 로직이고 초음파 거리 센서의 echo핀에서는 5V출력이 나온다. 때문에 direct로 연결하면 라즈베리파이가 손상될 우려가 있다. 따 라서 2kΩ의 저항을 통해 5V의 출력신호를 3.3V에 가깝게 만들어 주어 문제를 해결 할 수 있었다. 아래 그림은 실제로 구현한 결과이다.

초음파개략도.PNG

Trigger를 GPIO output으로, Echo를 GPIO input으로 설정한다. Trigger에 10us동안 High신호를 주고, Echo에 신호가 들어갔다고 판단되면 time.time() 함수를 통해 해당 시각을 pulse_start라는 변수에 저장한다. 이후 초음파가 반사되어 돌아왔다고 판단되면, 즉 Echo가 Low 신 호가 될 때의 시각을 pusle_end라는 변수에 저장한다. 이제 해당 두 시각을 빼주면 초음파가 왕복한 시간을 구할 수 있게 되고, 해당 시간을 사전에 선언한 distance_In_cm함수를 통해 거리로 환산한다. 결과적으로 초음파 센서와 물체 사이 의 거리가 계산되는 것이다.

접촉식 수위 센서

접촉식프로토.PNG

접촉식 수위센서는 아날로그 센서이므로, MCP3208 ADC컨버터와 SPI통신을 이용 하여 라즈베리파이에서 이를 제어하도록 하였다.

소프트웨어 설계 및 구현

프로젝트 결과

최종 결과물

결과물 사진 혹은 시연 영상 등

미구현 내용

프로젝트 평가

평가항목

평가결과

느낀점