[아두이노] 먼지센서 (GP2Y1010AU0F) 활용하기

기본 설명

지름 2.5㎛의 미세먼지까지 인식 가능한 미세먼지 센서 입니다. 내부의 적외선 LED를 빠르게 깜빡여 먼지에 의해 반사된 빛을 감지하는 원리로 동작합니다. 기본형태의 경우 회로에 다이오드와 저항의 연결이 필요하지만, 모듈형의 경우 회로에 내장되어 있어 연결이 간편합니다.

[모듈형 미세먼지 센서] 아두이노 센서를 활용하기 위한 추가적인 작업이 적어집니다.
[아두이노] 먼지센서 (GP2Y1010AU0F) 활용하기 더보기

[아두이노] 충돌센서 (Limit switch) 활용하기

기본 설명

충돌센서 혹은 리미트 스위치 등으로 불리는 센서 모듈입니다. 모듈 가장자리에 위치한 스위치가 눌리면 LED에 불이 점등됨과 동시에 OUT 핀에서 LOW 값을 출력합니다.

[아두이노] 충돌센서 (Limit switch) 활용하기 더보기

[아두이노] 압력센서 (FSR) 활용하기

기본 설명

누르는 압력의 상대적 값을 측정할 수 있는 센서 입니다. 평소 높은 저항 값을 띄고 있다가 센싱 부위에 압력이 가해지면 저항 값이 낮아지게 되고, 그 값을 아날로그 핀에서 읽어 들여 압력의 세기를 측정합니다. 저항 값의 변화로 압력을 측정하므로 센서에 가해진 절대적인 압력 값은 알 수 없습니다. 크기와 모양이 다양하며, 최대 측정 범위 또한 달라 용도에 맞는 센서를 선택하여야 합니다. 일반적으로 최대 측정 범위가 큰 센서일수록 둔감하여 미세한 압력변화는 측정하기 힘듭니다.

원형 압력 센서 모습
[아두이노] 압력센서 (FSR) 활용하기 더보기

[아두이노] 수중 펌프 모터 (SZH-GNP155) 활용하기

기본 설명

물을 빨아들여 이동시킬 수 있는 장치입니다. 내부의 DC모터에 소형 임펠러가 부착되어 있어 회전을 통해 물을 배출하도록 하는 원리입니다. 정격 작동 전압이 5V이므로 과도한 전압을 인가하지 않도록 주의하여야 합니다.

아두이노 배선

아두이노수중 모터(L298N)
5V12V / 5V
GNDGND
D3IN2
D4IN1
OUT1 (펌프 빨강색 선 +)
OUT2 (펌프 흰색 선 -)
[아두이노] 수중 펌프 모터 (SZH-GNP155) 활용하기 더보기

[아두이노] 모터 드라이버 (L298N) 활용하기

기본 설명

아두이노로부터 신호를 입력받아 모터의 방향, 속도 제어를 가능하게 합니다.

모터드라이버 모듈 설명
  • 7 ~ 12V의 외부전원 사용 시 레귤레이터를 통해 논리회로에 전력을 공급할 수 있습니다. 그 외 범위의 전원 사용 시 점퍼핀을 제거하고 5V를 논리회로 전원에 직접 공급해야 합니다. 높은 전압에서는 제거하지 않고 사용 시 회로에 고장이 생길 수 있으므로 반드시 제거하여 사용해야 합니다.
  • 논리회로에서 계산된 전력을 모터로 공급합니다. A에선 1, 2의 신호를 받아 출력하고, B에선 3, 4의 신호를 받아 출력합니다. 최대 2A까지 출력 가능합니다.
  • 핀 – 기본적으로 점퍼핀이 끼워져 있어 항시 ON 상태로 동작합니다. 제거 후 아두이노에 연결 시 HIGH, LOW 신호를 보내 모터의 전원 ON, OFF 제어가 가능합니다.
  • 핀 (1, 2, 3 ,4) – 아두이노에서 디지털 신호를 받습니다.
