From c6e00ee3772f785d9ad8a33c5441f1202df7fb96 Mon Sep 17 00:00:00 2001
From: alvin <alvin.limassa@gmail.com>
Date: Mon, 8 Apr 2019 20:54:11 +0700
Subject: [PATCH] Main prog bug fix and node MCU connection

---
 mainProg/mainProg.ino                      | 47 +++++++++++++---------
 nodeMCU/firebase_2/firebase_2.ino          | 28 ++++++-------
 test/serialComArduino/serialComArduino.ino | 15 +++++++
 test/serialComWifi/serialComWifi.ino       | 16 ++++++++
 4 files changed, 74 insertions(+), 32 deletions(-)
 create mode 100644 test/serialComArduino/serialComArduino.ino
 create mode 100644 test/serialComWifi/serialComWifi.ino

diff --git a/mainProg/mainProg.ino b/mainProg/mainProg.ino
index 311c186..d6a4085 100644
--- a/mainProg/mainProg.ino
+++ b/mainProg/mainProg.ino
@@ -44,7 +44,8 @@ int ldrStatus;
 
 // Wifi
 SoftwareSerial s(11,12);
-String distance;
+int distance = 0;
+bool turnoff = false;
 
 void setup() {
   //Wifi
@@ -57,10 +58,9 @@ void setup() {
 
   // setup LCD
   lcd.begin(16,2);
-  lcd.clear();
-  lcd.print(" Kid Protection ");
+  lcd.print("Kid Protection System");
   lcd.setCursor(0, 1);
-  lcd.print("     System     ");
+  lcd.print("-----Apa Aja-----");
 
   // Buzzer
   pinMode(buzzer, OUTPUT);
@@ -79,28 +79,39 @@ void setup() {
   pinMode(ldrPin,INPUT);
 }
 
-void loop() {  
-  if (s.available() >0) {
-    distance = s.read();
-    Serial.print("Data = ");
-    Serial.println(distance);  
-//    tone(buzzer, buzzerFreq); // Send 1KHz sound signal...
-//    delay(1000);
+void loop() {
+  if (s.available() > 0 ) {
+    int result = s.read();
+    if (result != distance) {
+      distance = result;
+      lcd.clear();
+      lcd.print("Anda terpisah ");
+      lcd.print(distance);
+      lcd.print(" m dari anak anda");
+      lcd.setCursor(0, 1);
+      lcd.print("-----Kid Protection System-----");
+      if (distance - result > 100) {
+        turnoff = false;  
+      }
+    }
+    Serial.println(result);  
+    if (distance > 100 && !turnoff) {
+      state = 1;
+    }
   }
-  
-
   reading = digitalRead(buttonpin);
+  // LCD 
+  lcd.scrollDisplayLeft();
+  delay(1000); 
   if (reading == HIGH && previous == LOW){
     if (state == 1){
       state = 0;  
     } else{
       state = 1;  
-    } 
+    }
+    turnoff = true; 
   }
   if (state == 1){
-    // LCD 
-//    lcd.scrollDisplayLeft(); 
-    
     // POT
     potValue = analogRead(potPin); //Read and save analog value from potentiometer 
     
@@ -119,7 +130,7 @@ void loop() {
     
     //led
     ldrStatus = analogRead(ldrPin);
-    Serial.println(ldrStatus);
+//    Serial.println(ldrStatus);
     if (ldrStatus >= 200){
       analogWrite(ledpin,50);  
     } else if (ldrStatus >=50){
diff --git a/nodeMCU/firebase_2/firebase_2.ino b/nodeMCU/firebase_2/firebase_2.ino
index 24163ed..4f77b42 100644
--- a/nodeMCU/firebase_2/firebase_2.ino
+++ b/nodeMCU/firebase_2/firebase_2.ino
@@ -10,11 +10,10 @@
 #define WIFI_PASSWORD "99997777" //99997777
 #define LED D4
 
-SoftwareSerial s(3,1);
+//SoftwareSerial s(3,1);
 
 void setup() {
   pinMode(LED, OUTPUT);
-  s.begin(9600);
   Serial.begin(9600);
   // connect to wifi.
   WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
@@ -26,7 +25,7 @@ void setup() {
   Serial.println();
   Serial.print("connected: ");
   Serial.println(WiFi.localIP());
-  
+
   Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
   if (Firebase.failed()) {
     Serial.print("Error connecting to Firebase");
@@ -47,19 +46,20 @@ void loop() {
   float y = (longc - longp) * cos(latp);
   float distance = deglen*sqrt(x*x + y*y) * 1000;
   int distanceInt = (int)distance;
-  digitalWrite(LED, HIGH);
-  Serial.println(latc,5);
-  Serial.println(longc,5);
-  Serial.println(latp,5);
-  Serial.println(longp,5);
-  if (s.available()>0) {
-    Serial.print("Jarak = ");
-    Serial.println(distanceInt);
-    Serial.println();
-    s.write(distanceInt);  
+  Serial.write(distanceInt);
+//  digitalWrite(LED, HIGH);
+//  Serial.println(latc,5);
+//  Serial.println(longc,5);
+//  Serial.println(latp,5);
+//  Serial.println(longp,5);
+//  if (s.available()>0) {
+//    Serial.print("Jarak = ");
+//    Serial.println(distanceInt);
+//    Serial.println();
+    
     digitalWrite(LED, HIGH);
     delay(500);
     digitalWrite(LED, LOW);
-  }
+//  }
   delay(1000);
 }
diff --git a/test/serialComArduino/serialComArduino.ino b/test/serialComArduino/serialComArduino.ino
new file mode 100644
index 0000000..b06f8f1
--- /dev/null
+++ b/test/serialComArduino/serialComArduino.ino
@@ -0,0 +1,15 @@
+int data; //Initialized variable to store recieved data
+#include<SoftwareSerial.h>
+SoftwareSerial s(11,12);
+void setup() {
+  //Serial Begin at 9600 Baud 
+  s.begin(9600);
+  Serial.begin(9600);
+}
+
+void loop() {
+//  data = Serial.read(); //Read the serial data and store it
+  data = s.read();
+  Serial.println(data); 
+  delay(1000);
+}
diff --git a/test/serialComWifi/serialComWifi.ino b/test/serialComWifi/serialComWifi.ino
new file mode 100644
index 0000000..fe62587
--- /dev/null
+++ b/test/serialComWifi/serialComWifi.ino
@@ -0,0 +1,16 @@
+#include<SoftwareSerial.h> //Included SoftwareSerial Library
+//Started SoftwareSerial at RX and TX pin of ESP8266/NodeMCU
+SoftwareSerial s(3,1);
+
+void setup() {
+  //Serial S Begin at 9600 Baud
+  s.begin(9600);
+  Serial.begin(9600);
+}
+
+void loop() {
+  //Write '123' to Serial
+  s.write(123);
+  Serial.write(123);
+  delay(1000);
+}
-- 
GitLab