รวมโค้ด 2 โค้ดนี้ยังไงครับ ผมรวมแล้วใช้งานได้แค่โค้ดเดียวครับ
ช่วยผมทีครับรวมโค้ดยังไงครับ
โค้ดที่ 1
#include <FirebaseESP8266.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti WiFiMulti;
#define FIREBASE_HOST "esp8266-93afd-rtdb.firebaseio.com"
#define FIREBASE_AUTH "v6vPF7jLO35TN0Cv6c9Xa7UnsCH8kQUh2Y"
//เซ็นเซอร์เสียง
int sound_sensor = D1;
int LED3 = D6;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
// WiFi Access Config
#define WIFI_SSID "TP-Link"
#define WIFI_PASSWORD "12054213"
#define LED1 D0
#define LED2 D5
FirebaseData firebaseData;
FirebaseJson json;
void setup() {
Serial.end();
Serial.begin(9600);
delay(10);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print ("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(sound_sensor, INPUT);
pinMode(LED3, OUTPUT);
}
int x, y;
void loop() {
//Firebase
if (Firebase.getInt(firebaseData, "/sw1")) {
if (firebaseData.dataType() == "int") {
Serial.print(" LED1 : ");
Serial.println(firebaseData.intData());
x = firebaseData.intData();
}
}
else {
Serial.println(firebaseData.errorReason());
}
if (Firebase.getInt(firebaseData, "/sw2")) {
if (firebaseData.dataType() == "int") {
Serial.print(" LED2 : ");
Serial.println(firebaseData.intData());
y = firebaseData.intData();
}
}
else {
Serial.println(firebaseData.errorReason());
}
digitalWrite(LED1, x);
digitalWrite(LED2, y);
}
โค้ดที่2
int sound_sensor = D1;
int LED3 = D6;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
void setup() {
pinMode(sound_sensor, INPUT);
pinMode(LED3, OUTPUT);
}
void loop() {
int status_sensor = digitalRead(sound_sensor);
if (status_sensor == 0)
{
if (clap == 0)
{
detection_range_start = detection_range = millis();
clap++;
}
else if (clap > 0 && millis()-detection_range >= 100)
{
detection_range = millis();
clap++;
}
}
if (millis()-detection_range_start >= 500)
{
if (clap == 2)
{
if (!status_lights)
{
status_lights = true;
digitalWrite(LED3, HIGH);
Serial.print(" LED3 : ");
}
else if (status_lights)
{
status_lights = false;
digitalWrite(LED3, LOW);
Serial.print(" LED3 : ");
}
}
clap = 0;
}
}