BASIC4MCU | 질문게시판 | 알코올 측정기(MQ-3) 관련 질문
페이지 정보
작성자 소오금 작성일2023-09-18 16:49 조회61회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=23205
본문
안녕하세요 저번에 아두이노 블루투스모듈(HC-06) 모바일값 전송에 질문을 한 회원입니다
성심성의껏 답해주신 덕분에 현재 제가 원하는 단계까지 구현이 성공했습니다
(어플 화면)
알코올 측정을 누르면 "A" 가 아두이노로 수신되며 아두이노에서 수신시 알코올 값을 어플로 전달하는 방식이며
사용종료 클릭시 아두이노에 연결된 버튼 조작이 안되게 구현하였습니다
아래는 아두이노 코딩입니다
#includeSoftwareSerial bluetooth(10, 11); // RX, TXint alcoholValue = 0;char receivedChar ;const int alcoholThreshold = 300; // 알코올 임계값const int motor1Pin1 = 2;const int motor1Pin2 = 3;const int enablePin = 5; // 모터 드라이버의 enable 핀const int buttonPin = 4; // 버튼 핀bool buttonState = LOW; // 버튼 상태 (HIGH 또는 LOW)void setup() {pinMode(motor1Pin1, OUTPUT);pinMode(motor1Pin2, OUTPUT);pinMode(enablePin, OUTPUT);pinMode(buttonPin, INPUT_PULLUP); // 내부 풀업 저항 사용digitalWrite(enablePin, HIGH); // 모터 드라이버 활성화bluetooth.begin(9600);Serial.begin(9600);}void loop() {buttonState = digitalRead(buttonPin); // 버튼 상태 읽기if (bluetooth.available() > 0) {receivedChar = bluetooth.read();if (receivedChar == 'A') {alcoholValue = analogRead(A5); // A5 핀에서 알코올 값을 읽음Serial.println('A');// 알코올 값을 블루투스로 전송bluetooth.print(alcoholValue);bluetooth.println();Serial.println(alcoholValue);}if (receivedChar == 'B') {Serial.println('B');bluetooth.print("사용이 종료되었습니다");bluetooth.println();}}if (alcoholValue <= alcoholThreshold && buttonState == HIGH && receivedChar == 'A') {digitalWrite(motor1Pin1, HIGH);digitalWrite(motor1Pin2, LOW);} else {digitalWrite(motor1Pin1, LOW);digitalWrite(motor1Pin2, LOW);}delay(200);}모터가 구동이 될려면 알코올값이 300이하이며,버튼이 눌리고 "A"값을 수신해야 하게 로직을 구성하였습니다 현재 제가 원하던 것처럼 잘 작동되고요여기서 부터 본론인 질문사항입니다한가지 간과한것이 알코올 측정기가 항상 작동이 되고있다는 점이였습니다즉슨 아무리 3가지 조건(수신값 "A" 수신 , 알코올값300이하,아두이노에 연결된 버튼 클릭)을 만족해서 모터가 돌아간다 하여도딱 필요한 순간에 알코올 측정을 하지 않으면 계속 측정되고 있는 알코올값이300 이하일시운전자 입장에서 검사를 하지 않고 어플에서 알코올 측정 버튼, 아두이노에 연결된 버튼만 눌러도 바퀴가 구동이 된다는 점이였습니다 알코올 측정기에 강제적으로 숨을 불어넣게 하기위해 인체감지센서를 활용할 생각도 해보았지만 숨을 불지않고 센서만 감지시키면 되자나? 라는 생각으로 그것마다 무산되었습니다 어떠한 모듈이나 센서를 추가적으로 연결해서 로직을 구현해야하는지아니면 지금 있는 부품들은 유지하되 로직을 추가해야하는지 알수가 없어 조언을 구하고자 질문을 드립니다(현재 사용중인 부품및 모듈:UNO아두이노판,블루투스모듈(HC-06),알코올 측정기(MQ-3),버튼스위치,L298N드라이버모듈,모터2개)
댓글 0
조회수 61등록된 댓글이 없습니다.