-
아두이노 프로젝트 | 밝기 조절이 가능한 스탠드Technology/Arduino 2023. 9. 1. 18:00
1. 밝기 조절이 가능한 스탠드
밝기 조절이 가능한 스탠드 일상에서 쉽게 발견할 수 있는 스탠드를 아두이노 플랫폼으로 구현해보자. 구현하고자 하는 스탠드는 택트 스위치와 가변저항으로 구성된 다이얼 스위치를 한 번 누르면 노란색 LED가 켜진다. 노란색 LED가 켜진 상태에서 다이얼을 돌리면 LED의 밝기를 조절할 수 있다. 노란색 LED가 켜진 상태에서 다이얼 스위치를 다시 한 번 더 누르면 노란색 LED가 꺼지는 프로그램을 작성해보자.
2. 프로젝트
2.1. 회로 구성
회로 구성 5AY3HD00
사이즈 : 5파이 , 5mm / 전압 : 2.1V / 전류 : 20mA / 전력 : 80mW / 색상 : 옐로우(Yellow)
www.devicemart.co.kr
1/2W 1% Axial Resistor 221F (220Ω)
일반막대저항 / 탄소피막 / 1/2W / F급(±1%) / 220옴
www.devicemart.co.kr
아두이노 가변 저항 10KΩ (다이얼 타입)
10K옴 / 싱글턴 가변저항 포텐션미터 너트 와샤 포함 , 일반 가변 저항과 달리 돌리면 틱틱틱 걸리는 느낌이 있는 다이얼 타입의 저항 입니다. 일반 가변저항은 돌리면 저항감이 없어서 조정하는
www.devicemart.co.kr
브레드보드용 4핀 택트스위치 6x6 breadboard friendly switch 4p [SZH-TH0018]
TACT 스위치 / DIP TYPE / 4PIN / 빵판에 바로 연결사용하는 특별한 택트스위치입니다. 부품다리가 휘어져있는 다른 제품들과 다르게 브레드보드에 알맞은 길이로 곧게 뻗어있습니다.
www.devicemart.co.kr
2.2. 프로그램 작성
int LED = 11; // 정수형 변수 선언 후 디지털 핀 번호 11로 초기화 int state = 0; // 정수형 변수 선언 후 0으로 초기화 int Potentiometer = A0; // 정수형 변수 선언 후 아날로그 핀 번호 A0로 초기화 int value = 0; // 정수형 변수 선언 후 0으로 초기화 int Switch = 8; // 정수형 변수 선언 후 디지털 핀 번호 8로 초기화 int present = 0; // 정수형 변수 선언 후 0으로 초기화 int previous = 0; // 정수형 변수 선언 후 0으로 초기화 void setup() { pinMode(LED, OUTPUT); // 디지털 11번 핀을 출력(OUTPUT) 모드로 설정 pinMode(Potentiometer, INPUT); // 아날로그 A0번 핀을 출력(INPUT) 모드로 설정 pinMode(Switch, INPUT); // 디지털 8번 핀을 출력(INPUT) 모드로 설정 } void loop() { present = digitalRead(Switch); // 디지털 8번 핀으로부터 디지털 신호를 입력 받은 후 변수에 저장 // 택트 스위치 토글 // 과거 변수에 저장된 값이 1, 그리고 현재 변수에 저장된 값이 0이면 실행 if (previous == 1 && present == 0) { if (state == HIGH) // 변수에 저장된 값이 HIGH라면 실행 { state = LOW; // 변수에 LOW값을 저장 } else // 변수에 저장된 값이 HIGH가 아니라면 실행 { state = HIGH; // 변수에 HIGH값을 저장 } } // LED 밝기 조절 if (state == HIGH) // 변수에 저장된 값이 HIGH라면 실행 { // 아날로그 A0번 핀으로부터 받은 아날로그 신호값을 변수에 저장 value = analogRead(Potentiometer); // 변수에 저장된 신호값의 범위를 0~1023에서 0~255로 조정 value = map(value, 0, 1023, 0, 255); analogWrite(LED, value); // 디지털 11번 핀에 변수에 저장된 신호값을 출력 } else // 변수에 저장된 값이 HIGH가 아니라면 실행 { analogWrite(LED, 0); // 디지털 11번 핀에 아날로그 신호 0을 출력 } previous = present; // 과거 변수에 현재 변수에 저장된 값을 저장 }
[함께 읽으면 좋은 페이지]
아두이노 디지털 신호 입력 | 택트 스위치
1. 디지털 신호 입력 아두이노 소프트웨어에서 디지털 신호를 받을 핀을 설정하고 함수를 작성하여 아두이노 하드웨어에 업로드하면, 앞서 설정한 핀을 통해 디지털 신호를 입력 받을 수 있다.
vedacube.tistory.com
아두이노 아날로그 신호 출력: PWM
1. 아날로그 신호 출력 아두이노 하드웨어는 기본적으로 디지털 신호만 처리할 수 있기 때문에, 출력되는 신호 또한 디지털 신호 형태로 출력된다. 아두이노 하드웨어에서 아날로그 신호 또한
vedacube.tistory.com
아두이노 | 가변저항
1. 가변저항 저항값을 임의로 바꿀 수 있는 저항기로, 극정이 없는 3개의 단자를 가지고 있다. 노브를 돌리면 각 단자 사이의 저항값을 조절할 수 있다. 가변저항은 아래 링크로 접속하면 구매할
vedacube.tistory.com
반응형'Technology > Arduino' 카테고리의 다른 글
아두이노 프로젝트 | 디지털 피아노 (0) 2023.11.10 아두이노 | 피에조 부저 (1) 2023.11.03 아두이노 | 가변저항 (0) 2023.08.25 아두이노 아날로그 신호 출력: PWM (0) 2023.08.18 아두이노 프로젝트 | 어두우면 켜지는 가로등 (0) 2023.08.11