# 제목: 2N3904 트랜지스터를 사용한 스위칭 예제 - 2
# 내용: 저번 글에 이어 트랜지스터를 사용해서 간단한 회로를 만들고, 이를 아두이노를 통해 제어하는 방법에 대해 알아봅시다.
3개의 LED를 연결하고, 1개의 트랜지스터(2N3904)를 사용하여 회로 제어를 해보도록 한다.
이 회로에서 LED의 cathode(+) 에는 3, 4, 5번 핀으로 input을 넣어주고, 트랜지스터의 base(가운데)에 6번 핀을 연결하여 디지털 신호 HIGH/LOW를 넣어주어 전체 회로를 켰다 끌 수 있도록 구성하였다.
# 코드:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | int ledPin1 = 3; //Digital I/O 3번에 1번째 LED 연결 int ledPin2 = 4; //Digital I/O 4번에 2번째 LED 연결 int ledPin3 = 5; //Digital I/O 5번에 3번째 LED 연결 int switchPin = 6; //Digital I/O 6번에 트랜지스터 base 연결 void setup() { // put your setup code here, to run once: analogWrite(ledPin1, 1023); analogWrite(ledPin2, 200); analogWrite(ledPin3, 50); //1~1023 입력시 LED 점등됨. 하지만 너무 낮으면 불이 안켜지니 주의. digitalWrite(switchPin, HIGH); //(스위치를 닫는다 = 회로를 연결한다) delay(1000); digitalWrite(switchPin, LOW); analogWrite(ledPin1, 0); analogWrite(ledPin2, 0); analogWrite(ledPin3, 0); } void loop() { delay(1000); digitalWrite(switchPin, HIGH); //회로를 연결한 상태에서, analogWrite(ledPin1, 1023); delay(1000); analogWrite(ledPin1, 0); analogWrite(ledPin2, 1023); delay(1000); analogWrite(ledPin2, 0); analogWrite(ledPin3, 1023); delay(1000); analogWrite(ledPin3, 0); //LED 1, 2, 3번 순서대로 1초씩 점등 후 꺼짐. } | cs |
# 회로도(Fritzing):
# 실행결과:
# 비고:
'Arduino > # Studies' 카테고리의 다른 글
2N3904 트랜지스터를 사용한 스위칭 예제 - 1 (0) | 2018.07.13 |
---|---|
[아두이노] 가변저항(Potentiometer) 활용 예제 (0) | 2018.06.09 |
[아두이노] 토글 스위치를 사용해보자 (0) | 2018.06.09 |
[아두이노] LCD1602 & 가변저항(Potentiometer) 사용하기 (0) | 2018.06.08 |
[아두이노] LCD1602 IIC 로 특수문자 만들기 (0) | 2018.06.08 |