BASIC4MCU | 질문게시판 | (도와주세요ㅠ) 초음파센서로 lcd와 부저 울리기
페이지 정보
작성자 승천 작성일2022-11-06 07:38 조회4,706회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=21454
첨부파일
본문
초음파 센서를 이용해서 lcd에 거리를 출력하고 해당 거리 안에 들어오면 큰 소리가 조금씩 간격이 줄어들면서 점점 빠르게 나오게 해야하는데요위의 동영상을 참고해서 만들어보았는데제가 초음파센서 와 lcd 의 회로에서부저를 더 추가해서 연결해준건데요lcd에 거리는 잘 출력되지만 위 링크의 영상처럼 부저 결과가소리 크기는 똑같지 않아도 되는데 (똑같으면 좋지만)제가 올린 영상처럼 딜레이나 톤함수의 주파수 지속시간 까지 건드려도 링크의 영상처럼 되지를 않네요 ㅜㅜ뭐가 잘못된걸까요 코드가 잘못된건가요??코드는 아래의 코드를 썼습니다.#include <LiquidCrystal.h>LiquidCrystal lcd(12,11,2,3,4,5);long duration, distance;int buzzer = 13;int echoPin = 9;int trigPin = 8;void setup() {Serial.begin(9600);pinMode(buzzer, OUTPUT);pinMode(echoPin,INPUT);pinMode(trigPin, OUTPUT);lcd.begin(16, 2);}void loop() {float duraion, distance;digitalWrite(trigPin, HIGH);delay(10);digitalWrite(trigPin, LOW);duration = pulseIn(echoPin, HIGH);distance = ((float)(340 * duration) / 10000) /2;noTone(buzzer);Serial.println(distance);lcd.clear();lcd.setCursor(1,0);lcd.print("Distance Check");lcd.setCursor(4,1);lcd.print(distance);lcd.print(" cm");delay(1000);if(distance<100 && distance >=70) {tone(buzzer,2000,300);delay(1000);}else if(distance<70 && distance >=50) {tone(buzzer, 2000, 200);delay(500);}else if(distance<50 && distance >=30) {tone(buzzer, 2000, 100);delay(200);}else if(distance <30) {tone(buzzer, 2000, 50);delay(20);}}
댓글 0
조회수 4,706등록된 댓글이 없습니다.