IOT

Jam dan Otomatisasi Rumah menggunakan Tampilan BATU

Konten

  1. Deskripsi Produk
  2. desain GUI

3. Diagram Sirkuit

  1. Kode
  2. Video

Deskripsi Produk

Dalam proyek ini kita akan merancang jam dan sistem otomatisasi dengan bantuan ini kita dapat menghidupkan atau mematikan lampu rumah dan ada juga jam yang akan menunjukkan waktu dan tanggal.

Untuk ini kami menggunakan Layar TFT (STONE-HMI), tampilan ini memiliki perangkat lunak yang merupakan perangkat lunak GUI dengan bantuan ini kita akan merancang antarmuka yang akan berisi jam bagian dan otomatisasi. Unduh perangkat lunak GUI klik disini

Perancangan bagian jam:-

Mari kita desain bagian jam terlebih dahulu, pertama kita harus menambahkan semua gambar yang ada di folder klik disini

Seperti yang Anda lihat di sisi kiri semua gambar telah ditambahkan di bagian file gambar. Sekarang klik pada gambar '14' Anda akan mendapatkan antarmuka ini seperti yang Anda lihat di gambar. Sekarang pilih 'RTC' dari konfigurasi sentuh untuk mengatur waktu dan tanggal dan lakukan semua konfigurasi untuk pertama ini tambahkan gambar 'di halaman' sebagai gambar nomor 6 yang akan digunakan pada saat pengaturan. Sekarang pergi ke gambar nomor 6 dan tambahkan semua tombol dan nilai kuncinya. nilai ini akan berada dalam format ini.

Untuk '1' — 0031

Untuk '2' — 0031

Untuk '3' — 0031

Untuk '4' — 0031

Untuk '5' — 0031

Untuk '6' — 0031

Untuk '7' — 0031

Untuk '8' — 0031

Untuk '9' — 0031

Untuk '0' — 0030

Untuk 'OK'– 00F1

Setelah itu tambahkan efek tombol seperti gambar nimber-7 untuk semua tombol sehingga pada bagian ini akan dilakukan pengaturan jam. Mari kita melangkah lebih jauh untuk membuat jarum jam.

Demikian pula tambahkan Dial jam dari atas dan tambahkan semua, jam, menit dan jarum detik untuk ini pertama kita harus membuat ikon untuk jarum ini jadi untuk ini pergi ke generator ikon dan pilih gambar ini Anda akan menemukan folder baru di bagian dari 'file ikon' dari sini Anda harus memilih semua ikon sesuai dengan persyaratan jarum jam. Setelah itu pilih semua ikon sesuai dengan persyaratan jarum jam, dan jangan lupa untuk memilih bagian tengah masing-masing jarum jam, dengan prosedur ini ini akan dilakukan sekarang kita harus pergi ke bagian otomatisasi dan untuk ini kami telah menambahkan simbol otomatisasi seperti yang Anda lihat pada gambar di atas, untuk tombol pilih ini dan letakkan tombol itu di area ikon otomat ini dan kemudian pilih ' page switch' sebagai gambar-1 karena ini adalah gambar untuk otomatisasi setelah itu pilih gambar-1 untuk perancangan lebih lanjut.

Perancangan bagian otomatisasi: -

Mari kita rancang bagian otomatisasi untuk ini, kami meminta Arduino untuk mengirim nilai kunci tertentu melalui alamat, di sini kami menggunakan '0001' untuk semua nilai kunci. Untuk tombol Fan(ON) kami mengirimkan nilai kunci '0001' dan untuk Fan(OFF) ) kami mengirimkan nilai kunci '0002' sama seperti kami mengirim untuk semua nilai khusus untuk semua peralatan. Di sini kami juga menambahkan tombol untuk beralih ke GUI jam yang akan membantu berpindah dari antarmuka ini ke antarmuka jam.

Untuk page switch kami menggunakan 'button' yang ditempatkan di kiri atas dan untuk tombol otomatisasi kami menggunakan fungsi 'return press key value' yang memiliki dua parameter pertama adalah nilai alamat dan yang lainnya adalah nilai kunci seperti yang telah kami sebutkan di atas. menggunakan nilai kunci yang berbeda untuk setiap tombol otomatisasi.

