BASIC4MCU | 질문게시판 | 답변 : 아두이노 소스
페이지 정보
작성자 master 작성일2018-06-05 19:01 조회5,814회 댓글2건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=1486
작성일
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2018-06-05 오후 7:04:05// 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번 핀으로 연결//void setup(){pinMode(red,OUTPUT); pinMode(blue,OUTPUT);Serial.begin(9600);bluetooth.begin(9600);gps.begin(9600);}//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 점등}//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;}
댓글 2
조회수 5,814cucumber님의 댓글
cucumber 작성일
압축파일에 있는 심장박동센서도 추가 부탁드려요
그리고 gps값 심장박동값 온도값이 시리얼 모니터에 순차적으로 뜨게 할수는 없나요??
master님의 댓글
master
압축파일은 무슨 말인지 모르겠습니다.
//
Serial.write()
Serial.print()
위 함수들의 사용방법을 공부해서
필요 없는 문장은 제거하고, 원하는대로 수정해서 출력하세요