[참고 자료]
https://rasino.tistory.com/283
https://cafe.naver.com/whatevermaker/64
Velostat
알루미늄 호일
전선
박스 테이프
아두이노 나노 1개
장갑 1짝
HC-06 1개
알루미늄 호일을 준비한다.
적정 사이즈로 알루미늄 호일을 자른다.
테이프를 이용하여 자른 알루미늄 호일에 전선을 붙여준다.
나머지 한쪽도 붙여준다.
Velostat의 한 면에 알루미늄 호일을 올린 후 박스 테이프를 이용하여 고정해준다.
Velostat과 알루미늄 호일은 서로 맞닿아 있어야 한다.
알루미늄 호일보다 Velostat의 면적이 약간 더 커야 한다.
같은 방식으로 Velostat의 반대편 면에도 박스 테이프를 이용하여 알루미늄 호일을 고정해준다.
그림과 같이 두 장의 알루미늄 판 사이에 Velostat이 위치해있어야 한다.
필요한 만큼 Velostat 구부림 센서를 만들어준다.
다섯 개의 손가락에 붙이기 위해 위해 총 5개의 구부림 센서를 만들었다.
장갑 한짝을 준비한다.
센서를 부착하기 위해 장갑을 뒤집는다.
장갑의 각 손가락에 구부림 센서를 부착한다.
장갑을 다시 뒤집고 손등 위에 아두이노 나노와 블루투스 모듈인 'HC-06' 을 부착한다.
아두이노 나노의 핀 배치도는 다음과 같다.
장갑을 착용한 후 아두이노에 연결하여 제대로 작동하는지 테스트해본다.
Ver 1.0은 장갑에 구부림 센서를 고정시키기 위해 접착제를 사용하였는데 액체로된 접착제가 천을 통과하여 장갑의 겉면에 지저분한 접착제 자국이 남았다.
글루건도 마찬가지였다. 글루건은 접착제보다는 점성이 높아 천을 통과하지 않을 것이라 예상하였으나 그것은 잘못된 생각이었다. 비교적 저온일 때는 통과하지 못했지만 핫멜트의 온도가 많이 올라가자 점성력이 약화되어 장갑의 천을 통과하였다.
새로운 버전을 제작 시 블루투스 모듈을 'HC-10' 에서 'HM-10' 으로 바꿔보기로 했다.
장갑의 외형을 보다 수려하게 꾸미기 위해 제어보드인 마이크로 프로세서를 'Arduino Nano' 에서 'LilyPad 328' 로 변경하였다.
Velostat
알루미늄 호일
전선
박스 테이프
LilyPad 328 1개
FT232RL 1개
장갑 1짝
HM-10 1개
구부림 센서 만드는 과정은 Ver 1.0과 동일하다.
장갑 안에서의 움직임을 보다 원활하게 하기 위해서 Ver 1.0에서 사용한 전선을 0.2mm의 에나멜선으로 대체하였다.
구부림 센서의 복원력을 키우기 위해 투명 파일철을 각 센서의 크기에 맞게 잘라 보강하였다.
장갑의 각 손가락에 사진과 같이 구부림 센서를 부착해준다.
< LilyPad 328 >
< FT232RL >
UART 통신용 'FT232RL' 을 준비하고 아래 그림과 같이 연결한다.
'FT232RL' 를 이용하기 위해서는 드라이버를 설치해야 한다.
https://drive.google.com/file/d/1FrfX0s6SeX9kaXR-1QkVMz2HqUbMnfdz/view?usp=sharing
'LilyPad 328' 에는 6개의 핀이 있는데 핀의 양 끝에 B와 G라는 글자가 새겨져 있다.
'FT232RL' 의 GND와 'LilyPad 328' 의 B핀을 연결한 후, 이를 시작으로 아래 그림과 같이 6개의 핀을 순서대로 연결해준다.
'FT232RL' 또는 'LilyPad 328' 둘 중 하나를 뒤집어준 후 순서대로 연결하면 된다.
'컴퓨터' 와 'FT232RL' 를 'Mini-B USB' 케이블을 이용하여 연결한다.
아두이노 IDE를 실행한다.
보드는 'LilyPad Arduino' 를 선택한다.
프로세서는 'ATmega328P' 를 선택한다.
자신의 컴퓨터에 맞는 시리얼 포트를 선택해준 후 아두이노 스케치를 업로드해본다.
만약, 업로드가 되지 않는다면 보드를 'Arduino Uno' 로 바꿔준 후 업로드를 해본다.
통신을 위해 'LilyPad 328' 에 'HM-10' 을 부착한다.
장갑을 뒤집은 후 'LilyPad 328' 을 손등 부분에 바느질로 부착해준다.
손등에서 떨어지지 않게 에나멜선을 여러 번 감아 주었다. 이 때 에나멜선이 끊어지지 않도록 주의한다.
(조심한다고 했는데도 수차례 끊어먹었다 ㅠ_ㅠ)
장갑에 전원으로 사용할 'CR2032' 전지 홀더를 달아준다.
그런데 예상과는 다르게 전원을 연결해봐도 동작하지 않았다. 3V 전압만으로는 'LilyPad 328' 과 'HM-10' 이 작동하기에 힘에 버겨운 것 같았다.
전원을 다른 것으로 교체해보기로 했다.
3.7V 리튬폴리머 (150mA) 전원을 연결하였더니 제대로 정상작동하였다.
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(2, 3);
int flex0;
int flex1;
int flex2;
int flex3;
int flex4;
void setup()
{
Serial.begin(9600);
//bluetooth.begin(9600);
pinMode(A0, INPUT_PULLUP); // 엄지
pinMode(A1, INPUT_PULLUP); // 검지
pinMode(A2, INPUT_PULLUP); // 중지
pinMode(A3, INPUT_PULLUP); // 약지
pinMode(A4, INPUT_PULLUP); // 애지
pinMode(5, OUTPUT); // GND 핀으로 사용
digitalWrite(5, LOW);
}
void loop()
{
flex0 = analogRead(A0);
flex1 = analogRead(A1);
flex2 = analogRead(A2);
flex3 = analogRead(A3);
flex4 = analogRead(A4);
//bluetooth.write('0');
Serial.print("엄지 손가락 : ");
Serial.println(flex0);
//bluetooth.write(flex0); // 블루투스 통신을 통해 애지 손가락 값을 전송
Serial.print("검지 손가락 : ");
Serial.println(flex1);
// bluetooth.write(flex1); // 블루투스 통신을 통해 약지 손가락 값을 전송
Serial.print("중지 손가락 : ");
Serial.println(flex2);
//bluetooth.write(flex2); // 블루투스 통신을 통해 중지 손가락 값을 전송
Serial.print("약지 손가락 : ");
Serial.println(flex3);
//bluetooth.write(flex3); // 블루투스 통신을 통해 검지 손가락 값을 전송
Serial.print("애지 손가락 : ");
Serial.println(flex4);
//bluetooth.write(flex4); // 블루투스 통신을 통해 검지 손가락 값을 전송
if (flex0 < 300) {
Serial.println("엄지 굽혀짐");
}
if (flex1 < 300) {
Serial.println("검지 굽혀짐");
}
if (flex2 < 300) {
Serial.println("중지 굽혀짐");
}
if (flex3 < 300) {
Serial.println("약지 굽혀짐");
}
if (flex4 < 300) {
Serial.println("애지 굽혀짐");
}
// Serial.println("");
delay(100);
}