Circuit Diagram

Seperti yang Anda lihat di sambungan ada tiga LED light-1,light-2 dan untuk Fan di sini kami hanya menggunakan LED tetapi Anda dapat menghubungkan peralatan yang sebenarnya ke ini.Light-1 terhubung ke pin -D6 Arduino,light- 2 sambungkan ke pin-D7 Arduino, Kipas serupa terhubung dengan D5 dengan Arduino. Dan lakukan koneksi untuk Rx dan Tx sesuai diagram rangkaian. Di sini kita telah menghubungkan Tx dengan pin-2 dan Rx dengan pin-3 Arduino sebagai per kode Arduino. Mari kita melangkah lebih jauh bagaimana cara kerjanya dengan kode.

Ada berbagai jenis Komunikasi Serial. Saat Anda menggunakan papan Arduino pada suatu proyek, Anda dapat memilih pin Serial standar sebagai serial perangkat lunak Arduino Rx Tx, dari UART di dalam papan Arduino, sehingga disebut Serial TTL. Dalam hal ini, kami menggunakan Perpustakaan serial.h Perangkat Keras, tetapi beberapa pin tambahan dapat berfungsi sebagai Rx atau Tx. Sebagai contoh, pin komunikasi SPI dapat berfungsi sebagai MISO, MOSI dan Select (SC), tetapi mereka juga merupakan pin yang dapat berfungsi sebagai input digital atau output digital, atau jika perlu, Anda dapat menggunakan pin tersebut sebagai Rx, Tx menggunakan serial perangkat lunak. .h Perpustakaan. 

Mari melangkah lebih jauh untuk mengetahui cara kerja kode. 

Kode :- 

#termasuk //pustaka serial perangkat lunak

Perangkat LunakSerial max232(2,3);

data karakter; 

String string saya;

int f = 5; // Pin untuk Fan

int l1 = 6; // Pin untuk cahaya-1

int l2 = 7; // Pin untuk cahaya-2

batal penyiapan ()

{

Serial.begin(115200); //Di sini Baudrate adalah 115200

max232.begin(115200);

pinMode(f, KELUARAN);     

digitalWrite(f, RENDAH); 

pinMode(l1, KELUARAN);    

digitalWrite(l1, RENDAH);

pinMode(l2, KELUARAN);    

digitalWrite(l2, RENDAH);

}

void loop ()

{

jika (max232.available()>0)

 {

   data = max232.baca();

   stringku = stringku + byte(data); 

   penundaan (10);

 }

else if (mystring.endsWith(“101”)) //kondisi untuk Fan ON

  {

    stringku = “”; 

   digitalWrite(f,TINGGI);

  }

else if (mystring.endsWith(“102”)) //kondisi untuk Fan OFF

  {

   stringku = “”; 

   digitalWrite(f,RENDAH);

  }

else if (mystring.endsWith(“103”)) //kondisi untuk Light-1 ON

  {

  stringku = “”; 

  digitalWrite(l1,TINGGI);

  }

else if (mystring.endsWith(“104”)) //kondisi untuk Light-1 OFF

  {

   stringku = “”; 

   digitalWrite(l1,RENDAH);

  }

else if (mystring.endsWith(“105”)) //kondisi untuk Light-2 ON

  {

  stringku = “”; 

  digitalWrite(l2,TINGGI);

  }

else if (mystring.endsWith(“106”)) //kondisi untuk Light-2 OFF

  {

   stringku = “”; 

   digitalWrite(l2,RENDAH);

  }

else if (mystring.endsWith(“107”)) //kondisi untuk Semua peralatan AKTIF

  {

   stringku = “”; 

   digitalWrite(l1,TINGGI);

   digitalWrite(l2,TINGGI);

   digitalWrite(f,TINGGI);

  }

else if (mystring.endsWith(“108”)) //kondisi untuk Semua peralatan MATI

  {

   stringku = “”; 

   digitalWrite(l1,RENDAH);

   digitalWrite(l2,RENDAH);

   digitalWrite(f,RENDAH);

  }

}

Bekerja :-

