Arduino 실전 예제
예제 1: LED 8개 제어
// PORTB의 각 비트가 LED 하나씩 제어
unsigned char leds = 0;
// 3번 LED 켜기
leds |= (1 << 3);
// 5번 LED 끄기
leds &= ~(1 << 5);
// 모든 LED 켜기
leds = 0xFF; // 11111111
// 모든 LED 끄기
leds = 0x00; // 00000000
예제 2: 버튼 상태 확인
// PINB의 2번 비트로 버튼 상태 확인
if (PINB & (1 << 2)) {
// 버튼이 눌림 (HIGH)
} else {
// 버튼이 안 눌림 (LOW)
}
예제 3: 여러 설정을 1바이트에 저장
// 설정값 정의
#define SETTING_SOUND (1 << 0) // 0번 비트: 소리
#define SETTING_VIBRATE (1 << 1) // 1번 비트: 진동
#define SETTING_LED (1 << 2) // 2번 비트: LED
#define SETTING_AUTO (1 << 3) // 3번 비트: 자동모드
unsigned char settings = 0;
// 소리와 LED 켜기
settings |= SETTING_SOUND;
settings |= SETTING_LED;
// 또는: settings |= (SETTING_SOUND | SETTING_LED);
// LED 설정 확인
if (settings & SETTING_LED) {
// LED 설정이 켜져 있음
}
// 진동 끄기
settings &= ~SETTING_VIBRATE;