Sabtu, 09 Mei 2020

Pengaman Pintu Perlintasan KA Dengan Validasi

Apliaksi ini akan mndeteksi kedatangan kereta....dari arah terntu...dan jarak tertentu...sehingga akan mengakibatkan Pintu Perlintasan KA akan menutup.... jadi jika kereta melaju cepat atau melambat...pintu akan terus menutup....sampai kereta tersebut mengenai sensor IR di sisi Depan...penanda sudah aman palang pintu KA untuk dibuka..... Keunggulan aplikasi ini lainnya adalah: 1.mampu membedakan itu kereta yang lewat atau bukan, yaitu dengan mengkombinasikan 2 sensor ULTRASONIC (BUKAN SENSOR IR) dari arah datangnya kereta 2.Pendataan setiap adanya kereta lewat ke IOT/database server sebagai arsip 3.Pintu perlentasan KA meululu menutup sampai kondisi aman kereta melintas 4.Sensor IR disisi depan KA tidak akan aktif jika belum adanya trigger dari arah masuk...sehingga jika ada kucing lewat atau ada orang iseng..pintu kereta tetap tidak akan aktif/membuka..... 5. Super Minim Aplikasi dengan manfaat tinggi (terValidasi)


Deteksi Ketinggian Air + Notifikasi Group Telegram

Aplikasi Keren untuk keamanan Kondisi ketinggian air di suatu waduk misalkan....SIstem dibuat dalam 3 kategori keamanan: SIaga1, Siaga2 dan Siaga3. (yaitu dengan rentang ketinggian air tertentu) Setiap ada perubahan Siaga maka sistem akan memberikan notifiaksi ke Group Twitter (Penerima Notifikasi bisa lebih dari 1 orang). Keunggulan lain dari apliaksi ini adalah kemampuannya mampu membedakan itu ketinggian air sesungguhnya atau ketinggian air karena adanya obstacel........Selamat Menikmati....



Monitoring Suhu/Kelembaban Tanah Kebun Berbasis IOT

Sistem ini akan mendeteksi suhu suatu kebun /area dan jika dalam kondisi ambang tertentu misal terlalu panas maka siswtam akan mnyalakan /mematikan Kipas.... Sistem ini akan mendeteksi kelembaban tanah suatu kebun /area dan jika dalam kondisi ambang tertentu misal terlalu panas maka siswtam akan mnyalakan /mematikan Pompa AIr.... Nilai tambahnya adalah sistem ini dilengkapi pewaktuan periodeik...artinya setiap 20 detik misalkan sistem akan melaporkan ke Internet datanbase / IOT kondisi terbarunya.. Kebutuhan: Arduino, Sensor DHT11, LCD 2x16, Pompa AIr, Kipas/Fan, ESP8266, Library KrWIFI, Library Thinkspeak



Kipas Auto On Saat Mendeteksi Ada Orang

Aplikasi Keren....bagaimana membuat sistem automatis mengaktifkan/menyalakan Kipas saat di ruangan tersebut mencapi suhu panas tertentu dan terdeteksi adanya orang di sana.... Jika tidak ada orang...meski suhu panas...Fan tidak akan menyala




Auto Aktif dan Monitoring Pakan Kucing Berdasarkan Setting Pewaktuan

Aplikasi keren untuk autimatisasi memebrikan pakan kucing secara periodik....pagi, siang sore malam.....yaitu jika pakan kucing di Kandang sudah habis/menipis... Sistem pakan kucing auto aktif dan mengisi di tempat makan kucing hingga mncapai berat tertentu...jika sudah penuh makan akan berhenti...dan akan auto mengisi lagi pada jam makan berikutnya.......




SIstem Automatis Deteksi Kerawanan Obstacle

Aplikasi ini sangat bagus untuk di terapkan di belakang kendaraan apapaun....terutama kendaraan berat....karena mampu mendeteksi adanya obstacle/halangan di belakangnya (terutama saat kendaraan mundur). Jika ada penghalang dalam jarak tertentu maka alarm dan indikator lampu akan manyala......dan jika makin dekat..maka indikator ataupun layar onformasi akan me - warning teruss....Keunggulannya aplikasi ini dengan pengaman yang lain adalah sistem mampu membedakan obstace yg lebih dekat dahulu di banding adanya obstacle yang lain....juga adanya kisaran jarak obstacle tersebut sehingga driver / pengguna bisa mengkira kira masih bisa berapa gas lagi msh mncapai kondisi aman.....





