아두이노 LED 약함 - adu-ino LED yagham

아두이노 LED 1개 켜고 끄기

아두이노 보드와  LED를 연결해서 LED를 켜고 끄기를 해보겠다. 우선 아래와 같은 준비물을 준비한다. fritzing를 이용한 아두이노 보드와 LED 연결 그림을 보고 실제로 브레드 보드에 LED를 꽂고 220Ω의 저항을 연결하고 아두이노 보드에 연결한다. 연결 작업이 끝나면 스케치 프로그램을 작성한 후 아두이노에 업로드한다.

준비물 : 아두이노 UNO 보드, 브레드 보드, 점퍼 케이블, LED, 저항 220Ω

아두이노 LED 약함 - adu-ino LED yagham

fritzing를 이용한 아두이노 보드와 LED 연결 모습

아두이노 LED 약함 - adu-ino LED yagham

실제 아두이노 보드와 LED를 연결하고 LED에 전원이 공급된 모습

스케치 프로그램

void setup() { //디지털 핀을 사용할 때는 pinMode를 반드시 지정 //아두이노의 디지털 핀은 디지털 입력과 디지털 출력, 두 가지 기능을 가지고 있음. //디지털 핀을 입력(INPUT)을 감지하기 위해 쓸 것인지 출력(OUTPUT)을 위해 쓸 것인지 사용하기 전에 알려줘야 함. //pinMode() 함수로 디지털 핀을 어떤 모드로 쓸 것인지 초기화. //pinMode() 함수를 이용해 OUTPUT 모드로 초기화. pinMode(12,OUTPUT); } void loop() { //디지털 출력을 제어하는 함수. 출력 상태는 HIGH 또는 LOW라는 형태로 표현. //회로상에서는 HIGH는 on(5V), LOW는 off(0V) 상태를 의미

//HIGH로 지정해서 불이 들어온다. digitalWrite(12,HIGH); //delay 함수를 이용해서 아두이노가 잠시 쉴 시간을 정해줌. ms(밀리초,1/1000초) delay(1000);

반응형

LED 차례로 한 개씩 On/Off하며 왕복하기


(준비물)

아두이노 우노(Arduino Uno)

USB 케이블

LED

저항

점퍼 케이블

 

아두이노 LED 약함 - adu-ino LED yagham
아두이노 LED 약함 - adu-ino LED yagham

▲ 아두이노 우노, USB 케이블

아두이노 LED 약함 - adu-ino LED yagham
아두이노 LED 약함 - adu-ino LED yagham
아두이노 LED 약함 - adu-ino LED yagham

▲ LED, 저항, 점퍼 케이블

(회로 연결)

 

아두이노 LED 약함 - adu-ino LED yagham

 

아두이노 LED 약함 - adu-ino LED yagham

int led[6] = {13, 12, 11, 10, 9, 8};

void setup(){
  for(int i = 0; i < 6; ++i){
    pinMode(led[i], OUTPUT);   // 출력 설정
  }
}

void loop(){
  for(int i = 0; i < 6; ++i){
    digitalWrite(led[i], HIGH); // HIGH(5V) 출력
    delay(500);                 // 500ms = 0.5s
    digitalWrite(led[i], LOW);  // LOW(0V) 출력
  }

  for(int i = 4; i > 0; --i){   // led[0]과 led[5]를 추가하면 delay 발생
    digitalWrite(led[i], HIGH);  
    delay(500);
    digitalWrite(led[i], LOW);
  }
}

반응형

공유하기

게시글 관리

구독하기Sweet New

저작자표시

'Arduino' 카테고리의 다른 글

[Arduino] RGB LED란?  (0)2020.12.13[Arduino] LED 실습: LED 밝기 제어  (0)2020.12.11[Arduino] LED 실습: LED 하나씩 모두 On, 이후 하나씩 Off 하기  (0)2020.12.06[Arduino] LED 실습: 1초마다 LED 한 개씩 차례로 On/Off 하기  (0)2020.12.04[Arduino] LED 실습: LED 1개 1초마다 On/Off 하기  (0)2020.12.02

728x90

이제 아두이노를 테스트해보기 위해서 간단한 회로를 만들어 보자 먼저 필요한건 아래와 같다.


브레드 보드  * 1

점퍼 케이블 * 2

저항 * 1

LED * 1


브레드보드


아두이노 LED 약함 - adu-ino LED yagham


브레드보드는 흔히 빵판이라고 부른다.


아두이노 LED 약함 - adu-ino LED yagham



맨 모서리의 2줄(총 4줄)은 서로 크게 길게 연결되어있다.

사이사이의 줄은 세로로 연결되어있다. 즉 하나의 전선인셈이다.

만약 브레드보드가 없다면 진짜 전선에 해야하는데 이러면 불편한 점이 이만저만이 아니다.


점퍼 케이블


아두이노 LED 약함 - adu-ino LED yagham


점퍼케이블은 암,수 두종류가 있다. 필요한걸 사용하면되는데 아두이노는 기본이 암 슬롯으로 되어있고

브레드보드역시 암슬롯이므로 수케이블이 필요하다.


아두이노 LED 약함 - adu-ino LED yagham


여기서 위쪽이 수 케이블이고 아래가 암 케이블이다.


저항


아두이노 LED 약함 - adu-ino LED yagham


저항은 회로에 있는 소자들을 보호하기 위해서 전압을 강하하기 위해서 사용한다.

쉽게 말하면 그냥 소자를 보호하기 위해서 사용한다고 생각하면된다.


아두이노 LED 약함 - adu-ino LED yagham

저항을 읽는방법은 위와 같다.


아두이노 LED 약함 - adu-ino LED yagham

출처


각 색이 의미하는 바는 위와같다.


LED


아두이노 LED 약함 - adu-ino LED yagham


LED는 발광다이오드로 쉽게 이야기해서 불이 켜졌다 꺼졌다 하는 소자이다.

데이터 시트는 아래와 같다.


아두이노 LED 약함 - adu-ino LED yagham


여기서 전압이 전압이 2볼트이며 전류가 20mA라는 점만 알아두면된다.


Digital 출력


이제 브레드보드와 LED,저항을 이용해서 회로를 만들자.


아두이노 LED 약함 - adu-ino LED yagham


핀은 아무데나 연결해도 된다. 필자는 2번에 연결하겠다.

점프 케이블로 브레드보드 아무라인이나 꼽는다. 예를들어 30번에 꽂았다고 치자.

그러면 저항을 30번에서 시작해서 끝나는 곳을 30번 말고 아무데나 꽂자. 만약 34번에 꽂았다고 하자.

그러면 34번에서 LED를 꽂자. 이 때 LED 긴쪽으로 꽂는다.

그리고 마지막에 점퍼케이블이 아두이노로 돌아오게한다.


아두이노 LED 약함 - adu-ino LED yagham


이런식으로 만들면된다.

코드는 아래와 같이 작성하자.


const int pinLED = 2;

void setup() {
pinMode(pinLED,OUTPUT);
}

void loop() {
digitalWrite(pinLED,HIGH);
delay(500);
digitalWrite(pinLED,LOW);
delay(500);
}

아두이노의 핀은 항상 두가지를 가진다. INPUT아니면 OUTPUT으로 출력을하거나(전압을 내보내거나) 입력을 받거나 둘중 하나를 한다.

이렇게 입력과 출력 두가지를 하나의 핀으로 선택해서 할 수 있는 것을 GPIO(General Purpose Input Output)라고한다.

우리는 GPIO핀 2번핀을 OUTPUT(전압을 내보냄)으로 할것이다. 그래야 LED가 켜질거니까.

그리고 digitalWrite에서 HIGH를 주면 전압을 보내는거고, LOW를 주면 전압을 없애는 것이다.

이는 각각 1과 0으로 되어있다. 따라서 true와 false로 대체할 수 있고 1과 0으로 대체할 수 있다.

위의 코드는 0.5초 간격으로 LED가 켜졌다 꺼졌다 하는 코드이다.

그럼 빌드해서 실행해보자.


아두이노 LED 약함 - adu-ino LED yagham


보다시피 LED를 깜빡거리게 할 수 있다.

이번에는 사용자에게 키보드 입력을 받아서 키보드 입력을 받으면 LED를 켰다 껐다를 토글로 할 수 있게 해보자.


const int pinLED = 2;
bool sw = false;
char tmp = 'A';

void setup() {
Serial.begin(9600);
pinMode(pinLED,OUTPUT);

}

void loop() {
digitalWrite(pinLED,sw);
if(Serial.available()){
Serial.read();
sw=!sw;
}
}

사실 digitalWrite의 값에 부울린값을 주는건 현명하지 못할수도 있지만 아직은 큰 문제는 없다.

위의 코드는 키보드 입력을 받으면 불이 켜지고 꺼지고를 토글로 정할 수 있다.


아두이노 LED 약함 - adu-ino LED yagham


보다시피 입력을 받을때 마다 켜고 꺼지고의 상태를 반복한다.



공유하기

게시글 관리

구독하기Kamang's IT Blog

저작자표시

'Microprocessor > Arduino' 카테고리의 다른 글

Arduino 가변저항(아날로그 입력)  (0)2018.04.03Arduino PWM(아날로그처럼 출력하기)  (0)2018.04.03Arduino Serial Communication - input  (0)2018.04.02Arduino Serial Communication - output (feat.delay)  (0)2018.04.02Arduino 기본 코딩 방식  (0)2018.04.02