BASIC4MCU | 질문게시판 | 답변 : 두개의 소스를 합치고 싶습니다ㅠㅜ
페이지 정보
작성자 master 작성일2019-11-14 17:37 조회3,983회 댓글1건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=10728
본문
// MCU BASIC: https://www.basic4mcu.com// DateTime : 2019-11-14 오후 5:36:21// by Ok-Hyun Park//두개의 소스가 있는데 한 아두이노에 작동시켜서 시리얼 모니터로 보고싶은데 제 머리로는 해결이 안 될것 같아서 올려요ㅠㅜ불꽃감지센서를 이용한 소스이고 불꽃을 감지하면 부저가 울리고 led가 켜지는 코딩입니다.//#include <OneWire.h>#include <DallasTemperature.h>#define ONE_WIRE_BUS 2OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);DeviceAddress insideThermometer;//int led=13; // LED 핀 번호 13int buzzer=6; // BUZZER 핀 번호 6int flame=4; // 불꽃감지 센서 핀 번호 2int state=0; // 불꽃감지 센서의 상태 값 저장 변수//void setup(void){pinMode(led,OUTPUT); // LED를 출력으로 설정pinMode(buzzer,OUTPUT); // BUZZER를 출력으로 설정pinMode(flame,INPUT); // 불꽃 감지 센서를 입력으로 설정Serial.begin(9600); // 시리얼 통신,속도는 9600//Serial.println("Dallas Temperature IC Control Library Demo");Serial.print("Locating devices...");sensors.begin();Serial.print("Found "); Serial.print(sensors.getDeviceCount(),DEC); Serial.println(" devices.");Serial.print("Parasite power is: ");if(sensors.isParasitePowerMode())Serial.println("ON"); else Serial.println("OFF");if(!sensors.getAddress(insideThermometer,0))Serial.println("Unable to find address for Device 0");Serial.print("Device 0 Address: "); Serial.println();sensors.setResolution(insideThermometer,9);Serial.print("Device 0 Resolution: "); Serial.println(sensors.getResolution(insideThermometer),DEC);}//void printTemperature(DeviceAddress deviceAddress){float tempC=sensors.getTempC(deviceAddress);Serial.print("Temp C: "); Serial.print(tempC); Serial.print(" Temp F: ");Serial.println(DallasTemperature:: toFahrenheit(tempC));}//void loop(void){Serial.print("Requesting temperatures...");sensors.requestTemperatures();Serial.println("DONE");printTemperature(insideThermometer);//state=digitalRead(flame); // 불꽃 감지 센서값 입력받음digitalWrite(led,LOW); // 초기 LED값을 0FF로 설정해주기noTone(buzzer); // 초기에 BUZZER를 출력하지 않기.if(state==0){ // 불꽃감지 센서의 값이 0일때(불꽃이 감지 되었을 때)Serial.println("ON"); // 시리얼 통신에 센서값 출력해 주기.digitalWrite(led,HIGH); // LED ONtone(buzzer,500,100); // 500-음의 높낮이,100-부저 지속 시간delay(100);}else{ // 불꽃감지 센서의 값이 1일때(불꽃이 감지 되지 않았을 때)Serial.println("OFF"); // 시리얼 통신에 센서값 출력해 주기.digitalWrite(led,LOW); // LED OFFnoTone(buzzer); // BUZZER OFF}delay(1000);}//void printAddress(DeviceAddress deviceAddress){for(uint8_t i=0; i<8; i++){if(deviceAddress[i]<16)Serial.print("0");Serial.print(deviceAddress[i],HEX);}}
코드를 분석해서 원하는대로 수정하세요
댓글 1
조회수 3,983고수님들도와주세요ㅠㅠ님의 댓글
고수님들도와주세요ㅠㅠ 작성일작동이 너무 잘되네요ㅠㅜ마스터님 답변 정말 정말 감사합니다!!