Arduino Uno 로 버튼(스위치)과
RGB LED는 총 265가지 색을 낼수 있으며 각 핀은 빨강, 초록, 파랑 색을 출력 합니다
세가지 색이 조합되어 다양한 색을 표현할수 있습니다
빛(Light)은 빨강, 초록, 파랑 빛을 섞으면 하얀색이 됩니다
세개의 LED의 밝기를 동일하게 설정하면 전체적인 컬러는 하얀색이되며 파랑LED를 끄고,
빨강과 초록 LED의 밝기를 동일하게 설정하면 노랑색이 됩니다
이러한 방식으로 원하는 색을 만들어 낼수 있습니다
RGB LED는 (+)V 신호로 동작하는 아노드 타입(Anode), (-)V 신호로 동작하는 캐소드 타입(Cathode)이 있습니다
본 프로젝트 에서는 (-)V 신호로 동작하는 캐소드 타입을 사용해서 테스트를 진행합니다
<TACT SWITH의 구성>
Tact Switch 는 동작시 Tactile 한 느낌 (딸각거림) 을 특징으로 하는 스위치 입니다
보통 2개 또는 4개의 단자로 이루어져 있으나 구조적인 특징으로 인해 보통은 1회로의 제어만 가능합니다
Tact Switch의 회로는 일반적인 4pin의 경우 단자를 한자(漢字)의 두이자 (二)로 놓고 봤을때 직선으로 연결 되어 있습니다
(아래 그림의 1-2번과 3-4번이 연결 되어 있음)
사용된 부품
Arduino Uno R3 (Italy)
브래드 보드
3색 RGB LED 캐소드 타입
TTP223B 디지털 터치센서 모듈
220 (Ohm) 저항 3개
1K (Ohm) 저항 1개 (full-up용)
점퍼케이블
사용된 키트
Arduino Starter kit (클릭)
지니어스 키트 Starter Pack (클릭)
구성 배선도
사용된 예제소스
주의사항
배선시 RGB LED의 핀 방향을 잘 확인해야 합니다
스위치의 한쪽핀은 full-up (풀업) 저항 1K Ohm 과 함께 5V로 배선해서 아두이노 3번핀에 연결 됩니다
TTP223B 터치센서 모듈을 사용할때는 풀업 저항 없이
VCC-5V, GND-GND, SIG-아두이노 3번핀 이렇게 배선해 줍니다
예제코드를 살펴보면
#define button 3
#define redLED 11
#define greenLED 10
#define blueLED 9
버튼은 3번, RGB LED의 레드핀은 11, 그린핀은 10, 블루핀은 9번 배선입니다
int state = 0;
int old = 0;
int buttonPoll = 0;
buttonPoll 과 old 로 버튼을 눌렸을때
switch (state) {
case 1: //Red color
digitalWrite(redLED,HIGH);
digitalWrite(greenLED,LOW);
digitalWrite(blueLED,LOW);
old = state;
break;
case 2: //Green color
digitalWrite(redLED,LOW);
digitalWrite(greenLED,HIGH);
digitalWrite(blueLED,LOW);
old = state;
break;
case 3: //Blue color
digitalWrite(redLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(blueLED,HIGH);
old = state;
break;
case 4: //Purple color
digitalWrite(redLED,HIGH);
digitalWrite(greenLED,LOW);
digitalWrite(blueLED,HIGH);
old = state;
break;
case 5: //White color
digitalWrite(redLED,HIGH);
digitalWrite(greenLED,HIGH);
digitalWrite(blueLED,HIGH);
old = state;
break;
default:
digitalWrite(redLED,LOW);
digitalWrite(greenLED,LOW);
digitalWrite(blueLED,LOW);
old = 0;
break;
}
5가지 case 로 RGB LED 색상을 제어합니다
프로젝트 동영상
아두이노를 사용해서 이렇게 간단하게 버튼(스위치)이나 터치센서로 3색 RGB LED를 제어할수 있습니다
'Arduino(아두이노) 활용 강좌' 카테고리의 다른 글
Arduino Uno 로 Photo Interrupter 포토인터럽터 센서를 사용해서 LED와 Buzzer 제어해 보기 (0) | 2022.10.25 |
---|---|
Arduino Uno 로 HC-SR04 초음파센서를 사용해서 I2C 1602 캐릭터 LCD에 거리측정값 출력해 보기 (0) | 2022.10.14 |
Arduino Uno 로 BH1750 조도센서를 사용해서 Light Meter 만들어 보기 (1) | 2022.09.22 |
Arduino Uno 로 조이스틱 모듈(Joystick Module)을 사용해 SG90 마이크로 서보모터 제어해 보기 (0) | 2022.08.26 |
Arduino Uno 로 IR 적외선 장애물 감지센서를 사용해서 서보모터 제어해 보기 (1) | 2022.07.22 |
댓글