BASIC4MCU | 질문게시판 | 답변 : 아두이노 코드 합치는 거 도와주세요
페이지 정보
작성자 master 작성일2018-12-13 14:14 조회5,745회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=6822
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-12-13 오후 2:19:49// by Ok-Hyun Park//#include <DHT.h>#define DHT11_PIN 2int Sensor_pin=2;DHT my_sensor(Sensor_pin,DHT11);////#RST pin->Arduino Digital 9// DAT pin->Arduino Digital 10//SCLK pin->Arduino Digital 11//#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27,16,2); // Init the LCD 16x2//#include <DS1302.h>DS1302 rtc(9,10,11); // Init the DS1302//#define PR A0 //조도 센서#define LED_R 3#define LED_G 5#define LED_B 6//Time t; // Init a Time-data structurechar WEEK[8][3]={ "","MON","TUE","WED","THU","FRI","SAT","SUN"};char HH[2][3]={"AM","PM"};//byte heart[8]={ B00000,B01010,B11111,B11111,B01110,B00100,B00000,B00000};//void setup(){pinMode(LED_R,OUTPUT); pinMode(LED_G,OUTPUT); pinMode(LED_B,OUTPUT);//lcd.init(); lcd.backlight();//rtc.halt(false); rtc.writeProtect(true);// 최초구동시 이 명령을 구동하여 현재시간과 날짜를 넣어주도록 합니다.// 이후에는 지우시고 rtc.writeProtect(false); 를 true로 바꿔주면 됩니다.//rtc.setDOW(THURSDAY); // Set Day-of-Week to FRIDAY//rtc.setTime(12,33,00); // Set the time to 12: 00: 00(24hr format)//rtc.setDate(13,12,2018); // Set the date to August 6th,2010//my_sensor.begin();//Serial.begin(9600);}//unsigned long dht_time=0,rtc_time=0;int hour1,flags;//float x=0,red=0.0,green=0.0,blue=0.0;char str[100];//int temp,humi;//void setColor(float r,float g,float b){analogWrite(LED_R,r); analogWrite(LED_G,g); analogWrite(LED_B,b);}//void loop(){int T=analogRead(PR);if(T<50){red=255*abs(sin(x*(180/PI))); green=255*abs(sin((x+PI/3)*(180/PI))); blue=255*abs(sin((x+(2*PI)/3)*(180/PI)));setColor(red,green,blue);x+=0.00002; if(x>=PI)x=0;delay(2);}else{ digitalWrite(LED_R,LOW); digitalWrite(LED_G,LOW); digitalWrite(LED_B,LOW); }//----------------------------------------------------------if(millis()-dht_time>=2000){ dht_time=millis();temp=my_sensor.readTemperature();humi=my_sensor.readHumidity();//sprintf(str,"T:%3d%cC H:%2d%c",temp,(char)223,t.date,humi,'%');lcd.setCursor(0,1); lcd.print(str);//Serial.print("현재 온도: "); Serial.print(temp);Serial.print("/ 현재 습도: "); Serial.println(humi);}//----------------------------------------------------------if(millis()-rtc_time>=2000){ rtc_time=millis();t=rtc.getTime();if(t.hour>=12){if(t.hour>=13){ hour1=(t.hour)-12; flags=1; }else { hour1=t.hour; flags=1; }}else{ hour1=(t.hour); flags=0; }////lcd.print(t.year);//lcd.print(WEEK[t.dow]);// lcd.print(HH[flags]);sprintf(str,"%02d/%02d %s%02d:%02d:%02d",t.mon,t.date,HH[flags],hour1,t.min,t.sec);lcd.setCursor(0,0); lcd.print(str);//Serial.print(t.year); Serial.print("년 ");Serial.print(t.mon ); Serial.print("월 ");Serial.print(t.date); Serial.print("일 ");Serial.print(HH[flags]);Serial.print(hour1 ); Serial.print(" 시 ");Serial.print(t.min ); Serial.print("분 ");Serial.print(t.sec ); Serial.print("초 ");Serial.println(WEEK[t.dow]);}}
댓글 0
조회수 5,745등록된 댓글이 없습니다.