Kendali RPM Motor Menggunakan Setting Keypad

Saat Kita Aktifkan Sistem ... langsung proses / jalankan motor atau mau setting rpm atau lama proses /durasinya ? Jika langsung tekan tombol Proses (tombol *), maka sistem akan langsung jalan dengan menggunakan lama proses dan besaran RPM yang sudah di setting sebelumnya / angka settingan sebelumnya Jika tekan tombol "A", masuk ke menu setting RPM Jika tekan tombol "B", masuk ke menu setting Waktu Jika tekan tombol "C", masuk ke menu pembatalan settingan terbaru Jika tekan tombol "D", kembali ke seetingan sebelumnya / default Jika tekan tombol "#", masuk ke menu simpan konfigurasi RPM terbaru/waktu terbaru Jika tekan tombol "*", masuk ke menu proses /penjalanan sistem emsin... Mesin akan menyesuaikan speednya hingga tercapai RPM yang diinginkan jika sudah mencapai sistem akan membuat mesin berputas stabil dgn sesuai pencapaian RPM target ..dan mesin akan mati jika lama proses sudah mencapai durasi yang diinputkan (Satuan Detik). Aplikasi ini dilengkapi logika MAXMIN, artinya Increment /decrement yang besar jika RPM target masih jauh....jika dalam range target maka Increment /decrement makin mengecil......




ESP8266 Monitoring Kunjungan SIpir Penjara

Sistem Aplikasi Ini keren banget sederhana tetapi Full Kegunaanya....... AL: Bisa membedakan orang dewasa yang masuk atau bukan (misal kucing atau anak kecil bbisa tidak terhirung), bisa membatasi jumlah kunjungan di dalam..artinya jika di dalam sudah penuh (AMbang Pengunjung misal 20orang) maka sistem akan ada notif atau alarm ...., dan yang paling keren adalah sistem akan melaporkan kepada IOT / ARSIP pergerakan2 angka2 yang ada di dalam ruangan tsb dari waktu ke waktu.....KerEN KAN Aplikasi Menggunakan Arduino, Sensor Ultarsonic (DIpintu masuk dan keluar), LCD 2x16, ESP8266, LED indikator......






Sabtu, 02 Mei 2020

Deteksi Banjir 2 PING


Butuh setidaknya 2 Sensor PING/Ultrasonixc agar...bisa membedakan antara ketinggian air sesungguhnyaaaa atau ada kayu/ obstacle di atas air......
Jadi ketinggian air diambil dari sensor yang terendah .....

Kelebihan code ini adalah:
Dan setiap ada perubahan level ketinggian Air...daata akan masuk ke database IOT
+++++++++++++++++++++++++++++++++++++++++++++++++++++

#include <DistanceSRF04.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);  // Alamat LCD adalah 0x27

#include<KRwifi.h>

char* ssid = "";   //Ganti xxx dengan nama WiFi / Hotspot
char* pass = "";   //Ganti xxx dengan password WiFi / Hotspot
char* server = "192.168.0.105";


const int PIN_TRIG = 2;
const int PIN_ECHO = 3;
const int PIN_TRIG2 = 4;
const int PIN_ECHO2 = 5;
DistanceSRF04 sonar, sonar2;
int s1,s2;

int aman = 60;
int siaga1 = 120;
int siaga2 = 150;
int banjir = 180;

String gab0 = "-";
String gab = "";

void setup()
{
  Serial.begin(9600);
  lcd.begin();
  // setWifi(ssid, pass);
  sonar.begin(PIN_ECHO, PIN_TRIG);   // Penentuan pin Echo dan Trig
  sonar2.begin(PIN_ECHO2, PIN_TRIG2);
  lcd.print("Welcome");
  delay(1000);
  lcd.clear();
}

void loop()
{
  int sensor1 = bacaSensor1();
  int sensor2 = bacaSensor2();
  int level = sensor1;
  String st = "Aman";


  if (sensor2 < sensor1) {
    level = sensor2;
  }
  if (level == 1) {
    st = "Aman";
  }
  else if (level == 2) {
    st = "Siaga1";
  }
  else if (level == 3) {
    st = "Siaga2";
  }
  else if (level == 4) {
    st = "Banjir";
  }

  //  Tampilkan ke Serial Monitor
  Serial.print(s1);
  Serial.println(" cm");
  Serial.print(s2);
  Serial.println(" cm2");
  Serial.print(" level  ");
  Serial.println(level);
  Serial.print(" status  ");
  Serial.println(st);


  // Tampilkan ke LCD
  lcd.setCursor(0, 0);
  lcd.print("S1:");
  lcd.print(s1);
  lcd.print(" ");
  lcd.setCursor(8, 0);
  lcd.print("S2:");
  lcd.print(s2);
  lcd.print(" ");
  lcd.setCursor(0, 1);
  lcd.print("Status:");
  lcd.print(st);
  lcd.print("      ");

  gab = st;

  if (gab == gab0) {
    //nosent
  }
  else {
    gab0 = gab;
    Serial.print("aaaaaaaaaaaaa");
     String url = "/cc/tele.php?status=" + String(st);
     httpGet(server, url, 80);
       Serial.println(url);
    delay(1000);
  }

  delay(500);
}

