질문게시판 > 답변 : 미세먼지센서 코드 관련하여 질문 드립니다.

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 미세먼지센서 코드 관련하여 질문 드립니다.

페이지 정보

작성자 master 작성일18-10-26 15:33 조회837회 댓글0건

본문

 

// DateTime : 2018-10-26 오후 3:38:11
// by Ok-Hyun Park
//
#define  U32 unsigned long
//
#include <SoftwareSerial.h>
SoftwareSerial mySerial1(13,11);
SoftwareSerial mySerial2(10,9);
unsigned char Send_data[5]={0x11,0x02,0x0b,0x01,0xE1}; // 농도읽는명령
unsigned char RxBuf[20];   // data buffer
U32 PM25_1,PM25_2;         // PM10; // 농도저장변수: 각 32bit(8bit*4=32)
unsigned char recv_cnt=0;
//
void Send_CMD1(void){ for(int i=0;i<5;i++){ mySerial1.write(Send_data[i]); delay(1); } }
void Send_CMD2(void){ for(int i=0;i<5;i++){ mySerial2.write(Send_data[i]); delay(1); } }
//
unsigned char Checksum_cal(void){
  unsigned char count,SUM=0;
  for(count=0count<19count++)SUM+=RxBuf[count];
  return 256-SUM;
}
//
void setup(){
  pinMode(13,INPUT); pinMode(11,OUTPUT);
  Serial.begin(9600);
  while(!Serial);
  mySerial1.begin(9600);
  mySerial2.begin(9600);
  while(!mySerial);
}
//
void loop(){
  //-----------------------------------------------------------------------------------------------------
  delay(500);
  mySerial1.listen();
  Send_CMD1();
  while(1){
    if(mySerial1.available()){ RxBuf[recv_cnt++]=mySerial.read(); if(recv_cnt==20){ recv_cnt=0break; } }
  }
  //
  if(Checksum_cal()==RxBuf[19]){
    PM25_1=(U32)RxBuf[3]<<24|(U32)RxBuf[4]<<16|(U32)RxBuf[5]<<8|(U32)RxBuf[6];
    Serial.write("PM2.5-1: "); Serial.println(PM25_1);
  }
  elseSerial.write("PM2.5-1: CHECKSUM Error"); }
  //-----------------------------------------------------------------------------------------------------
  delay(500);
  mySerial2.listen();
  Send_CMD2();
  while(1){
    if(mySerial2.available()){ RxBuf[recv_cnt++]=mySerial.read(); if(recv_cnt==20){ recv_cnt=0break; } }
  }
  //
  if(Checksum_cal()==RxBuf[19]){
    PM25_2=(U32)RxBuf[3]<<24|(U32)RxBuf[4]<<16|(U32)RxBuf[5]<<8|(U32)RxBuf[6];
    Serial.write("PM2.5-2: "); Serial.println(PM25_2);
  }
  elseSerial.write("PM2.5-2: CHECKSUM Error"); }
  //-----------------------------------------------------------------------------------------------------
}

 

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

댓글 : 0

조회수 : 837

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[10] master  17-10-29
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [… 댓글[1] 첨부파일master  18-01-23
질문 atmega128 while 속 if문 실행 문제 이동욱 새글 11:44
답변 답변 : atmega128 while 속 if문 실행 … master 새글 18:25
질문 Limit Sensor 를 이용한 LED의 자동 작동에… 첨부파일아두이프로 새글 10:40
답변 답변 : Limit Sensor 를 이용한 LED의 자… 댓글[1] master 새글 11:15
질문 HC-11을 이용하여 1:N 통신중입니다. 댓글[3] 아두이노배우기 새글 20-02-23
질문 스텝모터 정지 댓글[2] 아두이노배우기 새글 20-02-23
답변 답변 : 스텝모터 정지 댓글[2] master 새글 20-02-23
질문 정말 감사합니다. 박취  20-02-19
질문 ov9655카메라와 stm32f4 보드를 이용한 영상처… 댓글[7] flap  20-02-19
질문 GLCD 텍스트 출력 댓글[2] 전자학습자  20-02-17
질문 아두이노 HC-11 통신관련입니다. 아두이노배우기  20-02-15
답변 답변 : 아두이노 HC-11 통신관련입니다. master  20-02-16
답변 답변 : 답변 : 아두이노 HC-11 통신관련입니다. 아두이노배우기  20-02-16
질문 led 불켜기 마스터 슬레이브 댓글[1] 공용  20-02-12
답변 답변 : led 불켜기 마스터 슬레이브 master  20-02-12
질문 아두이노 코딩 관련 질문입니다. bbeuniii  20-02-12
답변 답변 : 아두이노 코딩 관련 질문입니다. master  20-02-12
질문 uart 관련 질문 (wiegand통신) 댓글[9] 첨부파일jhyun8624  20-02-11
질문 회로, 코딩 문제 첨부파일공기구함  20-02-10
답변 답변 : 회로, 코딩 문제 댓글[2] master  20-02-10
질문 회로, 코딩문제 댓글[2] 첨부파일공기구함  20-02-10
질문 코딩어레이 질문 master  20-02-07
질문 컴파일 오류가나는데, 이유를 모르겠습니다. 댓글[5] 창고지기  20-02-06
질문 IR센서 2개로 LED, DC모터 제어 (입문자입니다 … 창고지기  20-02-05
답변 답변 : IR센서 2개로 LED, DC모터 제어 (입문… 댓글[1] master  20-02-05
질문 [초보]언어부분 접근 방법 문의 댓글[5] 에루후  20-02-04
답변 답변 : [초보]언어부분 접근 방법 문의 댓글[3] 에루후  20-02-05
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전