질문게시판 > 답변 : 적외선 센서 코딩

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

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


BASIC4MCU | 질문게시판 | 답변 : 적외선 센서 코딩

페이지 정보

작성자 master 작성일2020-06-14 07:47 조회210,614회 댓글20건

본문

	

 

// DateTime : 2020-06-14 오전 7:52:40
// by Ok-Hyun Park
//
#define  F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <stdio.h>
//
void TX0_char(char d){ while(!(UCSR0A&0x20)); UDR0=d; }
void TX0_str(char *s){ while(*s)TX0_char(*s++); }
//
int main(){
  char str[100];
  int a;
  float distance;
  ADCSRA=0xE7;
  UCSR0B=0x18UBRR0L=51// 19200
  while(1){
    _delay_ms(300);
    a=ADC;
    distance=12343.85*pow(a,-1.15);
    sprintf(str,"ADC:%d, distance:%.2f \r\n",(double)distance);  
    TX0_str(str);
  }
}

 

ADC값을 같이 표시해서 연산에 문제가 있는지

아니면 ADC값이 제대로 읽혀지지 않는지 체크하세요

 

 

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

댓글 20

조회수 210,614

master님의 댓글

master 작성일

#include <stdio.h>
헤더파일 추가
//
delay_us(125);        //  _delay_us(125);  // ADC변환준비시간(125uS)
딜레이 함수명 변경
//
distance = 12343.85*pow(ADCW,-1.15);    //distance = 12343.85*pow(ADC,-1.15);  // ADC 10bit 데이터를 cm 단위로 변환
ADC 대신 ADCW 사용

jinh님의 댓글

jinh 작성일

적외선 센서로 감지하고 신호 출력만 할건데 따로 추가나 수정할 부분 없어 보이시나요?

master님의 댓글

master 댓글의 댓글 작성일

해보고 문제가 발생하면 질문글을 작성해주세요

jinh님의 댓글

jinh 작성일

컴파일을 진행하니 POW 선언이 안되서 그런건지 에러매세지가 출력됩니다. 무슨 문제인지 알수있으신가요?

master님의 댓글

master 댓글의 댓글 작성일

POW() 함수는
#include <math.h> 
헤더파일 선언이 되어 있어야 할 것입니다.

jinh님의 댓글

jinh 작성일

아 감사합니다 오류나면 추가로 문의할게요.

jinh님의 댓글

jinh 작성일

위에 소스에서 헤더파일 #include <math.h> 추가하고 컴파일을 하니 이제 데이터를 cm변환, 15cm접근시 동작 소스에서 에러가 나오는데
위에 소스에 적외선센서 범위 10~80cm안에 오면 동작시킬려고 하면 추가해야되는 소스가 있을까요?

master님의 댓글

master 댓글의 댓글 작성일

소스가 어떻게 작성 되어 있는지 모르겠지만
sprintf() 이 함수를 사용하려면
#include <stdio.h> 추가하세요

jinh님의 댓글

jinh 작성일

제가 스튜디오를 안쓰고 코드비전을 사용하는데 헤더가 스튜디오가 필요한가요?

master님의 댓글

master 댓글의 댓글 작성일

컴파일러에 상관없이 sprintf() 이 함수를 사용하려면 #include <stdio.h> 추가하세요

jinh님의 댓글

jinh 작성일

위댓글에 달린 소스에서 적외선 센서 범위에 들어오면 작동하는게 어려워서 질문을 다시합니다.

master님의 댓글

master 댓글의 댓글 작성일

if (distance <= 15)    Warning();            // 15cm 이하로 접근할 경우 동작.
이미 센서 범위에 들어오면 워닝 함수를 실행 하도록 코드를 작성 하셨는데요?
워닝 함수는 질문 소스에 보이지 않으니 만들든지, 워닝함수 대신 다른 코드를 넣으셔야겠습니다만...

jinh님의 댓글

jinh 작성일

정말 답해주셔서 감사합니다. ㅠㅠ
마지막으로 하나 더 질문좀 할려고 합니다.
접근할 때 동작하는 코딩 부분에 워닝함수는 어떻게 작성하는지 알수있을까요.
만약에 워닝함수가 안된다고 하면 다른코드는 어떤걸 써야되는지도 궁금합니다.

master님의 댓글

master 작성일