[아두이노] 모터 드라이버 (L298N) 활용하기 더보기

[아두이노] 네오픽셀 LED (WS2812B) 활용하기

기본 설명

Adafruit 회사의 전용 라이브러리를 사용하여 하나의 LED부터 수십 개의 LED띠 까지 손쉽게 제어할 수 있는 LED입니다. 다리가 4개인 RGB LED와는 다르게 5V, GND, Din 3개의 핀 연결로 동작이 가능하며 여러 개의 LED도 하나의 아두이노 디지털 핀으로 제어가 가능합니다.

단일 네오픽셀 소자
이 소자를 단독으로 쓰기고 하고,
여러개 모아서 쓰기도 합니다.
여러개 픽셀을 모아서 구성한 모듈
[아두이노] 네오픽셀 LED (WS2812B) 활용하기 더보기

[아두이노] 온라인으로 라이브러리 추가하기

아두이노는 라이브러리를 인터넷에서 검색하여 추가함으로써 다양한 기능을 구현할 수 있습니다.

우선 필요한 라이브러리에 대해 확인하고, 해당 라이브러리의 이름으로 검색하여 추가합니다. 여기에서는 네오픽셀을 추가하는 것을 전제로 설명해 보겠습니다.

네오픽셀은 ‘Adafruit NeoPixel by Adafruit’을 활용하여 구현하는 경우가 많습니다.

우선, 아두이노 IDE에서 “툴” -> “라이브러리 관리” 메뉴를 선택합니다.

그리고 나면 라이브러리 매니저 창이 나타납니다.

라이브러리 매니저 위쪽에 추가하려는 라이브러리의 이름(여기에서는 ‘Adafruit NeoPixel’)을 작성하고 검색합니다.

[아두이노] 온라인으로 라이브러리 추가하기 더보기

[아두이노] 토양 습도 센서 (Keyestudio, DHT11) 활용하기

기본 설명

두개의 전도성 플레이트가 있으며 1개는 전원 1개는 접지와 연결이 되어있습니다. 토양을 통해 전류를 흐르게 하여 2개의 플레이트 사이의 수분에 따른 저항을 측정하여 토양의 습도를 측정할 수 있습니다. 수분의 정도를 0 ~ 1024 사이의 값으로 알려줍니다.

아두이노 배선

아두이노토양습도센서 (DHT11)
5V VCC + (빨강색)
GND GND – (주황색)
A0 output signal S (갈색)
[아두이노] 토양 습도 센서 (Keyestudio, DHT11) 활용하기 더보기

[아두이노] 초음파 센서 (HC-SR04) 활용하기

기본 설명

HC-SR04 초음파 센서는 수신부와 송신부로 이루어져 있습니다.
송신부에서 초음파를 쏘아 올리고 벽 혹은 물체에 반사되어 오는 초음파를 수신부에서 인식합니다. 이 때 보낸 시간과 반사되어 돌아온 시간을 측정하여 거리를 계산할 수 있습니다.

– 측정 범위 : 2~400cm
– 측정 각도 : 30°

※주의 사항 : 스펙상 측정 범위는 2~400cm이지만 실제로는 5~400cm 정도이고 측정 각도 또한 오차를 고려해 15° 이하 범위에서 측정하는 것을 권장합니다.

아두이노 배선

아두이노초음파 센서 (HC-SR04) 
5VVCC (노랑색)
GNDGND (주황색)
D8Trig (갈색)
D9Echo (빨강색)
초음파 센서 배선도

아두이노 소스 코드

아두이노를 이용해 초음파 센서를 동작시켜 커멘드창을 통해 거리를 볼 수 있습니다.

#define trig 8
#define echo 9

void setup()
{
Serial.begin(9600);
Serial.println("초음파 센서 시작");
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}

void loop()
{
long duration, distance;
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
duration = pulseIn(echo, HIGH);
distance = duration * 170 / 1000;
Serial.print("거리: ");
Serial.print(distance);
Serial.println("mm");
delay(100);
}
배선된 초음파 센서 모습