commit
9e714fd87c
1 changed files with 101 additions and 0 deletions
@ -0,0 +1,101 @@ |
|||
#include <Stepper.h>
|
|||
|
|||
#define STEPS 4096 // 한바퀴를 이루는 스텝 갯수 입력
|
|||
|
|||
Stepper stepper(STEPS, 4, 5, 6, 7); // 고정자 권선 순서 설정
|
|||
|
|||
|
|||
|
|||
int dust_sensor = A0; |
|||
|
|||
|
|||
|
|||
float dust_value=0; |
|||
|
|||
float dustDensityug=0; |
|||
|
|||
|
|||
|
|||
int sensor_led =12; |
|||
|
|||
int sampling=280; |
|||
|
|||
|
|||
|
|||
int waiting =40; |
|||
|
|||
float stop_time=9680; |
|||
|
|||
|
|||
|
|||
void setup(){ |
|||
|
|||
Serial.begin(9600); |
|||
|
|||
pinMode(sensor_led,OUTPUT); |
|||
|
|||
pinMode(4,OUTPUT); |
|||
|
|||
|
|||
|
|||
stepper.setSpeed(6); // 회전 속도 지정
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
void loop(){ |
|||
|
|||
digitalWrite(sensor_led, LOW); |
|||
|
|||
delayMicroseconds(sampling); |
|||
|
|||
|
|||
|
|||
dust_value=analogRead(dust_sensor); |
|||
|
|||
|
|||
|
|||
delayMicroseconds(waiting); |
|||
|
|||
|
|||
|
|||
digitalWrite(sensor_led, HIGH); |
|||
|
|||
delayMicroseconds(stop_time); |
|||
|
|||
|
|||
|
|||
dustDensityug =(0.17*(dust_value*(5.0/1024))-0.1)*1000; |
|||
|
|||
|
|||
|
|||
Serial.print("Dust Density [ug/m3]: "); |
|||
|
|||
|
|||
|
|||
if(dustDensityug <=75.0){ |
|||
|
|||
stepper.step(STEPS); // 정방향 회전
|
|||
|
|||
delay(1000); |
|||
|
|||
|
|||
|
|||
}else if (80.0 < dustDensityug && dustDensityug <=150.0){ |
|||
|
|||
stepper.step(-STEPS); // 역방향 회전
|
|||
|
|||
delay(1000); |
|||
|
|||
|
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
delay(2000); |
|||
|
|||
|
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue