초음파 센서
•
연결방법 (아두이노 → 초음파센서) 3V로 꽂을것!
◦
3V 3V
◦
GND GND
◦
D13/SCK Trig
◦
D12//MISO Echo
•
보트레이트 속도 : 9600rates
•
소스코드
int trig = D13; // 변수 trig를 생성하고 2를 대입한다
int echo = D12; // 변수 echo를 생성하고 3을 대입한다
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT); // trig(2)핀을 출력모드로 설정한다
pinMode(echo, INPUT); // echo(3)핀을 입력모드로 설정한다
}
void loop() {
digitalWrite(trig, HIGH); // trig(2)핀에 HIGH신호를 보낸다
delayMicroseconds(10); // 0.01초
digitalWrite(trig, LOW); // trig(2)핀에 LOW신호를 보낸다
int distance = pulseIn(echo, HIGH) * 17 / 1000;
// 변수 distance = echo핀이 다시 HIGH신호를 받기까지의 시간 * 17/1000
Serial.print(distance); // 변수 distance를 출력한다
Serial.println("cm"); // 문자열 cm을 출력하고 줄바꿈
delay(100); // 딜레이 0.1초
}
Arduino
복사
•
실물 화면
온습도센서 DHT11
•
센서 이미지
•
연결방법(아두이노 센서)
◦
5V가운데 핀
◦
GND전원입력쪽(-)
◦
D13/SCK/D5신호출력(S)
•
보트레이트 속도 : 9600rates
•
라이브러리 설치방법 2가지로 알려드립니다.
•
라이브러리 매니저를 활용한 설치
•
소스코드
#include "DHT.h"
#define DHTPIN D5
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
float f = dht.readTemperature(true);
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
float hif = dht.computeHeatIndex(f, h);
float hic = dht.computeHeatIndex(t, h, false);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F("°C "));
Serial.print(f);
Serial.print(F("°F Heat index: "));
Serial.print(hic);
Serial.print(F("°C "));
Serial.print(hif);
Serial.println(F("°F"));
}
Arduino
복사
•
실물화면
빗물감지센서
•
연결방법 (아두이노 센서)
◦
5V +
◦
GND -
◦
D13/SCK/D5S
•
보트레이트 속도 : 9600rates
•
소스코드
int analogPin = D5; // 워터센서 D5 연결 선언
int led = D3; // LED D3 포트 연결 선언 //여기에서는 led 연결은 안함
int val = 0; // 전류변화값 변수선언
// 아두이노 자체 led에서도 점멸이 됨
// 물이 닿으면 1023을 리턴함
void setup ()
{
pinMode(led, OUTPUT); // D3 포트를 LED OUTPUT 으로 설정
Serial.begin (9600); // 시리얼모니터 설정
}
void loop()
{
val = analogRead(analogPin); // analogPin 의 변화값(전류값)을 읽음
if (val > 100) // val 값이 100이 넘으면 (전류가 100이 넘으면)
{
digitalWrite(led, HIGH); // LED ON
}
else // val 값이 100이하면 (전류가 100이하면)
{
digitalWrite(led, LOW); // LED OFF
}
Serial.println(val); // 시리얼모니터에 전류값 표시
delay (500);
}
Arduino
복사
•
실질적인 화면
•
센서 이름 물어보시는 분들 많아서 아래의 첨부 이미지를 붙여 드립니다.