아두이노 시작하기 - 섹션 0
본 포스팅은 inflearn의 '아두이노 시작하기'을 듣고 개인 공부를 위해 정리한 것입니다.
섹션 0. 아두이노 기본기 익히기
팅커캐드
- 팅커캐드 이용하여 온라인으로 아두이노 시뮬레이터 사용하기
- 회원가입 - 로그인 후 Circuits(회로) 메뉴를 클릭하여 Create new Circuit(새 회로 작성)을 통해 시뮬레이터 화면으로 이동한다.
- 아두이노의 기본 환경 다룰 준비 완료!
LED 깜빡이기
아두이노 프로그래밍을 통해 1초마다 깜빡이게끔 제어하기
준비물 : 아두이노(Arduino Uno R3), 저항(Register), LED
LED는 방향성이 있는 전자 소자! 양극/음극 주의해서 구분할 것!!! 보통 빨간 선이 양극(Anode), 검은 선이 음극(Cathode), 실제 LED를 보면 긴 쪽이 양극, 짧은 쪽이 음극이다.
아두이노에서 전류가 전원(5V)에서 그라운드(GND)로 흐르기 때문에 이에 맞게 전선을 연결해줘야 한다.
- 양극을 아두이노 우노 13번 핀에 연결, 음극은 저항 연결 후 저항에서 GND 연결
- 저항 설정을 220Ω (220~330Ω이 적정 값)로 바꿔준다.
</
코드 - 문자(Text)로 변환- pinMode에 핀 번호 삽입, 출력모드로 변경해줌
pinMode(13, OUTPUT)
digitalWrite(13, High)
: High, 5V를 가해서 LED를 켠다.
delay(1000)
: 1000 ms 동안 지연시킨다, 즉 1초 동안 LED를 켠 상태를 유지한다.
digitalWrite(13, Low)
: Low, 0V를 가해서 LED를 끈다.
delay(1000)
: 1000 ms 동안 지연시킨다, 즉 1초 동안 LED를 꺼진 상태를 유지한다.
⇒ loop 함수니까 이를 반복!- 시뮬레이션 시작(Start Simulation)
아두이노는 보통 set up 과 loop 함수로 이루어져있다.
set up은 최초 한번만 호출되며 이후는 loop로 반복
// C++ code
//
void setup()
{
pinMode(13, OUTPUT); // ← pinMode(LED_BUILTIN, OUTPUT); 13번, 출력모드
}
void loop()
{
digitalWrite(13, HIGH); // ← digitalWrite(LED_BUILTIN, HIGH);
delay(1000); // Wait for 1000 millisecond(s)
digitalWrite(13, LOW); // ← digitalWrite(LED_BUILTIN, LOW);
delay(1000); // Wait for 1000 millisecond(s)
}
💎 만약 LED에 저항이 없다면??
LED는 최대 20mA 전류로 동작을 해야하는데 초과되는 전류가 흐르기 때문에(52.3mA) LED의 수명이 감소한다. (혹은 동작을 안할 수도 있다)
브레드보드
전자 소자들을 올려놓을 수 있는 판
시뮬레이터에서는 small 하나만 지원하지만 full, half, mini 사이즈까지 지원
브레드보드는 크기에 따라 다양하며 아래 그림에서 보는 것과 같이 가로줄은 알파벳 a부터 j까지 표시되어 있고 세로줄은 숫자 1부터 30까지 표시되어 각각의 구멍마다 이름을 지정할 수 있습니다. 즉 a1은 좌측 상단의 첫 번째 구멍을 의미하며 a1, b1, c1, d1, e1 이렇게 5개의 구멍은 서로 연결되어 있습니다. 따라서 a1과 b1에 점퍼 케이블을 연결하며 서로 납땜한 것과 동일합니다. 좌, 우측에는 붉은색의 플러스(+) 줄과 검은색의 마이너스(-) 줄이 표시되는데 플러스는 전원을 의미하며 마이너스는 그라운드를 의미합니다. 플러스와 마이너스는 세로 방향으로 모두 연결되기 때문에 한군데만 연결하면 모든 줄이 전원 또는 그라운드의 역할을 합니다.
출처 : https://wikidocs.net/book/2655 [위키독스 - 아두이노 시뮬레이터]
a1, b1, c1, d1, e1 이렇게 한 라인에 있는 5개의 구멍은 연결되어 있기 때문에 납땜한 것과 같다. 예를 들어 여기에 LED의 cathode와 anode를 a1, b1에 연결하게 되면 단락(short)이 발생한다. 따라서 회로를 구성할 때에는 서로 연결되지 않은 곳에서 해줘야 한다.
a, b, c, d, e 와 f, g, h, i, j를 연결하고 싶다면 e-f를 와이어로 연결시켜주면 된다
- DIP Support : 전자 소자 중 chip(IC - DIP) 형태를 연결할 때 사용, 각각 선은 좌우측에 연결
- Binding Posts : 전원, 그라운드 부분 연결 가능
- Terminal Strips : 다섯줄 씩 연결된 부분, 점퍼케이블을 삽입했을 때 고정할 수 있게 금속띠로 되어 있다.
- Power Rails : 전원과 그라운드
브레드보드의 자세한 정보는 https://blog.naver.com/emperonics/221712167675 참고
저항(Register)
전류의 흐름을 억제하는 소자로 쓰이며 저항이 없는 경우 전자 소자가 망가질 수 있다. 저항의 크기에 따라 저항의 색 띠가 달라진다.
- 첫 번째 색 띠는 10의 자리, 두 번째 색 띠는 1의 자리를 의미하고 세 번째 색 띠는 10의 승수를 의미하며 마지막 띠는 허용오차로 금색은 허용오차 ±5%를, 은색은 허용오차 ±10% 뜻한다.
- 220Ω을 예로 들자면 1st Band Red(10의 자리 2), 2nd Band Red(1의 자리 2), 3rd Band Brown(101), 22x101=220Ω 이 된다. 마지막 금색은 허용오차 ±5%를 뜻하므로 209~231Ω 범위의 값을 가지게 된다.
- 보다 정밀한 저항이 필요할 때 5색 저항을 이용한다.
전자 소자의 스펙에 따라 저항을 지정해야한다. LED의 경우 보통 220~330Ω이 적절한 값이다. 이 때 적절한 저항값은 우리가 너무나도 잘 알고있는 그 법칙, 옴의 법칙으로 구해줄 수 있다!!
(R: 저항, V:전압, I:전류)
앞서 사용한 LED의 경우 허용 전류가 20mA이고 이는 0.02A이다. V는 5V이니까 하면 적절한 저항 값은 250Ω 인 것을 알 수 있다😉 ✍
✍ 저항 크기 계산해보기
- (Brown(10) + Black(0)) X Red(102) = 1000Ω = 1kΩ (950 ~ 1050Ω)
- (Brown(10) + Black(0)) X Orange(103) = 10000Ω = 10kΩ (9.5 ~ 10.5 kΩ)
- (Orange(30) + Orange(3)) X Brown(101) = 330Ω (313.5 ~ 346.5 Ω)
Author And Source
이 문제에 관하여(아두이노 시작하기 - 섹션 0), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@traumen25/아두이노-시작하기-섹션-0저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)