질문게시판 > 아두이노 a4988 스텝모터 + LCD 모니터 + 미세먼지 센서 (GP2Y1014AU0F)

TODAY428 TOTAL2,679,135
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | 아두이노 a4988 스텝모터 + LCD 모니터 + 미세먼지 센서 (GP2Y1014AU0F)

페이지 정보

작성자 JCHJ 작성일2022-12-15 16:58 조회724회 댓글0건

본문

	

72593deef5c4341c6f89e914a992d91c_1671090355_8237.png 


#include
#include

#define DIR 5
#define STEP 4

#define STEP_DELAY 5000
#define STEP_COUNT 300

LiquidCrystal_I2C lcd (0x27, 16, 2);

int Dust = 0;
char str1[10];

int Vo = A0;
int V_LED = 2;

float Vo_value = 0;
float Voltage = 0;

void setup()
{
  Wire.begin();
  Serial.begin(9600);
  while(!Serial);
  Serial.println("\nI2C Scanner");

  pinMode(V_LED, OUTPUT);
  pinMode(Vo, INPUT);

  pinMode(DIR, OUTPUT);
  pinMode(STEP, OUTPUT);
  digitalWrite(DIR, HIGH);

  lcd.begin();
  lcd.noBacklight();
  lcd.clear();
  delay(500);

  lcd.backlight();
  delay(500);

  lcd.setCursor(6, 0);
  lcd.print("SENSOR");
  delay(1000);
  lcd.clear();
}

void loop()
{
  digitalWrite(V_LED, LOW);
  delayMicroseconds(280);
  Vo_value = analogRead(Vo);
  delayMicroseconds(30);
  digitalWrite(V_LED, HIGH);
  delayMicroseconds(9680);

  Voltage = Vo_value * 5.0 / 1023.0;

  Serial.print(" Volatage: ");
  Serial.println(Voltage);
 

  if (Voltage < 0.1) {
    Dust = 0;
  }
  else if (Voltage < 0.8) {
    Dust = 10 * (5 * (Voltage - 0.1));
  }
  else if (Voltage < 1) {
    Dust = 10 + 15 * ((Voltage - 0.8) * 10);
  }
  else if (Voltage > 1) {
    Dust = 40 + 16 * ((Voltage - 1) * 10);
  }

  Serial.print("Dust : ");
  Serial.println(Dust);
  Serial.println(" ");

  delay(10);

  lcd.setCursor(1, 0);
  lcd.print("Dust : ");
  sprintf(str1, "%03d", Dust);
  lcd.print(str1);

  lcd.write(0);
  lcd.print("g/m");
  lcd.write(1);

  if (Dust > 80) {
    digitalWrite(DIR, HIGH);
    for (int i = 0 ; i < STEP_COUNT; i++) {
      digitalWrite(STEP, HIGH);
      delayMicroseconds(STEP_DELAY);
      digitalWrite(STEP, LOW);
      delayMicroseconds(STEP_DELAY);
    }
  }
  else if (Dust < 80) {
    digitalWrite(DIR, LOW);
    for (int i = 0 ; i < STEP_COUNT; i++) {
      digitalWrite(STEP, HIGH);
      delayMicroseconds(STEP_DELAY);
      digitalWrite(STEP, LOW);
      delayMicroseconds(STEP_DELAY);
    }
  }
  else {
    digitalWrite(STEP, LOW);
    digitalWrite(STEP, LOW);
  }
 
  delay(10000);
}


