에듀이노-코딩교육 전문 쇼핑몰 에듀이노-코딩교육 전문 쇼핑몰

학교, 공공기관이라면 후불결제하세요!

 
현재 위치
  1. 게시판
  2. 묻고답하기

묻고답하기

기술문의 게시판입니다.

게시판 상세
제목 rc카와 mq-3센서에 관한 문의가 있습니다.
작성자 (ip:)
  • 작성일 2020-11-02
  • 추천 추천하기
  • 조회수 66
안녕하세요  에듀이노 개발팀입니다.

정확한 판단을위해서 MQ-3 센서 개별을 테스트해 정상값이 출력되는지 확인부탁드리겠습니다.

문의해주신 센서를 제거해도 값이 출력되는것은 소스코드에 설정되어 있는 A0번핀의 아날로그값이 출력되는 것입니다.

먼저 센서개별테스트를 통해 값이 변화하는지 확인해주시기 바라며, 이후 기술문의 게시판에 재문의 부탁드리겠습니다.

감사합니다.


[ Original Message ]
위에 표시한 아두이노 코딩 교육용 스크래치 메탈 RC카 키트와 MQ-3 센서를 구매했습니다. 저희가 생각하고 있는게 MQ-3에 찍히는 수치에 따라  RC카의 움직임을 제어하는 것입니다. 그런데 업로드를 하면 바퀴는 움직이나, 시리얼 모니터에 찍히는 수치가 알코올을 가져다 대어도 186가량에서 변화가 나타나지 않아 멈추질 않습니다. 또, MQ-3 센서를 .빼놔도 시리얼 모니터에 수치가 찍히는데 다른 측정 센서가 없는 것 같은데 왜 찍히는 지에 관한 원인도 답변을 듣고 싶습니다! 아래에 저희가 이용한 코드와 저희가 만든 키트 사진, 저희가 참고한 유튜브 주소를 첨부하겠습니다. 감사합니다.


<자료 1.>
#include <SoftwareSerial.h>
#include <AFMotor.h>
AF_DCMotor motor_L(1);
AF_DCMotor motor_R(4);
int mq3pin = A0;   //  MQ-3 센서핀을 아두이노 보드의 A5 핀으로 설정
void setup(){
  Serial.begin(9600);   //  아두이노 보드와 pc간의 통신속도 설정
  motor_L.setSpeed(200);
  motor_L.run(RELEASE);
  motor_R.setSpeed(200);
  motor_R.run(RELEASE);
}
void loop(){
  Serial.println(analogRead(mq3pin));   //  MQ-3센서 출력값을 시리얼 모니터로 출력
  int val = analogRead(mq3pin);
  if(val>=400){   //센서 값이 400 이상이면
    motor_L.run(RELEASE);
    motor_R.run(RELEASE);
    delay(300000);
  }
  else if(val>=200 && val<400){ //  센서 값이 200 이상, 400미만이면
    motor_L.run(FORWARD);
    motor_R.run(FORWARD);
    delay(100);
  }
  else if(val<200){   //  센서 값이 200 미만 이면
    motor_L.run(FORWARD);
    motor_R.run(FORWARD);
    delay(100);
  }
}

게시글 신고하기

신고사유

신고해주신 내용은 쇼핑몰 운영자의 검토 후 내부 운영 정책에 의해 처리가 진행됩니다.

평점 0점
첨부파일
비밀번호 수정 및 삭제하려면 비밀번호를 입력하세요.
댓글 수정

비밀번호 :

수정 취소

/ byte

비밀번호 : 확인 취소

댓글 입력

댓글달기이름 :비밀번호 : 관리자답변보기

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

댓글 입력

댓글달기이름 :비밀번호 :

확인

/ byte

왼쪽의 문자를 공백없이 입력하세요.(대소문자구분)

에게만 댓글 작성 권한이 있습니다.

«
»