Seperti yang telah kami diskusikan, kami menggunakan pustaka serial perangkat lunak untuk mentransfer nilai kunci melalui alamat, untuk ini kami telah menambahkan dalam kode ini memberikan antarmuka untuk menghubungkan tampilan Arduino dan STON-HMI. Setelah itu kami mendeklarasikan semua pin keluaran apa pun yang kami gunakan untuk LED dan Kipas, untuk perangkat ini kami telah mendeklarasikan Pin ini sebagai OUTPUT kemudian mengatur Baud rate untuk software-serial library.ini semua dilakukan di bagian void setup sekarang mari kita pindah untuk membuat kondisi untuk perangkat yang kita gunakan,bagian ini ditambahkan di void loop karena ini akan berulang berkali-kali karena kita akan menekan tombol tombol pada layar.

Di bagian void loop ada empat kondisi untuk perangkat. Kondisi pertama adalah untuk Fan hidup dan mati di sini kami mengirimkan nilai kunci '0001' untuk kondisi ON dan '0002' untuk kondisi mati melalui alamat '0001' alamat ini sama untuk semua perangkat. Untuk perangkat kedua yaitu untuk lampu-1 kami mengirimkan '0003' untuk kondisi ON dan '0004' untuk kondisi mati, begitu pula untuk lampu-2 '0005' untuk ON dan '0006 ' untuk kondisi mati begitu dengan cara ini kondisi ini berfungsi untuk perangkat individual.

Ada satu syarat lagi untuk OFF atau ON semua perangkat sekaligus untuk ini kami menggunakan '0007' untuk ON & '0008' untuk OFF.

Video Keluaran:-

Ini adalah video output dari proyek ini dalam video ini pertama kali menunjukkan pengaturan jam dan ada kerja otomatisasi seperti yang Anda lihat di video.

Ini adalah video keluaran yang dapat Anda unduh dengan mengklik video itu. Kami telah menambahkan semua data yang terkait dengan ini jika Anda ragu tentang perancangan GUI, Anda dapat mengunduh file proyek dan membukanya secara langsung dalam hal ini Anda tidak perlu melakukannya desain GUI apa pun, Anda akan mendapatkan desain yang telah kami buat. Tetapi jika Anda ingin mendesain GUI yang berbeda maka Anda harus mengikuti semua langkah.

Kode

//Untuk informasi lebih lanjut tentang proyek ini, kunjungi:- wwww.electrocircuit.net //

#sertakan

Perangkat LunakSerial max232(2,3);

data karakter; 

String string saya;

ke dalam f = 5; 

int l1 = 6; 

int l2 = 7;  

batal penyiapan ()

{

Serial.begin (115200); 

max232.begin(115200);

pinMode(f, OUTPUT); /////////MERAH////////

digitalWrite(f, RENDAH); 

pinMode(l1, OUTPUT); ////////HIJAU///////

digitalWrite(l1, RENDAH);

pinMode(l2, OUTPUT); ///////BIRU/////////

digitalWrite(l2, RENDAH);

}

void loop ()

{

jika (max232.available()>0)

 {

   data = max232.baca();

   stringku = stringku + byte(data); 

   penundaan (10);

 }

lain jika (mystring.endsWith(“101”))

  {

    stringku = “”; 

   digitalWrite(f,TINGGI);

  }

else if (mystring.endsWith(“102”))

  {

   stringku = “”; 

   digitalWrite(f,RENDAH);

  }

else if (mystring.endsWith(“103”))

  {

  stringku = “”; 

  digitalWrite(l1,TINGGI);

  }

else if (mystring.endsWith(“104”))

  {

   stringku = “”; 

   digitalWrite(l1,RENDAH);

  }

else if (mystring.endsWith(“105”))

  {

  stringku = “”; 

  digitalWrite(l2,TINGGI);

  }

else if (mystring.endsWith(“106”))

  {

   stringku = “”; 

   digitalWrite(l2,RENDAH);

  }

else if (mystring.endsWith(“107”))

  {

   stringku = “”; 

   digitalWrite(l1,TINGGI);

   digitalWrite(l2,TINGGI);

   digitalWrite(f,TINGGI);

  }

else if (mystring.endsWith(“108”))

  {

   stringku = “”; 

   digitalWrite(l1,RENDAH);

   digitalWrite(l2,RENDAH);

   digitalWrite(f,RENDAH);

  }

}

Sumber: Plato Data Intelligence