Q : 미세먼지 센서에 의해 모터가 돌아가는 형식으로 코드를 진행하려고하는데 미세먼지 농도가 기준치보다 높거나 낮을 경우 모터가 계속 한쪽으로만
돌아가는 방식(ex: 농도가 높을 경우 모터가 왼쪽, 낮을 경우 모터가 반대방향으로 돌아가는 방식)으로 작동됩니다.
미세먼지는 계속 측정되고 스텝모터는 한번 돌아가고 그 이후로 모터가 멈추는 방법(ex: 농도가 기준치 이상이면 모터가 왼쪽으로 돌아가고 정지한
뒤에, 기준치 아래로 낮아지면 다시 반대방향으로 돌아가는 방법)을 알려주시면 감사하겠습니다 빠른답변 부탁드립니다.
  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 724

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
질문 토양습도센서 이용시LCD 오류댓글[5] 윤던 23-05-23 38
질문 LCD 부저연결질문입니다.댓글[1] Tell 23-05-19 52
질문 세그먼트 lcd출력질문입니다.댓글[1] Tell 23-05-19 57
질문 lcd 화면에 글자가 안보이네요댓글[7] 이미지 황룡수색 23-05-19 78
질문 lcd 모니터를 내려서 표기하댓글[5] 수포자 23-04-06 277
현재글 아두이노 a4988 스텝모터 + LCD 모니터 + 미세먼지 센서 (GP2Y1014AU0F) 이미지 JCHJ 22-12-15 725
답변 답변글 답변 : 아두이노 a4988 스텝모터 + LCD 모니터 + 미세먼지 센서 (GP2Y1014AU0F)댓글[2] master 22-12-15 1413
질문 아두이노 심박센서 및 LCD로 BPM나타내기 질문있습니다.댓글[2] 이미지첨부파일 공백 22-12-12 1263
질문 (MCU) LCD와 인터럭트궁금한 부분이있어 질문드립니다댓글[1] 권철숙 22-12-03 513
질문 ATMEGA128 가변저항을 이용해 값을 LCD로 받고싶습니다.댓글[1] 납땜마스터 22-12-01 1051
질문 Atmega128 가변저항을 이용해 lcd에 설정값 띄우기 납땜마스터 22-12-01 938
답변 답변글 답변 : Atmega128 가변저항을 이용해 lcd에 설정값 띄우기 master 22-12-01 960
질문 USART를 이용한 LCD출력댓글[2] 이름두글자 22-11-29 1013
질문 stm32 tft(LCD) ILI9341 문제점 조언댓글[3] 첨부파일 지산동괴물쥐 22-11-26 1736
질문 LED, LCD, 버튼, 부저 0922tjdus 22-11-24 1423
답변 답변글 답변 : LED, LCD, 버튼, 부저 master 22-11-24 1092
질문 아두이노 우노 압력센서 LCD 코딩 문제댓글[16] 이미지첨부파일 또혀이 22-11-18 11929
답변 답변글 답변 : 아두이노 우노 압력센서 LCD 코딩 문제 이미지 master 22-11-19 1151
질문 인터럽트 활성화시 LCD 오류 발생 마프하나 22-11-16 1134
답변 답변글 답변 : 인터럽트 활성화시 LCD 오류 발생 master 22-11-17 862
질문 3x4 키패드를 이용한 LCD 계산기 코딩 질문입니다.댓글[1] 첨부파일 LCDnoob 22-11-16 1445
질문 Lcd실드 모듈 연결해서 lcd만 사용할 수 있나요?댓글[2] 이미지첨부파일 떼잉 22-11-13 1453
질문 아두이노 lcd 오류 질문댓글[2] 이미지첨부파일 아두이노진구 22-11-11 1801
질문 (도와주세요ㅠ) 초음파센서로 lcd와 부저 울리기 첨부파일 승천 22-11-06 1602
답변 답변글 답변 : (도와주세요ㅠ) 초음파센서로 lcd와 부저 울리기댓글[4] master 22-11-06 3230
질문 초음파 센서를 이용해서 lcd거리측정에 부저 집어넣기...댓글[1] 이미지첨부파일 승천 22-11-04 1973
질문 시리얼 모니터를 통한 LCD 문자 출력 시 오류(괴문자)댓글[2] 이미지첨부파일 takeonefor 22-11-02 1709
질문 스텝모터,twi,LCD관련 질문 있습니다..!댓글[1] 이미지첨부파일 만두 22-10-31 2133
질문 LCD 7segment switch 인터럽트함수 변수제어 시속90 22-10-21 1525
답변 답변글 답변 : LCD 7segment switch 인터럽트함수 변수제어 master 22-10-23 1598
게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기