유투브 : https://youtu.be/iIz38ZBebwI
안녕하세요 지난 시간에 이어서 for문을 아두이노에서
사용하는 법을 배워보겠습니다.
7장은 공부하지 않은 분은 꼭 복습하고 오세요!
준비물
아두이노 기판, 빵판
저항( 240Ω or 300Ω), 케이블(전선)
led (3파이 or 5파이)
이번시간의 목표 중 하나입니다.
영상 보시고 회로를 어떻게 구성할 지 생각해 볼까요?
10개의 led를 연결하고 앞에서 부터 차례로
불이 켜지는 모습입니다.
먼저 회로구성을 보겠습니다.
전류 흐름을 확인하면,
(1) 아두이노 핀에서 나온다.
(2) 빵판에서 저항으로 흐른다.
(3) 저항에서 led로 흐른다.
(4) 빵판의 -극을 타고 아래로 흐른다.
(5) 아두이노의 GND로 들어간다.
이렇게 3번 핀에서 12번까지 연결하면
위와 같이 됩니다. 위에서 부터 차례대로
2번 핀부터 연결하면 좋겠죠?
0, 1번 핀은 통신용으로
가급적 사용하지 않아요!
이때 저항과 led를 잘못 연결하면 전류가 흐르지 않습니다.
(1)번 연결과
(2)번 연결의
차이점이 느껴지시나요?
(1)은 잘된 예
(2)는 잘못된 예 입니다.
위 사진의 저항을 보시면 빵판의 같은 줄에
저항 다리 두 개가 모두 연결되어 있죠?
빵판의 중간 부분은 가로로 연결이 되어
있어서 전위가 같습니다. 같은 전위에 소자를
꽂으면 전류가 흐르지 않겠죠? 반면에 잘된 예를 보면
저항 다리가 빵판의 한 줄에 모두 연결 된 것이
아니라 따로 떨어져 있습니다.
쉽게 말하면,
”소자의 다리를 빵판 같은 줄에
연결하지 마세요“

위 사항에 유의하면서 2번에서 11번까지 연결을 하면
최종 완성 본입니다.
그럼 이제 이 회로를 제어하는 코드를 짜볼까요?
이렇게 차례대로 불을 켜려면
코드를 어떻게 해야 할까요?
일단
1) setup에서 2번 부터 11번까지 pinMode를 OUTPUT으로 해야겠죠?
2) 그런 다음 2번 부터 차례로 적당한 delay를 주어 digitalWrite를 하면
불이 켜질겁니다. 바로 코드를 보지 마시고 연구해보세요!

먼저 pinMode를 세팅하겠습니다.
int i;
void setup() {
for(i=0;i<10;i++)
{
pinMode(i+2, OUTPUT);
}
}
여기서 i는 0~9까지만 사용되어야 하니까
for문 조건에 i<12가 아니고
i<10인 점에 주의하세요!
함수 정의로 처리하겠습니다.
void loop() {
}
void led(int pnumber, int mytime) {
digitalWrite(pnumber, HIGH); //LED 켜기
delay(mytime);
digitalWrite(pnumber, LOW); //LED 끄기
delay(mytime);
}
루프 아래에 led 함수를 선언합니다.
이번엔 변수가 2개죠?
앞에 변수는 불을 켤 핀 번호고
뒤에 변수는 불을 깜빡일 시간입니다.
led(5,500);
이렇게 호출하게 됩니다.
자 이제 마지막 입니다.
loop역시 for문을 이용해서 처리합시다.
void loop() {
for(i=0;i<10;i++)
{
led(i+2,500);
}
}
for문을 사용해서 2번 부터 11번 핀 까지
차례로 불을 켜줍니다. 전체 코드입니다.
int i;
void setup() {
for(i=0;i<10;i++)
{
pinMode(i+2, OUTPUT);
}
}
void loop() {
for(i=0;i<10;i++)
{
led(i+2,500);
}
}
void led(int pnumber, int mytime) {
digitalWrite(pnumber, HIGH); //LED 켜기
delay(mytime);
digitalWrite(pnumber, LOW); //LED 끄기
delay(mytime);
}
for문과 함수를 사용하니까 코드가 훨씬 간결하고
보기 좋죠?

틴커캐드 작동 화면과 코드입니다.
자 이제 도전 과제 입니다. 회로 구성은 같습니다.
코드를 바꿔서 앞, 뒤로 파도 타는 움직임을 만들어 보세요!
파도 타기 미션 코드는 유투브에서 확인해주세요!
유투브 링크 : https://youtu.be/iIz38ZBebwI
'아두이노 기초 강의' 카테고리의 다른 글
6. 틴커캐드 기초 회로 꾸미기 & 코딩하는 방법 (0) | 2023.10.17 |
---|---|
7. 3개 led로 sos신호 보내기 - 아두이노 for문 part1 (0) | 2023.10.17 |
9. 사운드센서 lm937 (0) | 2023.10.17 |
10. 사운드센서 && 아두이노 if문 (0) | 2023.10.16 |
11. 사운드센서 - 소리의 크기에 따라 켜지는 led (0) | 2023.10.16 |