본문 바로가기
아두이노

아두이노 메이커_01_ led 제어하기

by SwMaker_Jun 2021. 9. 24.
728x90
반응형

 

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 실행 

아두이노 setup() , loop() 함수

      가. 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 아두이노

 

 

 

728x90
반응형