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

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

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

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

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

BASIC4MCU > 질문게시판

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

페이지 정보

작성자 master 작성일18-10-26 15:33 조회538회 댓글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

조회수 : 538

등록된 댓글이 없습니다.

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[9] master  17-10-29
공지 [무료 공개] 소스코드 하이라이트 v2.0 beta [… 댓글[1] 첨부파일master  18-01-23
질문 val 값 전달에 대해서 .. 푸링이 새글 17:23
질문 c언어 모터 순방향 구동 및 역방향 구동 프로그램 세계제일초보 새글 13:35
질문 아두이노로 구현한 기능 코드를 다른 mcu로 코딩 많이… 댓글[1] 눈티이 새글 19-09-19
질문 아두이노 타이머 멀티태스킹 질문 master 새글 19-09-19
질문 혹여나 습도값을 슬라이더로 바꿀 수 있을까요? 댓글[2] 첨부파일푸링이  19-09-16
질문 아두이노 포크레인 중 스텝모터질문 댓글[1] 노은우  19-09-16
질문 아트메가 댓글[2] 전자어렵  19-09-16
답변 답변 : 아트메가 master  19-09-18
질문 도와주세요 ㅠㅠ 댓글[1] 민서가또  19-09-16
질문 아두이노 if문 실행문제 댓글[1] 첨부파일sun0100  19-09-16
질문 아트메가128 댓글[2] 전자어렵  19-09-15
답변 답변 : 아트메가128 댓글[4] master  19-09-15
질문 아두이노 IR센서 코딩질문입니다 댓글[2] rkskek  19-09-15
질문 아두이노 외부전원 질문드립니다! 댓글[2] 빵빵판  19-09-15
질문 Timer1_CTC 연습중인데요.. 댓글[4] 초짜  19-09-13
질문 안녕하세요, 인터페이스까지는 완료했습니다 ! 댓글[12] 첨부파일푸링이  19-09-12
질문 아래 앱인벤터 글에 이어서.. 댓글[1] 첨부파일푸링이  19-09-11
질문 memcmpf 질문이요 댓글[2] 초짜  19-09-10
질문 아두이노 네오픽셀 질문드립니다. 댓글[1] 호기심왕  19-09-10
질문 앱인벤터를 통해 스텝모터를 습도조건에 따라 움직이게 하… 댓글[5] 푸링이  19-09-10
질문 atmega128 의 PWM 모드 질문이요 댓글[6] 초짜  19-09-06
질문 아두이노 서보모터 제어문제입니다 ㅠ 댓글[3] 첨부파일졸업좀시켜줘요  19-09-05
질문 코딩질문이므니다.. 댓글[1] 첨부파일베이식  19-09-04
질문 아두이노 Oscillator.h 라이브러리 다운 하는법 댓글[1] bbhu  19-09-02
질문 atmega128a 질문이요 댓글[1] 초짜  19-08-30
질문 아두이노 이전 고분해능 엔코더 질문에 추가 궁금점이 있… 댓글[1] 첨부파일모터무  19-08-30
질문 스크래치X로 아두이노 제어 댓글[1] 승희엄마  19-08-29
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전