<초음파 센서>
더보기
#define TRIG 9 //TRIG 핀 설정(초음파 보내는 핀)
#define ECHO 8 //ECHO 핀 설정(초음파 받는 핀)
void setup(){
Serial.begin(9600); //시리얼 통신을 정의해줍니다.
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); //물체에 반사되어 돌아온 초음파 시간 저장
//34000*초음파 가 물체로부터 반사되어 돌아오는 시간 /1000000 /2(왕복이니까)
//초음파센서의 거리값이 위 계산값과 동일하게 cm로 환산되는 계산 공식
distance = duration * 17/1000;
//초음파 거리값 확인 하는 코드
Serial.println(duration); //반사되어 돌아오는 시간
Serial.print("\nDistance:");
Serial.print(distance); //측정된 물체로부터 거리값(cm)을 보여줍니다.
Serial.println("cm");
delay(1000);
}
출처 : https://m.blog.naver.com/boilmint7/220926404472
<사운드 센서>
더보기
const int SOUND_SENSOR_PIN = A0;
int sensorValue;
void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(SOUND_SENSOR_PIN);
Serial.println(sensorValue);
delay(200);
}
<사운드센서 - 박수칠때마다 불켜지기>
더보기
int soundSensor = A0;
int led[6] = {8,9,10,11,12,13}; //LED핀 8~13
int threshold = 31; //소리 크기 기준
int count = 0; //박수 몇 번 쳤는지 카운트
int sensor;
void setup() {
Serial.begin(9600); //시리얼모니터 출력
pinMode(soundSensor, INPUT); //사운드 센서 입력으로 설정
for (int i=0; i<6; i++)
pinMode(led[i], OUTPUT); //LED핀 출력으로 설정
}
void loop() {
sensor = analogRead(soundSensor);
Serial.println(sensor);
if (analogRead(soundSensor) >= threshold) { //감지된 소리의 크기가 20이상일때
for(int i=0; i<6; i++) { //6개 led제어
if(i == count) //카운트 된 박수 개수로 led제어
digitalWrite(led[i], HIGH);
else
digitalWrite(led[i], LOW);
}
count = (count < 6) ? count+1 :0; //count<6참일때 count+1, 거짓일때 0 반환
delay(200);
}
else //감지된 소리의 크기가 200이하일때
delay(1);
}
<일산화탄소 감지기>
더보기
int GasPin = A0; //가스 센서 입력을 위한 아날로그 핀
void setup() {
pinMode(GasPin, INPUT); //아날로그 핀 A0를 입력모드로 설정
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(GasPin)); //가스센서로부터 아날로그 데이터를 받아와 시리얼 모니터로 출력
delay(1000) ; //1s대
}
<인터벌 선풍기 시계방향으로 돌았다가 반대방향으로 돌았다가>
더보기
int A = 8;
int B = 9;
void setup() {
pinMode (A, OUTPUT);
pinMode (B, OUTPUT);
}
void loop(){
digitalWrite(A, LOW); //팬모터가 A방향으로 회전
digitalWrite(B, HIGH);
delay(2000); //2초후
digitalWrite(A, HIGH); //전체정지
digitalWrite(B, HIGH);
delay(5000); //5초
digitalWrite(A, HIGH);
digitalWrite(B, LOW); //팬모터가 B방향으로 회전
delay(2000); //2초 후
digitalWrite(A, HIGH); //전체정지
digitalWrite(B, HIGH);
delay(5000); //5초후
}
'아두이노' 카테고리의 다른 글
아두이노 IoT 키트 목록 (0) | 2023.07.19 |
---|---|
아두이노 LCD와 시계 (0) | 2023.07.19 |
아두이노 디스플레이 출력 - FND(7-Segment)/ 도트매트릭스 (0) | 2023.07.17 |
아두이노 (0) | 2023.07.12 |
아두이노 시리얼통신 / 버튼데이터 / 가변저항값 / CDS조도센서 (0) | 2023.07.11 |