Jika kereta mendekat .....dan tedeteksi oleh sensor PING maka pintu akan menutup....
dan jika kereta sudah mencapat tujuan....an mengenai sensor IR maka...Pintu Palang kereta akan menutup kembali....
sensor IR penutup ini hanya akan bekerja jika benar2 dan hanya kereta yang lewat.....
jika ada orang iseng....Sensor ini tetap tidak bekerja....
Jika Perubahan Data /kereta Lewat ...data 1x akan dikirimkan ke IOT....
Menggunakan Sensor PINg agar memastikan saja..bahwa itu adalah kereta yang lewat,,,,,
karena jika hanya menggunakan senor IR maka benda yag melintas apapun dianggap kereta...
#include <DistanceSRF04.h>
#include <ThingSpeak.h>
#include <Servo.h>
#include<KRwifi.h>
char* ssid = "xxx"; //Ganti xxx dengan nama WiFi / Hotspot
char* pass = "xxx"; //Ganti xxx dengan password WiFi / Hotspot
unsigned long myChannelNumber = ccc;
const char * myWriteAPIKey = "ccc";
const int IR = 8;
const int PIN_TRIG = 4;
const int PIN_ECHO = 5;
const int PIN_TRIG2 = 6;
const int PIN_ECHO2 = 7;
int buka = 130;
int tutup = 40;
DistanceSRF04 sonar, sonar2;
Servo pintu;
int sensor;
void setup() {
Serial.begin(9600);
setWifi(ssid, pass);
ThingSpeak.begin(client);
sonar.begin(PIN_ECHO, PIN_TRIG); // Penentuan pin Echo dan Trig
sonar2.begin(PIN_ECHO2, PIN_TRIG2);
pintu.attach(11);
pintu.write(tutup);
pinMode(IR, INPUT);
}
boolean h1;
boolean h2;
String lewat;
void loop() {
sensor = digitalRead(IR);
int jarak1 = sonar.getDistanceCentimeter();
int jarak2 = sonar2.getDistanceCentimeter();
if (jarak1 < 15 && jarak2 < 15) {
pintu.write(buka);
if (h1 == false) {
lewat = "1";
ThingSpeak.writeField(myChannelNumber, 1, lewat, myWriteAPIKey);
h1 = true;
}
}
else {
h1 = false;
}
if (sensor == LOW) {
delay(2000);
pintu.write(tutup);
}
Serial.println("S1 " + String(jarak1));
Serial.println("S2 " + String(jarak2));
// Serial.println("hitung " + String(hitung));
Serial.println("ir " + String(sensor));
delay(500);
}
Tidak ada komentar:
Posting Komentar