BASIC4MCU | 질문게시판 | 답변 : 아두이노 소스 2개만 합쳐주세요
페이지 정보
작성자 master 작성일2018-06-07 16:07 조회8,186회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1549
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-07 오후 4:10:52// by Ok-Hyun Park#include <SoftwareSerial.h>#define BT_RXD 8#define BT_TXD 7SoftwareSerial bluetooth(BT_RXD,BT_TXD);SoftwareSerial gps(11,12); //tx,rx를 각각의 핀에 연결//#include <OneWire.h>int DS18S20_Pin=2; //온도센서를 2번 핀으로 연결OneWire ds(DS18S20_Pin); //2번 핀과 연결되 OneWire 객체 생성//int red=11; //빨간색led를 11번 핀으로 연결int blue=10; //파란색led를 10번 핀으로 연결////심장박동 모니터링 소스#define USE_ARDUINO_INTERRUPTS true // Set-up low-level interrupts for most acurate BPM math.#include <PulseSensorPlayground.h>PulseSensorPlayground pulseSensor;////심장박동 모니터링 소스const int PulseWire=A0; // PulseSensorconst int LED13=13; // on-board Arduino LEDint Threshold=550; // Determine which Signal to "count as a beat" and which to ignore.//void setup(){pinMode(red,OUTPUT); pinMode(blue,OUTPUT);Serial.begin(9600);bluetooth.begin(9600);gps.begin(9600);//심장박동 모니터링 소스//Serial.begin(9600);pulseSensor.analogInput(PulseWire);pulseSensor.blinkOnPulse(LED13);pulseSensor.setThreshold(Threshold);//if(pulseSensor.begin()){Serial.println("We created a pulseSensor Object!");}}//void loop(){if(gps.available()){ Serial.write(gps.read()); }//if(bluetooth.available()){ Serial.write(bluetooth.read()); }if(Serial.available()){ bluetooth.write(Serial.read()); }//float temperature=getTemp(); //온도 측정 후 변수에 저장Serial.println(temperature);if(temperature<24){ digitalWrite(red,LOW); digitalWrite(blue,HIGH); delay(100); } //온도가 24도 이하일 때,파란색 LED 점등else { digitalWrite(red,HIGH); digitalWrite(blue,LOW); delay(100); } //온도가 24도 이상일 때,빨간색 LED 점등//심장박동 모니터링 소스int myBPM=pulseSensor.getBeatsPerMinute();if(pulseSensor.sawStartOfBeat()){ Serial.print("BPM: "); Serial.println(myBPM); }delay(200);}//float getTemp(){ //온도 측정 후 반환하는 함수byte data[12];byte addr[8];if(!ds.search(addr)){ ds.reset_search(); return-1000; }if(OneWire:: crc8(addr,7)!=addr[7]){ Serial.println("CRC is not valid!"); return-1000; }if(addr[0]!=0x10&&addr[0]!=0x28){ Serial.print("Device is not recognized"); return-1000; }ds.reset(); ds.select(addr); ds.write(0x44,1);byte present=ds.reset(); ds.select(addr); ds.write(0xBE);for(int i=0; i<9; i++){ data[i]=ds.read(); }ds.reset_search();byte MSB=data[1]; byte LSB=data[0];float tempRead=((MSB<<8)|LSB);float TemperatureSum=tempRead/16;return TemperatureSum;}
댓글 0
조회수 8,186등록된 댓글이 없습니다.