CodingMaker

11강 Arduino LED 본문

Fablab Academy

11강 Arduino LED

메이커K 2017. 12. 11. 14:19

https://www.arduino.cc/ 프로그램 설치하기



회로도 작성에 필요한 프로그램 다운로드하기

http://fritzing.org/download


코드

 void setup() {

  // 이 중괄호 안에 명령은 한번만 실행되는 함수입니다.

  // 이 함수를 이제부터 쓰겠다.. 하는 뜻이다. 중괄호안에 있는 

  // 예)로그인을 한다.

  // 예)사냥터로 간다.

  pinMode(13, OUTPUT); //13번 핀을 출력을 설정한다.

  pinMode(12, OUTPUT);

}

void loop() {

  /* 중괄호 안의 명령은 계속해서 실행됩니다.

      컴퓨터가 아닌 사람이 읽도록 한다. 주석이라고 한다.

      나 또는 다른 사람이 쓰게 할수 있게 하기 위함이다.

      사냥감을 찾는다

      때린다

  if(죽으면){

    줍는다}

    */

  digitalWrite(13,HIGH); //HIGH는 13번핀을 5V(HIGH)로 만든다.(LED를 켠다)

  digitalWrite(12,LOW);

  delay(1000); //1000ms(밀리세컨드)동안 기다린다.

  digitalWrite(13,LOW); //13번핀을 0V(LOW)로 만든다.(LED를 끈다)

  digitalWrite(12,HIGH);

  delay(1000); 

}

예제 코드를 변경하면 디지털을 아날로그처럼 보이게 할수 있다 

하나는 밝고 하나는 어둡게 표현할 수 있다.

delay(1)

delay(9)

디지털인데 아날로그인것 처럼 속인다. 

펄스폭변조(PWM) : 수업자료 메일로 보내주신것 11page참고하기

메인보드에 3,5,6,9,10,11 은 물결표시가 있다.  ---> analogWrite 함수를 쓸수 있는 핀들이다

analogWrite(9,0); --> LED가 꺼진것과 같다.

analogWrite(11,200)

analogWrite(10,50)

RGB LED는 각각의 색의 밝기를 조절하여 사용한다. 세개의 LED가 같이 있는것과 같다


  저 항  


저항은 전류의 흐름을 방해하는 성질로 저항의 크기는 물질의 종류와 형태에 따라 달라집니다.

저항의 크기는 띠의 개수와 색깔로 구분을 합니다. 본 학습 가이드에서 가장 많이 사용되는 330옴

저항의 띠는 주황색-주황색-갈색-금색으로 칠해져 있으며, 10K옴 저항의 띠는 갈색-검정색-주황색-금색으로

칠해져 있습니다.




  숙 제  


** LED 8개를 연속적을 켜고 끄기 만들기 **


1. LED 준비하기 (긴다리가 + , 짧은 다리가 -)


2. 브래드보드에 LED를 연결한후 220옴(빨빨갈) 저항을 짧은다리(-)와 그라운드에 연결한다.


3. 긴다리(+)쪽은 디지털 핀 5번에서 12번까지 연결한다.

   연결이 끝나면 저항은 그라운드에 연결한다. USB케이블을 연결한 후 코딩을 시작한다.


4. 코드 : 총 8개의 pinMode를 setup에서 설정해야하기때문에 반복문(for문)을 사용하여 간단하게 코드를 써보았다.

void setup() {  // 한번만 실행하는 함수이다.

  for (int i = 5; i<13; i++) { //반복문을 사용해서 코드를 줄였다.(led 5번~12번)

  pinMode(i,OUTPUT); // 처음에 5번에서 12번 핀을 출력으로 설정한다.

  }

}


void loop() { //반복실행하는 함수이다.

  for(int led=12; led>4; led--){ //12번부터 5번까지 순차적으로 값을 만든다.

      digitalWrite(led,HIGH); // 12번 부터 순차적으로 불이 켜지고

      delay(100); //0.1초만 켜져있다

      digitalWrite(led,LOW); // 켜져있던 번호가 불이 꺼진다.

  }

  for(int led=6; led<12; led++){ // 마지막 불이 켜지면 마지막불 이전으로 간다.

      digitalWrite(led,HIGH); // 5번불이 끝난후 6번불이 켜지면 이번에는 올라간다.

      delay(100);

      digitalWrite(led,LOW);

  }

}


5. 동영상 보기 : 실행 동영상



'Fablab Academy' 카테고리의 다른 글

13강 Arduino OUTPUT  (0) 2017.12.11
12강 Arduino INPUT  (0) 2017.12.11
10강 laser cutting  (0) 2017.12.11
9강 MoldingCasting  (0) 2017.12.11
8강 CNC 가공실습  (0) 2017.12.11