질문게시판 > 답변 : 아두이노 소스코드합치기 질문

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

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

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

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

BASIC4MCU > 질문게시판

답변 : 아두이노 소스코드합치기 질문

페이지 정보

작성자 master 작성일19-11-30 05:56 조회11,072회 댓글1건

본문

 

// DateTime : 2019-11-30 오전 5:55:31
// by Ok-Hyun Park
//----------------------------------------------
#include "MQ131.h"
MQ131 sensor(12,A13,LOW_CONCENTRATION,10000);
//
#include "MQ7.h"
MQ7 mq7(A8,5.0);
//
#include <U8glib.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#include <Wire.h>
#include "RTClib.h"
// 0.96인치 128x64 OLED
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C/TWI
// Setup RTC
RTC_DS3231 RTC;
int  monthIndex[122]={0,3,6,9,12,15,18,21,24,27,30,33};
String thisMonth="";
String thisTime="";
String thisDay="";
// DHT22 온도/습도 센서
#define DHTPIN            22 // Pin which is connected to the DHT sensor.
#define DHTTYPE           DHT11 // DHT 22(AM2302)
DHT_Unified dht(DHTPIN,DHTTYPE);
uint32_t dht22DelayMS=0;
//온도 이미지삽입
const uint8_t temp[]PROGMEM={
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,
  0x07,0xFF,0xC0,0x07,0xFF,0x87,0xFF,0xC0,0x07,0x01,0xC7,0x00,0x00,0x07,0x01,0xC7,
  0x00,0x00,0x07,0xFF,0xC7,0x00,0x00,0x07,0xFF,0x87,0x00,0x00,0x01,0xFF,0x07,0xFF,
  0xC0,0x00,0x38,0x07,0xFF,0xC0,0x0F,0xFF,0xC0,0x38,0x00,0x0F,0xFF,0xC0,0x38,0x00,
  0x07,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0x38,0x00,0x07,0x00,0x00,0x38,0x00,0x07,
  0xFF,0xCF,0xFF,0xC0,0x07,0xFF,0xCF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
//습도 이미지삽입
const uint8_t hum[]PROGMEM={
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x07,0xFF,0xC0,0x01,0xFE,
  0x07,0xFF,0xC0,0x01,0xCF,0x07,0x00,0x00,0x03,0xC7,0x87,0x00,0x00,0x07,0x83,0xC7,
  0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x0F,0xFF,0xC7,0xFF,0xC0,0x0F,0xFF,0xC7,0xFF,
  0xC0,0x00,0x00,0x00,0x38,0x00,0x07,0x03,0xC0,0x38,0x00,0x07,0xFF,0xC0,0x38,0x00,
  0x07,0xFF,0xC0,0x38,0x00,0x07,0x03,0xC0,0x38,0x00,0x07,0xFF,0xCF,0xFF,0xC0,0x07,
  0xFF,0xCF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
//
void setup(){
  Wire.begin();
  RTC.begin();
  dht.begin();
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  dht22DelayMS=sensor.min_delay/1000;
  //
  Serial.begin(115200);
  //
  sensor.calibrate();
  Serial.print("R0=");           Serial.print(sensor.getR0());         Serial.println(" Ohms");
  Serial.print("Time to heat="); Serial.print(sensor.getTimeToRead()); Serial.println(" s");
}
//
void loop(){
  float temperature,humidity;
  getDHT11Data(&temperature,&humidity);
  u8g.firstPage();
  do{
    draw();
    u8g.setFont(u8g_font_fub14); u8g.setPrintPos(35,35); u8g.print(": "); u8g.print(temperature); u8g.print("\xb0""C"); //온도기호삽입
    u8g.setFont(u8g_font_fub14); u8g.setPrintPos(35,58); u8g.print(": "); u8g.print(humidity);    u8g.print("%");
    delay(dht22DelayMS);
  }while(u8g.nextPage());
  //----------------------------------
  Serial.print(mq7.getPPM()); Serial.println("ppm");
  //----------------------------------
  sensor.begin();
  Serial.print("Sampling...");
  Serial.print("Concentration O3: "); Serial.print(sensor.getO3(PPM));   Serial.println(" ppm");
  Serial.print("Concentration O3: "); Serial.print(sensor.getO3(PPB));   Serial.println(" ppb");
  Serial.print("Concentration O3: "); Serial.print(sensor.getO3(MG_M3)); Serial.println(" mg/m3");
  Serial.print("Concentration O3: "); Serial.print(sensor.getO3(UG_M3)); Serial.println(" ug/m3");
  delay(60000);
}
//
void draw(void){
  u8g.setFont(u8g_font_7x13r);
  DateTime now=RTC.now();
  //
  thisDay=String(now.day(),DEC)+"/";
  thisMonth=String(now.month(),DEC)+"/";
  thisDay=thisDay+thisMonth+String(now.year(),DEC);
  const char *newDay=(const char*)thisDay.c_str();
  u8g.drawStr(50,10,newDay);
  //
  thisTime="";
  if(now.hour()  <10){ thisTime="0"+thisTime; } thisTime=thisTime+String(now.hour())+": ";
  if(now.minute()<10){ thisTime=thisTime+"0"; } thisTime=thisTime+String(now.minute()); //+": ";
  //
  const char *newTime=(const char*)thisTime.c_str();
  u8g.drawStr(5,10,newTime);
  u8g.drawBitmapP(0,14,5,24,temp);
  u8g.drawBitmapP(0,38,5,24,hum);
}
//
void getDHT11Data(float *temperature,float *humidity){
  sensors_event_t event;
  dht.temperature().getEvent(&event);
  if(!isnan(event.temperature)){ *temperature=event.temperature; }
  else                         { *temperature=-1; }
  //
  dht.humidity().getEvent(&event);
  if(!isnan(event.relative_humidity)){ *humidity=event.relative_humidity; }
  else                               { *humidity=-1; }
}

 

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

댓글 : 1

조회수 : 11,072

구슬박은놈님의 댓글

구슬박은놈 작성일

감사합니다 !

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
공지 MCU, AVR, 아두이노 등 전자공학에 관련된 질문은… 스태프  19-01-15
공지 사이트 이용 안내 댓글[29] master  17-10-29
질문 타이머 인터럽트를 이용한 LCD제어 질문입니다. Tell 새글 23-09-27
답변 답변 : 타이머 인터럽트를 이용한 LCD제어 질문입니다… 댓글[1] master 새글 23-09-28
질문 아두이노 무한루프 코드 질문... 댓글[1] vnpaz 새글 23-09-27
질문 질문있습니다ㅠㅠ 부탁드려요 댓글[1] keldeo 새글 23-09-27
질문 0 ~ 99 이중 for문으로 작성하는법! 댓글[2] 상어  23-09-26
질문 리튬배터리로 화면 출력 질문드립니다 ! 댓글[1] 멘탈나간다  23-09-26
질문 lcd,바코드,서보모터, 아두이노 질문 드립니다. ㅠㅠ 댓글[1] 아두이노개발자  23-09-26
질문 stm32에서 변수 값을 유지하는 방법 댓글[1] 라칸  23-09-26
질문 안녕하세요 스위치로 led 제어 관련 질문이 있습니다 댓글[1] 노형빈  23-09-25
질문 16X16 도트 매트릭스 구동방법 질문입니다. 댓글[1] 첨부파일맹균  23-09-25
질문 stm32에서 RTC 시간 함수 쓰는데 의문점 댓글[1] 라칸  23-09-25
질문 GPS 모듈 관련 질문입니다. 댓글[3] 지구과학  23-09-22
질문 아두이노 블루투스와 초음파센서를 이용한 장애물 정지 댓글[2] 둘둘이  23-09-22
답변 답변 : 아두이노 블루투스와 초음파센서를 이용한 장애물… 댓글[1] master  23-09-25
질문 stm32 보드에서 시간설정과 불러오기를 하는데 댓글[5] 라칸  23-09-22
질문 아두이노 인터럽트 질문입니다. 댓글[2] Tell  23-09-21
답변 답변 : 아두이노 인터럽트 질문입니다. 댓글[1] master  23-09-22
질문 아두이노와 거리 감지 센서의 전류 관련 댓글[1] hmkim  23-09-21
질문 아두이노 코딩 질문있습니다. 도와주세요.... 댓글[1] 첨부파일vnpaz  23-09-20
질문 아두이노를 사용한 dc모터 위치제어 댓글[2] 모터위치  23-09-20
질문 stm32 디버깅이나 rst버튼 없이 하는 방법좀 댓글[1] 라칸  23-09-20
질문 LCD에 숫자 표기법을 바꾸고 싶습니 댓글[2] Bs드리프터  23-09-19
질문 알코올 측정기(MQ-3) 관련 질문 소오금  23-09-18
답변 답변 : 알코올 측정기(MQ-3) 관련 질문 master  23-09-19
질문 스텝모터 제어하는 소스파일 수정방법 질문드립니다. Bs드리프터  23-09-15
답변 답변 : 스텝모터 제어하는 소스파일 수정방법 질문드립니… 댓글[1] master  23-09-15
질문 atmega 128을 이용한 악기 튜너기 댓글[1] 아두이노짱  23-09-15
질문 stm32 보드 ip주소 찾는법 댓글[1] 라칸  23-09-13
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전