스마트폰으로 가정 조명 시스템 무선 제어하기 - 1Sheeld 활용
부품 및 소모품
| 1Sheeld |
1개 |
| 아두이노 우노 |
1개 |
| LED (일반) |
1개 |
| 점퍼 와이어 (일반) |
1세트 |
프로젝트 소개
이 프로젝트는 스마트폰만으로 가정 조명 시스템을 제어할 수 있음을 증명하는 것이 목적입니다. 프로젝트의 LED들은 가정의 다양한 시스템을 예시로 나타냅니다.
프로젝트에 필요한 것:
- 1Sheeld
- 아두이노 우노
- LED들
- 점퍼 와이어
아래 회로도와 같이 연결하세요.
1Sheeld란?
1Sheeld는 스마트폰을 40가지 아두이노 쉴드로 바꿔줍니다. 아두이노용 쉴드를 따로 살 필요 없이 스마트폰에 있는 기능들을 활용할 수 있습니다.
1Sheeld 사용법
- 1Sheeld를 아두이노 보드 위에 쌓고, 1Sheeld 라이브러리를 사용해 코드 작성
- 블루투스로 1Sheeld 보드와 1Sheeld 앱 페어링
- 40가지 이상의 쉴드 목록에서 원하는 쉴드 선택
자세한 내용은 1Sheeld 시작 가이드를 참조하세요.
프로젝트 진행
1Sheeld 앱을 열고 1Sheeld와 연결한 후 "키보드" 쉴드를 엽니다.
'R' 누르기 → 빨간 LED 켜짐
'Y' 누르기 → 노란 LED 켜짐
'G' 누르기 → 초록 LED 켜짐
모두 끄려면 'C' 누르기
코드
control_light_sys 아두이노
#define CUSTOM_SETTINGS
#define INCLUDE_KEYBOARD_SHIELD
/* 1Sheeld 라이브러리 포함 */
#include <OneSheeld.h>
/* 핀 11, 12, 13에 LED */
int ledRed = 13; // 빨간 LED
int ledYellow = 12; // 노란 LED
int ledGreen = 11; // 초록 LED
void setup() {
/* 통신 시작 */
OneSheeld.begin();
/* LED를 출력으로 설정 */
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledGreen, OUTPUT);
/* 키보드 콜백 함수 */
AsciiKeyboard.setOnButtonChange(&keyboardFunction);
}
void loop() {}
/* 새 문자가 입력될 때 호출되는 함수 */
void keyboardFunction(char data) {
/* 입력 문자 확인 */
if (data == 'R') {
digitalWrite(ledRed, HIGH);
} else if (data == 'Y') {
digitalWrite(ledYellow, HIGH);
} else if (data == 'G') {
digitalWrite(ledGreen, HIGH);
} else if (data == 'c') {
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, LOW);
} else {
digitalWrite(ledRed, LOW);
digitalWrite(ledYellow, LOW);
digitalWrite(ledGreen, LOW);
}
}
회로도
circuit.fzz