void Warning(){ // 워닝함수는 메인함수 위에 선언해서 원하는 코드를 함수 내에 작성하면 됩니다.
}
void main(){

master님의 댓글

master 작성일

if (distance <= 15){  // Warning();  // 15cm 이하로 접근할 경우 동작.
  코드를 여기에 작성합니다.
}
워닝함수를 사용하지 않고 코드를 작성하는 것은 위처럼 합니다.

jinh님의 댓글

jinh 작성일

워닝함수를 이용하면 메인함수 위에 for문으로 작성하는건지, 만약 워닝함수를 이용하지 않게되면 워닝괄호에 for문을 넣게되는건지 궁금합니다. 따로 0,1을 안넣고 사용하는지도 궁금합니다.

jinh님의 댓글

jinh 작성일

그리고 괄호안에 들어갈만한 예제가 있을까요

master님의 댓글

master 댓글의 댓글 작성일

제가 도와드릴만큼의 실력을 먼저 갖추셔야 합니다.
c언어 문법부터 알려드리려면 반년 정도는 과외를 받으셔야 합니다.
기간과 비용이 허락한다면 말이죠...
https://www.basic4mcu.com/bbs/board.php?bo_table=gesiyo6&wr_id=63
이런 강좌글을 보면서 혼자서 공부하는 방법도 있습니다.
물론 서적과 웹에도 쉬운 강좌글은 얼마든지 있습니다.
혼자서 공부하는 것이 가장 효율이 높습니다.

jinh님의 댓글

jinh 작성일

아 그렇군요 따로 어떤 소스를 이용해야될지 잘 안나와서 문의드렸습니다. 기본 소스는 이용할줄 아는데 저기에 어떤 소스가 들어가는게 헷갈리네요.

master님의 댓글

master 댓글의 댓글 작성일

많은 예제를 학습해야지 응용이 가능하게 됩니다.
지금 질문은 알파벳은 외웠는데 외국인과 간단한 인사를 어떻게 해야 하는지 묻는 것과 같습니다.

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

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은 질문게시판에서만 작성 가능합니다. 스태프 19-01-15 10572
공지 사이트 이용 안내댓글[25] master 17-10-29 30471
질문 라즈베리파이4 신형 선택문제댓글[1] 새글 maximum 22-06-26 15
질문 음전압 ADC댓글[1] 새글 412904 22-06-26 14
질문 아두이노 센서값 출력 질문입니다!댓글[1] 아궁2 22-06-24 50
질문 ATmega128, ATmega28 RS232통신 이미지첨부파일 Moon4201 22-06-24 58
답변 답변글 답변 : ATmega128, ATmega28 RS232통신댓글[1] master 22-06-25 52
질문 서보모터, 온습도센서 코드 질문댓글[2] 첨부파일 kshdlfaldfh 22-06-22 69
답변 답변글 답변 : 서보모터, 온습도센서 코드 질문댓글[15] master 22-06-22 89
질문 steppermulti5 질문 응애 22-06-21 57
답변 답변글 답변 : steppermulti5 질문댓글[1] master 22-06-22 63
질문 atmega128 avr usart 질문 snoflak 22-06-21 120
답변 답변글 답변 : atmega128 avr usart 질문댓글[5] master 22-06-21 163
질문 사용자 정의 함수 변환 하는 방법댓글[2] 이미지첨부파일 da0800 22-06-21 95
질문 atmega128댓글[1] 이미지 양의노래 22-06-20 140
질문 아두이노 동시동작 재질문댓글[9] 이미지첨부파일 죠르디 22-06-20 125
질문 초음파센서로 dc모터 제어하기댓글[1] 첨부파일 난쟁2 22-06-20 136
질문 아두이노 동시동작댓글[7] 죠르디 22-06-19 123
질문 ATMEGA128 UART,FND 연동 질문 JMOD 22-06-19 179
답변 답변글 답변 : ATMEGA128 UART,FND 연동 질문댓글[1] master 22-06-20 77
질문 atmeg128 질문이요댓글[1] 이미지첨부파일 공대생er 22-06-18 133
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨 22-06-18 140
답변 답변글 답변 : atmega128 초음파 센서로 신호등 시간초 늘리기댓글[1] master 22-06-18 161
질문 atmega128댓글[2] 망경이 22-06-18 173
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다. (온도에따른 자동 수동 선풍기 )댓글[1] 따랑해영 22-06-18 181
답변 답변글 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다. (온도에따른 자동 수동 선풍기 )댓글[1] 이미지첨부파일 따랑해영 22-06-19 103
답변 답변글 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다. (온도에따른 자동 수동 선풍기 ) 앱인벤… 이미지첨부파일 따랑해영 22-06-19 677
질문 서보모터와 초음파센서댓글[1] 브링미히어 22-06-17 170
질문 LCD 도와주세요 ㅜㅠㅠㅠ댓글[2] 이미지첨부파일 dentist22 22-06-17 170
질문 안녕하세요 atmega128 질문드리고 싶습니다. (자동 분리수거 기계, 소리 주파수 변환)댓글[3] dlcldl 22-06-17 249
게시물 검색

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