아두이노

LED 깜빡이기

hgglife 2019. 10. 20. 17:01

사용함수

PinMode(pin,input or output);

Hihg or low = digitalRead(pin);

digitalWrite(pin,high,low);

delay(ms);

의 4가지를 사용할것이다


전자 회로

위 그림과 같이 연결을 해줄것인데 저항과 다이오드의 위치는 직렬이라 상관이 없지만 저항없이 다이오드만 연결할경우 다이오드가 탈수도 있으니 조심해야한다항


저항

저항의 경우 4줄일경우 처음 2개가 숫자를 나타내고 3번째가 0의 갯수 마지막이 저항값의 오차를 나타낸다

5줄인경우도 있으며 그때는 처음3개가 숫자를 나타낸다

암기법 검갈 빨주노초파 (남)보 회하  금도끼 은도끼로 하면 생각보다 외우기 쉬운것같다


led와 저항 브래드보드 연결은 회로도대로 연결하고

int led1 = 3;

void setup()

{

pinMode(led1,output);

}

void loop()

{

digitalWrite(led1,HIGH); // 불이 켜진다 5V가 흐르게 된다

delay(500); //5초동안 현상태 유지

digitalWrite(led1,LOW); // 전류가 흐르지 않게된다

delay(500); // 5초동안 유지

}// 무한반복된다


아날로그로 led출력하기

여기서 아날로그로 밝기를 변하게 출력하는 시도를 해볼것인데

실제 아날로그적으로 밝기가 변하는것이 아니라

아두이노안에 있는 16bit타이머로 인해 val/255의 값을 출력해주는 것이다

소수점 0.0001 까지 재주는것으로 출력 

만약 hIGH ,255로 출력한다면 1초동안 계속해서 5볼트 입력

123 으로한다면 0.5초동안 5볼트의 출력을 주는데 이때 밝기가 다른것은 전류와 빛의 상관관계같은거니 물리의 영역으로 패스


int led1 = 3;

void setup()

{

pinMode(led1,output);

}

void loop()

{

for(int i=0; i<255; i+=10){

analogWrite(led1,i);

delay(100); // 1초동안 유지

}

}// 무한반복된다

자료출처 - 서울시립대학교 2019 임베디드시스템 강의자료