BASIC4MCU | 질문게시판 | 두개의 소스를 합치고 싶습니다ㅠㅜ
페이지 정보
작성자 고수님들도와주세요ㅠㅠ 작성일2019-11-13 21:59 조회53회 댓글0건본문
두개의 소스가 있는데 한 아두이노에 작동시켜서 시리얼 모니터로 보고싶은데 제 머리로는 해결이 안 될것 같아서 올려요ㅠㅜ
불꽃감지센서를 이용한 소스이고 불꽃을 감지하면 부저가 울리고 led가 켜지는 코딩입니다.
int led = 13; // LED 핀 번호 13
int buzzer = 6; // BUZZER 핀 번호 6
int flame = 4; // 불꽃감지 센서 핀 번호 2
int state = 0; // 불꽃감지 센서의 상태 값 저장 변수
void setup() {
pinMode(led, OUTPUT); // LED를 출력으로 설정
pinMode(buzzer, OUTPUT); // BUZZER를 출력으로 설정
pinMode(flame, INPUT); // 불꽃 감지 센서를 입력으로 설정
Serial.begin(9600); // 시리얼 통신, 속도는 9600
}
void loop() {
state = digitalRead(flame); // 불꽃 감지 센서값 입력받음
digitalWrite(led, LOW); // 초기 LED값을 0FF로 설정해주기
noTone(buzzer); // 초기에 BUZZER를 출력하지 않기.
if (state == 0){ // 불꽃감지 센서의 값이 0일때(불꽃이 감지 되었을 때)
Serial.println("ON"); // 시리얼 통신에 센서값 출력해 주기.
digitalWrite(led, HIGH); // LED ON
tone(buzzer, 500, 100); // 500 - 음의 높낮이, 100 - 부저 지속 시간
delay(100);
}
else { // 불꽃감지 센서의 값이 1일때 (불꽃이 감지 되지 않았을 때)
Serial.println("OFF"); // 시리얼 통신에 센서값 출력해 주기.
digitalWrite(led, LOW); // LED OFF
noTone(buzzer); // BUZZER OFF
}
delay(1000);
}
온도센서를 이용해서 온도를 알수 있는 소스 입니다.
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer;
void setup(void)
{
Serial.begin(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.print(sensors.getResolution(insideThermometer), DEC);
Serial.println();
}
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);
void printAddress(DeviceAddress deviceAddress)
{
for (uint8_t i = 0; i < 8; i++)
{
if (deviceAddress[i] < 16) Serial.print("0");
Serial.print(deviceAddress[i], HEX);
}
}
너무 동작 시켜 보고 싶어서 올려봅니다..
댓글 0
조회수 53등록된 댓글이 없습니다.