int  bacaSensor1() {
  int kondisi = 0;
  int jarak = sonar.getDistanceCentimeter();
   s1 =  200 - jarak ;


  if (s1 >= banjir) {
    kondisi = 4;
  }
  else if (s1 >= siaga2) {
    kondisi = 3;
  }
  else if (s1 >= siaga1) {
    kondisi = 2;
  }
  else {//hijau
    kondisi = 1;
  }
  return kondisi;
}//void

int bacaSensor2() {
  int kondisi = 0;
  int jarak2 = sonar2.getDistanceCentimeter();
   s2 =  200 - jarak2;

  if (s2 >= banjir) {
    kondisi = 4;
  }
  else if (s2 >= siaga2) {
    kondisi = 3;
  }
  else if (s2 >= siaga1) {
    kondisi = 2;
  }

  else {//hijau
    kondisi = 1;
  }
  return kondisi;
}




Aplikasi Deteksi Kedatangan Kereta + IOT

Artinya....
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);
}



Thinkspeak APi Makin OK

Daftar di https://thingspeak.com/channels
Cukup dapatkan Channel dan APIKEY nya
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#include "ThingSpeak.h"
#include<KRwifi.h>

char* ssid = "pikachu";
char* pass = "123asdfghjkl";
unsigned long myChannelNumber = aaa;
const char * myWriteAPIKey = "xxx";

#include "DHT.h"
#define DHTPIN 5
#define DHTTYPE DHT11
const int pompa = 8;
const int kipas = 9;

DHT dht(DHTPIN, DHTTYPE);
int hitung;


void setup() {
  Serial.begin(9600);
  lcd.begin();
  setWifi(ssid, pass);
  ThingSpeak.begin(client);
  dht.begin();
  pinMode(pompa, OUTPUT);
  pinMode(kipas, OUTPUT);
}

void loop() {
  int lembab = dht.readHumidity();
  int suhu = dht.readTemperature();
  int tanah = analogRead(A0);

  String stPompa = "Off";
  String stFan = "Off";

  if (tanah >= 500) {
    digitalWrite(pompa, LOW); //pompa hidup
    stPompa = "On";
  }
  else if (tanah <500) {
    digitalWrite(pompa, HIGH); //pompa mati
    stPompa = "Off";
  }

  if (suhu >= 31) {
    digitalWrite(kipas, LOW);
    stFan = "On";
  } else if (suhu <31) {
    digitalWrite(kipas, HIGH);
    stFan = "Off";
  }

  hitung = hitung + 1;
  if (hitung > 20) {
    ThingSpeak.setField(1, suhu);
    ThingSpeak.setField(2, lembab);
    ThingSpeak.setField(3, tanah);
    ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
    hitung = 0;
  }

  lcd.setCursor(0, 0);
  lcd.print("Humidity:");
  lcd.print(lembab);
  lcd.print("%    ");
  lcd.setCursor(0, 1);
  lcd.print("Temperature:");
  lcd.print(suhu);
  lcd.print("*C   ");
  lcd.setCursor(0, 2);
  lcd.print("Tanah:");
  lcd.print(tanah);
  lcd.print("%     ");
  lcd.setCursor(0, 3);
  lcd.print("pompa:");
  lcd.print(stPompa);
  lcd.print("  ");
  lcd.setCursor(10, 3);
  lcd.print("kipas:");
  lcd.print(stFan);
  lcd.print(" ");

  Serial.print("Humidity: ");
  Serial.print(lembab);
  Serial.println(" %\t");
  Serial.print("Temperature: ");
  Serial.print(suhu);
  Serial.println(" *C ");
  Serial.print("tanah: ");
  Serial.print(tanah);
  Serial.println(" % ");
  delay(1000);
}




ATAU DI YOUTUBE NYA