Jasa Pembuatan ALat menggunakan Jasa Mikrokontroller aneka jenis :Arduino / AVR / MCS / Raspberry PI. +Support terintegrasi dengan program Mobile (Android, Blackberry, iphone, Java Mobile), +Support terintegrasi dengan program Desktop (Java,VB.Net , Delphi, VB6, Matlab, Visual C#, Visual C++, Labview dll), +Support terintegrasi dengan program Web (PHP / JSP / Servlet / CGI / Phonegap)
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);
}
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);
}
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
Langganan:
Postingan (Atom)