1. LED (light emitting diode)
- LED는 다이오드의 한 종류로 빛을 내는 기능을 가지고 있어 "발광다이오드"라 한다.
- LED 긴다리가 " + " , 짧은 다리가 " - " 로 극정을 가지고 있어 구분하여 사용하여야 함.
- p형 반도체가 양극에 연결되고 n형 반도체가 음극에 연결될 때. 전자가 활성화되어 음극에서 양극으로 흐르기
시작합니다.
※ 다이오드 : 전류를 한쪽으로는 흐르게 하고 반대쪽으로 흐리지 않게 하는 전자 부품.
이미지 출처 : https://commons.wikimedia.org/wiki/File:Led_3d.svg
- 전압이 낮아지면 빛이 흐려지고, 전압이 높으면 밝아진다.
※ LED 는 보통 색상에 따라 차이가 있지만 최소 2V ~ 최대 3.6V 전압을 사용한다.
여기서 주의해야할 부분은 아두이노에서 나오는 전압은 5V 이므로 아두이노와 바로 연결을 하게 되면
LED가 검게 타거나, 터지는 경우가 발생한다.
--> 저항을 사용하여 전압을 낮춤.
2. 저항 (Resistor)
- 전류의 흐름을 줄이기 위해 사용. (전기의 흐름을 방해)
- 저항을 통해 전압과 전류의 크기를 조절할 수 있음.
※ 옴의법칙 V = IR
- 보통 아두이노에서 저항 " 220Ω " 혹은 " 330Ω " 을 사용하여 LED 정격전압을 맞춤.
※ 정격전압 : 전기기계기구, 선로 등의 정상적인 동작을 유지시키기 위해 공급해 주어야 하는 기준 전압.
※ 저항은 회로연결에서 + 쪽이든 - 쪽이든 연결되있으면 전압 또는 전류 크기가 줄어듬.
3. 아두이노 회로연결
- 준비물 : 아두이노 우노보드, 브레드보드, LED, 330Ω 저항, 수-수 케이블
아두이노 LED 회로연결
- LED 제어를 위해 제어가 가는한 디지털 핀(2 ~ 13번) 으로 LED + 회로 연결
※ 이 수업에서는 LED를 디지털 7번 핀에 연결하여 코드를 작성함.
- LED - 회로에는 저항을 연결하여 회로 확장
※ 저항은 극성이 존재하지 않기 때문에 띠색의 방향은 아무 상관이 없음.
- 모든 회로는 전원에서 접지로 들어가야 하기 때문에 저항을 통해 흐르는 전압을 마지막 GND로 연결해줌.
4. 아두이노 IDE 실행
가. void setup() 함수
- " // put your setup code here, to run once: "
※ C 언어에서는 슬러쉬 2개 " // " 는 주석의 의미로 " // " 뒤에있는 코드나 글씨는 컴퓨터가 읽지 못함.
- 아두이노 셋업코드 입력, 주로 아두이노 디지털핀을 사용할 모드를 셋팅하거나, 통신을 셋팅하기 위한 코드.
- setup() 함수는 아두이노에 전원이 공급될때 딱 한번 함수안의 코드를 실행하며, 아두이노 셋팅을 마침.
나. void loop() 함수
- " // put your main code here, to run repeatedly: "
- 아두이노 메인코드 입력, 아두이노를 통해 제어할 코드를 입력
- loop() 함수는 아두이노에 전원이 공급되어 setup()함수를 실행하고 loop()함수가 실행됨.
- loop() 함수는 안에 있는 코드를 순차적으로 실행하면서 loop()함수 안에 있는 코드를 무한 반복 시킴.
5. 아두이노 코드
가. pinMode() 함수
- 디지털 핀 셋팅을 위한 함수 " pinMode(핀번호,모드); "
- 핀번호는 LED + 에 연결된 디지털 핀 번호를 매개변수로 입력.
- 모드는 아두이노 입장에서 전원을 주거나 끊기 위한 " OUTPUT " 모드와 데이터 신호 및 센서값을 읽어오기 위한
" INPUT " 모드 중 설정.
- pinMode(7,OUTPUT); → 디지털 7번핀을 출력모드로 셋팅.
※ 모든 명령코드 뒤에는 " ; " 을 붙여 줌.
나. digitalWrite() 함수
- 디지털 신호를 제어하기 위한 함수 " digitalWrite(핀번호,전압); "
- 디지털 신호 1 → " HIGH " , 0 → " LOW " ( 1 → 5V, 0 → 0V )
- digitalWrite(7,HIGH); → 디지털 7번 핀에 디지털 1 출력 ( 5V )
※ HIGH , LOW 대신에 1 과 0 으로 사용가능.
※ EX) digitalWrite(7,1); HIGH 와 LOW 는 매개변수
다. delay() 함수
- 순차코드를 진행하면서 다음코드로 넘어가기전 잠시 지연시키는 명령함수
- delay(1000); → 프로그램 실행을 1초동안 지연시킴.
※ 단위 ms 밀리초 , 1초 → 1000ms
void setup() { pinMode(7,OUTPUT); // 디지털 7번 핀, 출력모드 } void loop() { digitalWrite(7,HIGH); // 디지털 7번핀 5V 출력 delay(1000); // 지연시간 1초 [ 1000 ms (단위 : ms 밀리 초) ] digitalWrite(7,LOW); // 디지털 7번핀 0V 출력 delay(1000); } //SwMaker_Jun 아두이노 |
'아두이노' 카테고리의 다른 글
아두이노 메이커_03_ PWM 활용 led 밝기 제어 (0) | 2021.09.27 |
---|---|
아두이노 메이커_02_ led 보행자 신호등 만들기 (2) | 2021.09.27 |
아두이노를 위한 회로 이해하기. (0) | 2021.09.06 |
아두이노_Sw_Maker_Start_Kit (0) | 2021.09.01 |
아두이노 IDE 설치 (0) | 2021.08.31 |