BASIC4MCU | 질문게시판 | avr 미세먼지 led 추가
페이지 정보
작성자 jasmint 작성일2019-11-21 17:06 조회8,950회 댓글1건본문
gp2y1014 미세먼지 센서 구동 소스입니다.
여기서 미세먼지 값을 led로 표시하고 싶은데
미세먼지 기준 좋음: 0~15ug/m3 / 보통 16 ~ 35ug/m3 / 나쁨 36이상
이렇게 3단계로 구분하여 led 3가지 색으로 구분하고 싶습니다.
led 코드를 미세먼지센서랑 어떻게 합칠 수 있나요??
#include <avr/io.h> //AVR 입출력 헤더파일을 포함합니다.#include <avr/delay.h> //delay 지연용 헤더파일을 포함합니다.int main(void){DDRB = 0xFF; //DDRB의 모든 핀의 데이터 방향을 출력으로 설정합니다. (0b11111111)PORTB = 0x00; //구동 시스템이 엑티브 low 일 때 PORTB에 5V를 출력합니다.//액티브 high 일 시에는 PORTV에 0V를 출력합니다.}
while(1)//미세먼지 센서 동작 알고리즘
{ PORTB=0x00; //LOW-active 적외선 LED동작
delay_us(280); //0.28ms 딜레이
ADCSRA=ADCSRA|0x50; // ADCSRA OR 01010000 1001 0101 OR 0101 0000=1101 0101
// ADC start&Flag Clear
while(!(ADCSRA&0x10)); // ADCSRA 레지스터 값 AND 0001 0000 이 0001 0000 과 다른가? 다르다 1 같다 0
// 따라서 같으면 While(0)으로 루프탈출,Flag가 1이 된다는 것은 변환완료의 의미
// 32분주비로 26us사용됨
ADC_finedust=(ADCL+(ADCH<<8)); //10비트 분해능으로 ADC값 저장
delay_us(14); //0.04ms 딜레이
PORTB=0xFF; //적외선 LED 끔
delay_us(9680); //9.68ms 동안 기다림
}
}
댓글 1
조회수 8,950master님의 댓글
master 작성일
미세먼지 동작은 제대로 되나요?
미세먼지 코드부터 제대로 동작하도록 만드시고
LED 켜는 것도 기초적인 내용이고
if문 사용법도 기초적인 내용이라서
이 정도의 내용은 스스로 하셔야합니다.