아두이노:LED

학교의 모든 지식. SMwiki
Sam (토론 | 기여)님의 2021년 9월 5일 (일) 16:02 판
둘러보기로 이동 검색으로 이동

아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노

  1. 아두이노:개요
  2. 아두이노:하드웨어
    1. 아두이노:우노보드
  3. 아두이노:코드
    1. 아두이노:기초 문법
    2. 아두이노:라이브러리
    3. 아두이노:컴퓨터에서 보드로
    4. 아두이노:안드로이드에서 보드로
  4. 아두이노:핀 사용
    1. 아두이노:전원공급
  5. 아두이노:시리얼 통신
    1. 아두이노:엑셀기록
    2. 아두이노:파이썬과 통신
  6. 아두이노:편의함수
  7. 센서 사용
    1. 아두이노:모션센서
    2. 아두이노:온습도센서
    3. 아두이노:조도센서
    4. 아두이노:pH미터 만들기(Gravity 아날로그 pH센서)
  8. 아두이노:LCD 사용
  9. 아두이노:스위치 사용
  10. 아두이노:릴레이
  11. 아두이노:WIFI
  12. 아두이노:해결되지 않은 다양한 의문들
  13. 수업용 간단 실습
    1. 아두이노:LED
    2. 아두이노:초음파센서
  14. 분류:아두이노 프로젝트

개요

하드웨어

단순 LED는 긴 다리가 +, 짧은 다리가 -이다. 1.8~2V의 전압을 받아들이며 20mA의 전류를 소모한다. 이 이상의 전압이 가해지면 파손 위험 있음. 일반적으로 5V에 150옴의 저항을 달아 전압을 낮춰 사용한다.

적절한저항 = (입력전압 - 구동전압) / 구동전류

기본적으로 RGB LED를 병렬연결시켜둔 형태.

Cathod 방식 : 가장 긴 게 -극으로, +극에 신호를 주어 색을 작동시킨다.

Anode 방식 : 가장 긴 게 +극으로, -극으로 신호를 주어 색을 작동시킨다.

붉은색은 전압을 약하게 주어야 한다. -> 저항을 가하든가, 입력전압을 약하게 만들면 된다.

기본설정

핀번호
Red 9
Green 10
Blue 11
int red = 9;  
int green = 10;
int blue = 11; 
int i = 0;

void setup() {
  pinMode(red,OUTPUT);
  pinMode(green,OUTPUT);  
  pinMode(blue,OUTPUT);  
}

void loop() {


  // 빨간색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(red, i);
    analogWrite(10, i);  
    analogWrite(11, i);
    delay(10);
  }

  // 빨간색 밝기를 130에서부터 0까지
  for(i = 130;i >= 0; i--){  
    analogWrite(red, i); 
    delay(10);
  }
  

  // 초록색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(green, i); 
    delay(10);
  }
   
  // 초록색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(green, i); 
    delay(10);
  }



  // 파란색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(blue, i); 
    delay(10);
  }
  
  // 파란색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(blue, i); 
    delay(10);
  }



  // 노란색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i);
    delay(10);
} 

  // 노란색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i); 
    delay(10);
} 



  // 자홍색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i);
    delay(10);
} 

  // 자홍색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i); 
    delay(10);
} 


  // 청록색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i);
    delay(10);
} 

  // 청록색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i); 
    delay(10);
} 


  // 흰색 밝기를 0에서부터 130까지
  for(i = 0 ;i<=130; i++){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i);
    delay(10);
} 

  // 흰색 밝기를 130에서부터 0까지
  for(i = 130 ;i> 0; i--){  
    analogWrite(blue, i); analogWrite(green, i); analogWrite(red, i); 
    delay(10);
} 


}