15. 기본동작
04.
R 1 : O F F R 2 : O F F
R 3 : O F F R 4 : O F F
1번 방이 켜졌습니다.
R 1 : O N R 2 : O F F
R 3 : O F F R 4 : O F F
1번 방이 꺼졌습니다.
16. 세부설명
05.
GPIO
• I2C LCD를 이용하기 위해 GPIO2,
3번(SDA, SCL)을 사용
• LED 제어를 위해 GPIO6, 13, 19,
26번을 사용함
GPIO
LED
ON
17. 세부설명
05.
Serial통신
• Serial 통신에 GPIO 활용
• TX, RX 핀을 활용하기 위해
GPIO14, 15핀을 사용
• 해당 핀이 UART0_TX, RX로 이용
• 송신측의 Serial에서는 포트와 속도
를 설정함.
• 수신측의 Serial에서, 라즈베리파이
가 Linux OS를 사용하므로, 리눅스
시리얼 콘솔을 연결을 해야함.
18. 세부설명
05.
카메라인식및통신
• 카메라에서 현재 손가락의 모양이
검지손가락으로 가리키는 모양일
때 인식
• 검지손가락 끝 마디의 좌표가 사각
형에 위치 하게 되면, 해당 방을 선
택하게 되는 방식
• 선택된 방은, 손가락으로 방을 가리
키기 전 까지, 그 방으로 계속 저장
이 되도록 설정을 해준다.
• handLms.landmark[8] = 검지손가
락 끝 마디
1
19. 세부설명
05.
카메라인식및통신
• 방이 선택된 상태에서, 주먹을 쥐면
선택된 방의 불을 제어할 스위치를
송출하기 전에 송출할 방 이름을
결정한다.
• 결정된 방 이름을 전송할 byte에
저장한다.
• 단, 이전에 전송한 방의 Data와 동
일하지 않을 경우에만 송출한다.
2
2
20. 세부설명
05.
카메라인식및통신
• 주먹을 쥐었고, 전원의 ON/OFF 스
위치가 송출되지 않은 상황일 때,
해당 방의 ON/OFF를 조절할 수 있
는 스위치를 화면에 송출하고, 해당
flag를 조절해준다.
• 스위치의 X, Y 좌표는 중지손가락
의 첫 마디 안쪽부분으로 지정한다.
• handLms.landmark[9] = 중지손가
락 안쪽 첫 마디부분
3
21. 세부설명
05.
카메라인식및통신
• 스위치의 좌표에 따라, ON/OFF를
표시해준다.
• 만약에 스위치가 켜져 있는데, 손이
모두 펴지는 동작을 하면, 스위치
송출을 중단하고, 현재 상황을 전송
할 byte에 저장을 해 준다.
4 5