arduino
아두이노
물리적인 세계를 감지하고 제어할 수 있는 인터렉티브 객체들과 디지털 장치를 만들기 위한 도구
아두이노를 하기 전에 알아야 할 것들
-
저항
- 전기의 흐름을 제한한다. 저항을 통해 연결하면 안전한 값으로 떨어뜨릴 수 있다. 저항 때가 4개인 것과 5개인 것이 있다. 선의 차례대로 숫자, 숫자, 0의 개수, 저항 값의 오차 순이다. (색 마다 값이 다르다.) 3, 3, 2라면 3300옴이라는 뜻! (얠 지나가면 100이었던 게 20이 된다. )
-
전압
- 전기적인 위치에너지로 전기가 이동할 수 있는 힘의 크기라고 할 수 있습니다. 영어로는 볼테이지(voltage)라고 하고, 단위로는 볼트(volt)를 사용합니다. (수압과 같은 의미다)
-
전류
- 흘러간 전기의 양을 전류라고 합니다. 영어로는 커런트(current)라고 하고 단위로는 암페어(ampere)를 사용합니다.
구성물
-
아두이노 보드, 아두이노 소프트웨어, 브레드보드, 점퍼선, 여러가지 물품들(LED나 소리내는 것들)
-
아두이노 보드는 USB-B커넥터, GND, +5V, 아날로그 입출력, USB-A커넥터, DC 전원 커넥터 등으로 구성되어있습니다.
-
브레드 보드(bread board, 빵판)
- 납땜이 필요없는 프로토타입용 보드를 말합니다. 빨간 선에는 양의 전압(VCC)를 연결해주고 파란 선은 접지(GND)를 연결해준다. 나머지는 부품들을 연결하기 위해 사용합니다. (양의 전압은 건전지의 볼록한 부분,접지는 건전지의 볼록하지 않은 부분)
-
점퍼선
- 브레드보드에 부품들을 서로 연결할 때 이용합니다.
-
LED
- 긴 다리가 VCC, 짧은 다리가 GND입니다.
아두이노 준비
- 일단 아두이노 소프트웨어 설치를 합니다.
- 각각 맞는 포트와 보드를 설정합니다.
- void setup()은 처음 실행, void loop()는 반복 실행입니다.
- 도구 – 시리얼 모니터 를 통해서 어떻게 동작하는지 나옵니다.
- Serial.begin(9600); 은 시리얼 모니터를 통해 확인할 수 있도록 통신 속도를 9600bps로 설정하고 있습니다.
- 전기 파형의 폭을 조절하는 PWM(pulse width modulation)은 아두이노 보드에 몇 개만 있습니다. (입출력 핀에 ~표시가 되어있다.)
- PWM은 매우빠른 HIGH, LOW로 파형의 폭에 따라 LED의 밝기를 조절할 수 있습니다.
부품의 의미들
아두이노 보드에서 A로 시작하는 핀들은 모두 아날로그 입력을 지원하는 핀들이다. 이 핀들은 칩 내부에서 ADC(analog to digital converter) 모듈로 연결된다. 아두이노 보드 안에서아날로그 값은 0에서 5V 사이의 전압으로 표현되며, 전압 값은 ADC로 전달되어 0에서 1023 사이의 디지털 값으로 변환된다.
가변저항은 값이 변하는 저항이다. 가변 저항은 세 개의 선으로 회로에 연결된다. 두 가지 기능이 있는데 바깥 단자와 중간 단자만 회로에 연결할 경우에 가변 저항이 되고 만약에 세 번째 단자도 회로에 연결하면 전압 분압기 역할을 하게 된다. 전압 분압기는 두 개의 저항을 연속으로 연결해서 구성하거나 또는 하나의 가변 저항으로 구성한다. (해보니까 똑같다. 두 개를 연결하나 세 개를 연결하나)
빛 저항(조도센서)은 빛에 노출되면 저항이 줄어드는 저항이다. 이 동작은 소위 광전자 효과에 의해 일어난다. 전자들이 흡수된 빛의 광자들로부터 충분한 에너지를 얻는다면, 전자들은 붙어있던 원자들에서 떨어져 균형 띠로부터 전도 띠로 움직인다. 이 과정이 빛 저항의 저항 값에 영향을 끼친다. (얘 해줄 때 led핀을 PWM에 꽂아야한다.)
열 저항은 저항 값이 주변 온도에 따라 변하는 가변 저항이다. 열 저항은 방향성이 없다. 즉, 어떤 방향으로 연결하든지 상관없다. 얘도 빛 저항과 마찬가지로 A0으로 연결해준다.
피에조 부저는 압전 효과와 반 압전 효과 양쪽을 이용할 수 있는 압전 부품이다. 압전효과란 압력과 같은 역학적 힘이 피에조 소자를 건너가는 전하의 생성을 이끌어 내는 것을 나타낸다. 압력파는 세라믹 웨이퍼를 늘였다 줄였다해줘서 진동을 발생시킨다. 그 진동은 음파를 생성한다.
서브모터는 대부분 미리 정해진 범위 내에서 그것의 축을 세부 조종하도록 제한된 모터의 한 종류이다. 취미용 서보가 축을 움직이는 범위는 대부분 180도이다. 얘는 세 개의 전선이 붙어있다. 빨간 선은 vin으로 +5v에 연결된다. 검은 선은 GND에 연결된다. 오렌지, 하얀색 선은 데이터선이다. 데이터 선은 마이크로 컨트롤러의 디지털 출력 핀으로 연결된다.
DC 모터는 직류 상에서 동작한다. DC모터에는 두 가지 종류가 있다. 브러시가 있는 DC모터와 브러시가 없는 DC모터다. 브러시가 있는 모터는 구동 축 상에 올려진 코일이 그것의 전기장 주변으로 전자기장을 생성한다. 전기자는 구동축을 돌게 하면서 둘러싸고 있는 고정된 자석들에 의해 계속해서 끌렸다 밀렸다 한다. 브러시가 없는 모터는 모터 제어기가 직류를 교류로 바꾼다.
트랜지스터는 회로 내에서 전력을 증폭시키거나 전환할 수 있는 반도체이다. 작은 전압이나 전류를 이용하여 큰 전위차를 통해 높은 전류가 흐를 수 있게 해주는 소자이다. (증폭기와 비슷) 베이스, 컬렉터, 에미터라고 불리는 세 개의 연결 부분이 있다.
다이오드는 전류를 한 방향으로 흐르게 하는 역할을 한다. 회로 내에 모터가 들어가거나 고전압의 부하가 있을 때 유용하다. 다이오드는 극성을 가지는데 정 방향으로 놓이면 전류를 흐르게 하고 역 방향으로 놓이면 전류의 흐름을 막는다. 일반적으로 음극 쪽을 회로 내의 높은 전압으로 연결한다. 그리고 양극 쪽을 낮은 전압이나 GND로 연결한다. 띠로 표시된 부분이 양극쪽이다.
초음파센서는 초음파를 이용해 사물간의 거리를 측정하는 센서. 한 쪽이 Trig이다. 얘가 초음파를 보내고 다른 한 쪽인 Echo가 초음파를 받아들여 돌아온 시간을 이용해 거리를 계산한다. TRIG 센서를 계속 켰다껐다하면서 지속적으로 확인해준다. pulseIn함수는 값을 계산해주는 함수다.(대소문자구별)
LCD는 액정을 이용해 스크린에 숫자나 글자를 표시하는 부품이다. K 배경밝기(GND), A 배경 밝기(VCC), 데이터핀 D7~D0, 쓰기모드 활성화E, 읽기/ 쓰기모드설정 RW, RS레지스터 설정, VO 글자 대비값, VDD LCD전원, VSS LCDGND
LiquidCrystal lcd(12, 11, 2, 3, 4, 5);는 초기화를 해주는 것. lcd.setCursor(0.1); 는 처음 커서를 어디에 둘 것인지. lcd.begin(16,2);는 LCD의 높낮이를 설정하는 명령어(이 영역 안에서 글씨를 쓸 수 있다.)
풀업 저항이란?
- 입력 단자에 스위치를 넣고 신호를 전달되지 않는 상태가 되면 플로팅 상태가 된다. 플로팅이란 입력값이 고정적이지 않다는 의미로 즉, 양쪽 어디에도 연결되지 않은 상태를 의미한다. 이를 방지하기 위해서 저항을 설정해 스위치를 누르지 않은 상태라도 지속적으로 0 또는 1의 값이 전달되고 ON, OFF상태를 구현할 수 있다. 풀업저항은 스위치가 접지에 걸려있고 저항이 입력단자와 +에 걸린 것을 의미하고, 입력값이 항상 ON 상태를 의미한다. 풀다운 저항은 스위치가 +에 설정되어 있고 저항이 입력단자와 접지에 걸려있는 것으로 기기가 항상 OFF 상태로 되어있는 것을 의미한다.