질문게시판 > 아두이노 초음파센서 관련하여 질문드립니다

TODAY1,790 TOTAL1,312,503
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

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


BASIC4MCU | 질문게시판 | 아두이노 초음파센서 관련하여 질문드립니다

페이지 정보

작성자 ohh12 작성일2020-06-21 18:03 조회459회 댓글4건

본문

	

스위치의 입력을 받아 초음파 거리센서를 30 회 실행하여 평균값을 내어 그에 따라 진동 모터를 제어하는 프로그램을 만들고 있습니다. 어느정도 코딩을 해봤는데 실행을 하니 진동모터가 제어가 되지않고 그냥 움직입니다...어러번 다시 시도해봤지만 어느 부분이 부족한지 알 수 없어 제자리 걸음 중입니다,,,,도와주세요 ㅠㅠ

#include <NewPing.h>

#define TRIGGER_CH1_PIN 10
#define ECHO_CH1_PIN 11

#define MAX_DISTANCE 200

const int motor1 = 2;
const int motor2 = 3;
const int led = 4;
const int button = 5;

int state = LOW;
int previous =LOW;
int reading;

long time=  0;
long debounce = 100;

NewPing sonar_ch1(TRIGGER_CH1_PIN,ECHO_CH1_PIN,MAX_DISTA NCE);

void setup() {
  Serial.begin(9600);
  pinMode(button,INPUT_PULLUP);
  pinMode(motor1,OUTPUT);
}

void loop() {
   int sum=0;
   int ave=0;
   int dist1=0;
  
   dist1=sonar_ch1.ping_cm();
   reading=digitalRead(button);

   const long interval = 40000;

   int cds = analogRead(A1);
   Serial.println(cds);

   if(cds<600){
    digitalWrite(led1,HIGH);
   }
   else{
    digitalWrite(led1,LOW);
   }
  
   if (reading == HIGH && previous == LOW && millis()-time > debounce){
    if(state == HIGH){
      for(int i=0; i<30; i++){
        sum=sum+dist1;
        Serial.print("ch1:");
        Serial.print(dist1);
        Serial.println("cm");
        delay(100);      
      }
      ave=sum/30;
      Serial.print("ave:");
      Srrial.println(ave);
      if( dist1 >= ave){
        digitalWrite(motor1,HIGH);
        delay(100);
      }
      else{
        digitalWrite(motor1,LOW);
      }
     }
     else
     state=HIGH;
     time=millis();
    }
   previous = reading
 } 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 4

조회수 459

master님의 댓글

master 작성일

for(int i=0; i<30; i++){
        dist1=sonar_ch1.ping_cm(); // <-- 루프 안에서 초음파센서를 읽으세요
        sum=sum+dist1;

ohh12님의 댓글

ohh12 댓글의 댓글 작성일

정말!!감사합니다ㅠㅠㅜ 오늘 하루동안 진짜 이것만..고민했습니다 해결해 주셔서 감사합니다!!!!!!! 그런데 평균을 내고 계속 초음파 값을 읽고 싶은데 한번밖에 측정이 안되는데 이 부분은
for문을 사용해야 할까요 while문을 사용해야 할까요? ㅜㅜ!!!

master님의 댓글

master 댓글의 댓글 작성일

reading=digitalRead(button);
버튼을 클릭했을 때 실행되는 것 같은데요
계속 실행 하고 싶다면 버튼 체크 부분을 제거하면 됩니다.
 if (reading == HIGH && previous == LOW && millis()-time > debounce){ // 현소스
 if (millis()-time > debounce){ // 이렇게 수정 해보세요

ohh12님의 댓글

ohh12 댓글의 댓글 작성일

아하 그렇군요!!! 정말 정말감사합니다!!!!

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 : 아두이노 센서 2개를 동시에 인식해야 값을 나타내는 코딩 방법을 알고 싶습니다.댓글[3] master 20-08-31 179
질문 아두이노 센서 관련 오류 질문입니다.댓글[2] 우에이우에이야 20-08-30 139
질문 아래 36v 모터 구동 관련 질문 햇던 사람입니다댓글[2] 이미지첨부파일 현이꽃 20-08-29 144
질문 ATmega128과 BLB-31모터드라이브와 연결 방법이 궁금해서 질문드립니다.댓글[3] 이미지첨부파일 Jpaul 20-08-28 201
질문 led 아두이노 오류 pelu 20-08-28 125
답변 답변글 답변 : led 아두이노 오류 master 20-08-28 103
질문 dc모터 구동 관련 질문좀 드릴게요댓글[3] 이미지첨부파일 현이꽃 20-08-28 181
질문 atmega-2560-pc 데이터주고받기댓글[2] 베이식포유 20-08-28 141
답변 답변글 답변 : atmega-2560-pc 데이터주고받기 master 20-08-30 80
질문 ㅠ ㅠ사운드모듈 제작하는것 도와주실분 계신가요(사례있어요) 가라온 20-08-28 87
질문 작품 제작할라하는데 라카이 20-08-27 118
질문 모터 드라이버 IC 질문 (BTM7811K)댓글[1] 이미지첨부파일 이이 20-08-26 114
질문 sht11 atmega16으로 질문했었던 사람입니다 궁금한게있습니다댓글[2] 첨부파일 양동이 20-08-26 128
질문 아두이노 2개의 버튼으로 하나의 릴레이 작동시키기댓글[1] 순간집착제 20-08-25 122
질문 Atmega128 서보모터 질문입니다..댓글[4] 이미지 망고 20-08-24 274
질문 ATmega16, SHT11을 이용해 온습도 표시 오류댓글[1] 양동이 20-08-24 140
질문 USART 문자열 수신 관련 질문있습니다!댓글[3] seojc 20-08-23 196
답변 답변글 답변 : USART 문자열 수신 관련 질문있습니다! master 20-08-24 99
질문 아두이노 블루투스 통신 관련 질문댓글[1] 이미지첨부파일 ㅋㅋ루삥뽕 20-08-23 183
질문 atmega128 uart통신 질문댓글[2] 이미지 JESSI 20-08-22 249
질문 부탁드려요댓글[1] 벅스 20-08-22 156
질문 codevision pms7003 코드 오류 (atmega128) JESSI 20-08-21 140
답변 답변글 답변 : codevision pms7003 코드 오류 (atmega128)댓글[1] master 20-08-21 170
질문 pn532 데이터 전송댓글[3] 알려주세요제발ㅠㅠ 20-08-18 280
질문 적외선 센서와 절전모드댓글[1] aossuper7 20-08-16 214
질문 아두이노를 이용해서 PAS 스피드센서를 사용가능할까요??댓글[1] 살라미 20-08-10 204
질문 아두이노 4차선 신호 코딩 질문있습니다.댓글[6] 이미지첨부파일 율향 20-08-09 544
질문 로봇팔 서보모터 떨림증상댓글[2] 아리송해 20-08-09 297
질문 아두이노 안드로이드 통신질문드립니다.댓글[3] dongeun9 20-08-06 291
질문 4-digit 7-Segment display 질문입니다!댓글[1] mirght 20-08-05 221
게시물 검색

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
모바일버전으로보기