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

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

답변 : 적외선 센서 코딩

페이지 정보

작성자 master 작성일20-06-14 07:47 조회210,621회 댓글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,621

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 댓글의 댓글작성일

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

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[25] master  17-10-29
질문 라즈베리파이4 신형 선택문제 댓글[1] maximum 새글 22-06-26
질문 음전압 ADC 댓글[1] 412904 새글 22-06-26
질문 아두이노 센서값 출력 질문입니다! 댓글[1] 아궁2  22-06-24
질문 ATmega128, ATmega28 RS232통신 첨부파일Moon4201  22-06-24
답변 답변 : ATmega128, ATmega28 RS232… 댓글[1] master  22-06-25
질문 서보모터, 온습도센서 코드 질문 댓글[2] 첨부파일kshdlfaldfh  22-06-22
답변 답변 : 서보모터, 온습도센서 코드 질문 댓글[15] master  22-06-22
질문 steppermulti5 질문 응애  22-06-21
답변 답변 : steppermulti5 질문 댓글[1] master  22-06-22
질문 atmega128 avr usart 질문 snoflak  22-06-21
답변 답변 : atmega128 avr usart 질문 댓글[5] master  22-06-21
질문 사용자 정의 함수 변환 하는 방법 댓글[2] 첨부파일da0800  22-06-21
질문 atmega128 댓글[1] 양의노래  22-06-20
질문 아두이노 동시동작 재질문 댓글[9] 첨부파일죠르디  22-06-20
질문 초음파센서로 dc모터 제어하기 댓글[1] 첨부파일난쟁2  22-06-20
질문 아두이노 동시동작 댓글[7] 죠르디  22-06-19
질문 ATMEGA128 UART,FND 연동 질문 JMOD  22-06-19
답변 답변 : ATMEGA128 UART,FND 연동 질문 댓글[1] master  22-06-20
질문 atmeg128 질문이요 댓글[1] 첨부파일공대생er  22-06-18
질문 atmega128 초음파 센서로 신호등 시간초 늘리기 서동씨  22-06-18
답변 답변 : atmega128 초음파 센서로 신호등 시간초… 댓글[1] master  22-06-18
질문 atmega128 댓글[2] 망경이  22-06-18
질문 앱인벤터 이용해서 수동 자동 할라고하는데 ..잘안됩니다… 댓글[1] 따랑해영  22-06-18
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 ..… 댓글[1] 첨부파일따랑해영  22-06-19
답변 질문 : 앱인벤터 이용해서 수동 자동 할라고하는데 .… 첨부파일따랑해영  22-06-19
질문 서보모터와 초음파센서 댓글[1] 브링미히어  22-06-17
질문 LCD 도와주세요 ㅜㅠㅠㅠ 댓글[2] 첨부파일dentist22  22-06-17
질문 안녕하세요 atmega128 질문드리고 싶습니다. (자… 댓글[3] dlcldl  22-06-17
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전