Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Sistem Alarm Arduino:SERENA

Komponen dan persediaan

Arduino Mega 2560
× 1
3.2" Layar Sentuh LCD TFT
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Saya telah melihat banyak sistem alarm sebelumnya, memeriksanya, melihat cara kerjanya, dan saya memutuskan untuk membuatnya sendiri. Maksudku, kenapa tidak? Mengapa tidak mengambil sesuatu dan membuatnya lebih baik? Maksud saya, saya adalah seorang insinyur komputer (seorang sarjana, tetapi itu akan segera berubah).

Dan begitulah proyek ini menjadi hidup.

Saya memeriksa banyak sistem dan apa yang sebenarnya dapat mereka tawarkan dan saya pikir itu adalah ide yang baik untuk menempatkan semua fungsi ini (dan beberapa dari saya sendiri) dalam satu papan Arduino yang akan berfungsi sebagai panel kontrol alarm.

Tidak ada yang rumit di sini, hanya membeli papan itu sendiri bersama dengan Layar Sentuh 3,2". Untuk membuat layar berfungsi tentu saja, saya membutuhkan beberapa perpustakaan. Jadi terima kasih banyak kepada Henning Carlsen untuk semua perpustakaan! Tautkan ke situs webnya di kredit bagian.

Program

Sekarang saya butuh beberapa saat untuk menyelesaikannya. Jangan biarkan kode membingungkan Anda, saya selalu berkomentar bila perlu!

Fungsi utama alarm

Saya memutuskan untuk memasukkan tiga kata sandi yang berbeda. 4 digit, 5 digit, dan 6 digit. Saya tahu ini banyak, tetapi di pembaruan mendatang saya akan memberi pengguna opsi untuk menonaktifkan kode 4 digit.

  • Kartu 4 digit digunakan untuk mengaktifkan alarm.
  • Kartu 5 digit digunakan untuk menonaktifkan sebagian alarm.
  • Kartu 6 digit digunakan untuk menonaktifkan alarm sepenuhnya.

Alarm juga dapat otomatis mempersenjatai dirinya sendiri. Setelah Anda memasukkan kode 5 digit, program akan memulai hitungan mundur (default 40 detik). Setelah hitungan mundur ini selesai, alarm akan otomatis dipersenjatai. Ini bisa sangat berguna ketika Anda biasanya lupa untuk mempersenjatai sistem.

Menu Opsi

Di menu opsi, Anda dapat mengubah ketiga kata sandi, serta waktu auto-arm.

Pembaruan Mendatang

Pembaruan di masa mendatang akan mencakup pengaturan tanggal/waktu, dukungan kartu SD (jika terjadi kegagalan daya dan kami tidak ingin kehilangan data), opsi untuk menonaktifkan auto-arming, opsi untuk menonaktifkan pass 4 digit dan banyak lagi .

Video Pamerkan

Kode

  • SERENA v.1.01
SERENA v.1.01Arduino
Cukup unggah kode ke papan Arduino Anda.
Beberapa komentar dalam bahasa Yunani, ini akan segera berubah.
/////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////Sistem Alarm SERENA//Penulis:Michael Marinis//Hak Cipta (C)2016 Michael Marinis. Semua Hak Dilindungi Undang-Undang//Situs web:http://www.youtube.com/SauROnmiKE/////Ini adalah Sistem Alarm SERENA, sistem alarm dua fungsi yang memberikan//pengguna kemampuan untuk mengaktifkan alarm secara otomatis, atau mempersenjatai secara manual saat pengguna menginginkannya.////Program ini memerlukan pustaka UTFT &URTouch dari Henning Karlsen dan layar LCD//yang kompatibel dengan pelindungnya.////////////// VERSI////////////0.10a:Build pertama, fungsi dasar//0.20a:Peningkatan kecil//0.30a:Masukan dan Konfirmasi Lulus untuk Sandi Manual-Arm baru selesai (12/11 /2016)//0.40a:Pass Input dan Konfirmasi Password Auto-Arm baru selesai (12/11/2016)//1.00a:Selesai Input &Cek Sandi Arm (12/11/2016, 19:16) //.10a:Menu selesai saat sistem dipersenjatai (tanpa mengirim sinyal ke relai atau yang lainnya). Waktu dan tanggal akan ditambahkan kemudian. Tombol Disarm hanya ditambahkan (13/11/2016, 13:04)//1.20a:Memprogram tombol "DISARM". Ini meminta input kata sandi 5-Digit. Pemeriksaan kata sandi juga dilakukan, yang menonaktifkan alarm (tanpa mengirim sinyal ke relai atau yang lainnya) (13/11/2016, 14:15)//1.21a:Memperbaiki masalah di mana pengguna tidak dapat mengetikkan angka apa pun setelah pemeriksaan konfirmasi kata sandi. Jika pengguna menekan "NO", dia tidak dapat mengetikkan kata sandi baru sampai tombol "CLEAR" ditekan. Ini sekarang diperbaiki (14/11/2016, 13:32)//1.22a:Penghitung waktu mundur untuk auto-arming sekarang selesai (14/11/2016, 15:46)//1.30a:Auto-Arm Menunya lengkap. Menu Auto-Arm menampilkan detik tersisa untuk lengan untuk dipersenjatai kembali secara otomatis. Menu pelucutan senjata lengkap akan diakses melalui tombol tekan karena keterbatasan perpustakaan (14/11/2016, 21:42)//1.31a:Mengubah variabel "buf" dari "-1" menjadi "0". Ini menyelesaikan bug, di mana penekanan pertama tombol angka apa pun tidak akan melakukan apa pun (16/11/2016, 00:45)//1.40b:Menambahkan tombol "SET ARM PASSWORD" yang memungkinkan pengguna untuk memodifikasi 4 -digit kata sandi yang digunakan untuk mempersenjatai alarm (16/11/2016, 14:33)//1.41b:Tombol "KEMBALI" dari "SET AUTO-ARM PASS", sekarang dialihkan ke halaman kedua dari menu opsi, bukannya yang pertama (16/11/2016, 16:21)//1.42b:Selesai menu opsi ketiga. Ini berisi tombol "SET TIME" dan "SET DATE" (16/11/2016, 16:37)//1.43b:Memperbaiki bug di mana tombol clear pada input disarm pass tidak benar-benar mereset "autoinput" array (17/11/2016, 00:05)//1.44b:Tombol "SET AUTO-ARM PASS", sekarang akan meminta pengguna ke menu opsi kedua saat kata sandi diubah, bukan yang pertama (18 /11/2016, 10:02)//Perubahan akan dicatat hingga versi final 1.00. Setelah 1.00, perubahan akan dicatat dalam file SERENA_changelog.txt.//1.00:Desain fungsi pelucutan senjata penuh. Fungsi ini akan memerlukan kata sandi 6-Digit dan akan mengarahkan ke menu utama program alarm. Buzzer terdengar dengan setiap klik tombol (8/1/2017, 20:53)///////// VERSI MASA DEPAN//////////// *IDE UNTUK VERSI BARU AKAN DITAMBAHKAN DI SINI*///////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ///////////#include #include UTFT myGLCD(ITDB32WC, 38, 39, 40, 41);URTouch myTouch(6, 5, 4, 3, 2);extern uint8_t SmallFont[];extern uint8_t BigFont[];extern uint8_t SevenSegNumFont[];int x;int y;int armpass[4] ={1, 2, 3, 4};int autopass[5] ={ 1, 2, 3, 4, 5};int manualpass[6] ={1, 1, 1, 1, 1, 1};int timeinput[4];int arminput[4];int autoinput[5];int manualinput[6];int autolength =0;int manuallength =0;int buzzerpin =8;int systarm =9;int serenapin =10;int buttonpin =13;int autoarmtime =40;int autoarmtimemem =autoarmtime;int bulan =1; int hari =1;int tahun =2016;//FUNGSI KUSTOM void alarmtitle(){ myGLCD.setFont(SmallFont); myGLCD.setBackColor(0, 0, 0); myGLCD.clrScr(); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.drawLine(0, 14, 319, 14); myGLCD.print("SERENA ALARM SYSTEM v.1.01", CENTER, 1);}void title()//TERPISAH KARENA NAMANYA TIDAK DIINGINKAN KAPAN SAJA{ alarmtitle(); myGLCD.print("BY MICHAEL MARINIS", CENTER, 30);}void drawbutton1(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(20, 60, 300, 100);}void drawbutton2(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(20, 120, 300, 160);}void drawdisarm(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(20, 180, 300, 220); myGLCD.setColor(0, 0, 0); myGLCD.setBackColor(192, 192, 192); myGLCD.setFont(BigFont); myGLCD.print("DISARM", CENTER, 193);}kosongkan kekurangan(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(20, 180, 150, 210); myGLCD.setBackColor(192, 192, 192); myGLCD.setColor(0, 0, 0); myGLCD.setFont(SmallFont); myGLCD.print("KEMBALI", 70, 190);}void drawo(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(20, 180, 150, 210); myGLCD.setBackColor(192, 192, 192); myGLCD.setColor(0, 0, 0); myGLCD.setFont(SmallFont); myGLCD.print("TIDAK", 80, 190);}void drawyes(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(170, 180, 300, 210); myGLCD.setBackColor(192, 192, 192); myGLCD.setColor(0, 0, 0); myGLCD.setFont(SmallFont); myGLCD.print("YA", 225, 190);}void drawext(){ myGLCD.setColor(192, 192, 192); myGLCD.fillRoundRect(170, 180, 300, 210); myGLCD.setBackColor(192, 192, 192); myGLCD.setColor(0, 0, 0); myGLCD.setFont(SmallFont); myGLCD.print("NEXT", 220, 190);}kosongkan drawbuttons(){ myGLCD.clrScr(); int z; myGLCD.setFont(SmallFont); for (z =0; z <3; z++) { myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20 + (z * 60), 15, 60 + (z * 60), 55); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.printNumI(z + 1, 37 + (z * 60), 30); } untuk (z =0; z <3; z++) { myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20 + (z * 60), 70, 60 + (z * 60), 110); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.printNumI(z + 4, 37 + (z * 60), 85); } untuk (z =0; z <3; z++) { myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20 + (z * 60), 125, 60 + (z * 60), 165); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.printNumI(z + 7, 37 + (z * 60), 140); } untuk (z =0; z <3; z++) { myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(190, 15 + (z * 55), 290, 55 + (z * 55)); } myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20, 175, 80, 205); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.printNumI(0, 48, 185); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0); myGLCD.print("HAPUS", 221, 30); myGLCD.print("Oke", 232, 85); myGLCD.print("BACK", 225, 140);}void optionsmenuend(){ myGLCD.clrScr(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.drawLine(0, 14, 319, 14); myGLCD.setBackColor(255, 0, 0); judul alarm(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.print("MENU OPSI", TENGAH, 20); drawbutton1(); drawbutton2(); kekurangan(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0);}void optionsmenu(){ myGLCD.clrScr(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.drawLine(0, 14, 319, 14); myGLCD.setBackColor(255, 0, 0); judul alarm(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.print("MENU OPSI", TENGAH, 20); drawbutton1(); drawbutton2(); kekurangan(); drawext(); myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.setBackColor(255, 0, 0);}void drawoptions(){ myGLCD.setFont(BigFont); myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20, 70, 300, 120); myGLCD.setBackColor(255, 0, 0); myGLCD.setColor(255, 255, 255); myGLCD.print("OPTIONS", CENTER, 90);}kosongkan drawarm(){ myGLCD.setFont(BigFont); myGLCD.setColor(255, 0, 0); myGLCD.fillRoundRect(20, 140, 300, 190); myGLCD.setBackColor(255, 0, 0); myGLCD.setColor(255, 255, 255); myGLCD.print("ARM", CENTER, 160);}void printmonth(int i){ myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.setFont(BigFont); if (i ==1) { myGLCD.print("JANUARY", 95, 100); } if (i ==2) { myGLCD.print("FEBRUARY", 95, 100); } if (i ==3) { myGLCD.print("MARCH", 95, 100); } if (i ==4) { myGLCD.print("APRIL", 95, 100); } if (i ==5) { myGLCD.print("MAY", 70, 100); } if (i ==6) { myGLCD.print("JUNI", 95, 100); } if (i ==7) { myGLCD.print("JULY", 95, 100); } if (i ==8) { myGLCD.print("AGUSTUS", 95, 100); } if (i ==9) { myGLCD.print("SEPTEMBER", 95, 100); } if (i ==10) { myGLCD.print("OKTOBER", 95, 100); } if (i ==11) { myGLCD.print("NOVEMBER", 95, 100); } if (i ==12) { myGLCD.print("DESEMBER", 95, 100); }}//int updateate(int d, int m, int y)//{// if (y % 4 ==0)//DISEKTO ETOS// {// if ((m>=0) &&(m <=13))// {// if (m ==1 || m ==3 || m ==5 || m ==7 || m ==8 || m ==10 || m ==12)// {// jika ((d>=0) &&(d <=32))// {// jika (d ==0)// {// d =31;// }// // if (d ==32)// {// d =1;// }// }// }// }// }//DISEKTO ETOS END//}int armupdate(int i, int armlength) { if (panjang lengan <4) { if (panjang lengan ==0) { arminput[0] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(arminput[0], 100, 185); //+35 gia kathe noumero meta digitalWrite(buzzerpin, HIGH); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali arminput[0]; } if (panjang lengan ==1) { arminput[1] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(arminput[1], 135, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali arminput[1]; } if (panjang lengan ==2) { arminput[2] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(arminput[2], 170, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali arminput [2]; } if (panjang lengan ==3) { arminput[3] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(arminput[3], 205, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali arminput[3]; } }}int autoarmupdate(int i, int timelength){ if (timelength <5) { if (timelength ==1) { timeinput[0] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan waktu[0], 100, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan waktu[0]; } if (panjang waktu ==2) { input waktu[1] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan waktu[1], 135, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan waktu[1]; } if (panjang waktu ==3) { input waktu [2] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan waktu[2], 170, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali input waktu [2]; } if (panjang waktu ==4) { input waktu[3] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan waktu[3], 205, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan waktu[3]; } }}int autoupdate(int i, int autolength){ if (autolength <5) { if (autolength ==0) { autoinput[0] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(autoinput[0], 100, 185); //+35 gia kathe noumero meta digitalWrite(buzzerpin, HIGH); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan otomatis[0]; } if (panjang otomatis ==1) { masukan otomatis[1] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan otomatis[1], 135, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan otomatis[1]; } if (panjang otomatis ==2) { masukan otomatis [2] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(autoinput[2], 170, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali input otomatis [2]; } if (panjang otomatis ==3) { masukan otomatis[3] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan otomatis[3], 205, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan otomatis[3]; } if (panjang otomatis ==4) { masukan otomatis[4] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan otomatis[4], 240, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); mengembalikan masukan otomatis[4]; } if (panjang otomatis ==5) { masukan otomatis[5] =i; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(autoinput[5], 275, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali masukan otomatis[5]; } }}int manualupdate(int i, int manuallength){ if (manuallength <6) { if (manuallength ==0) { manualinput[0] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual[0], 100, 185); //+35 gia kathe noumero meta digitalWrite(buzzerpin, HIGH); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali input manual[0]; } if (panjang manual ==1) { input manual[1] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual[1], 135, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembalikan input manual[1]; } if (panjang manual ==2) { manualinput [2] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual [2], 170, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembalikan input manual [2]; } if (panjang manual ==3) { input manual[3] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual[3], 205, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembalikan input manual[3]; } if (panjang manual ==4) { input manual[4] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual[4], 240, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); mengembalikan input manual[4]; } if (panjang manual ==5) { input manual[5] =i; //panjang manual++; myGLCD.setColor(255, 0, 0); myGLCD.setBackColor(0, 0, 0); myGLCD.printNumI(masukan manual[5], 275, 185); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); kembali input manual[5]; } }}pengaturan batal(){ myGLCD.InitLCD(); myGLCD.clrScr(); myTouch.InitTouch(); myTouch.setPrecision(PREC_EXTREME); pinMode (pin buzzer, OUTPUT); pinMode(sistem, OUTPUT); pinMode(serenapin, OUTPUT); digitalWrite(pin buzzer, TINGGI); penundaan (1000); digitalWrite(pin buzzer, RENDAH); judul(); drawoptions(); drawarm();}void loop(){ while (true) {mainmenu:if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); //TOMBOL OPSI if ((x>=20) &&(x <=300) &&(y>=70) &&(y <=120)) {options:optionsmenu(); myGLCD.setBackColor(192, 192, 192); myGLCD.setColor(0, 0, 255); myGLCD.print("SET MANUAL-ARM PASSWORD", TENGAH, 73); myGLCD.print("SET ARM PASSWORD", TENGAH, 133); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); while (benar) { if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); //SET TOMBOL SANDI MANUAL jika ((x>=20) &&(x <=300) &&(y>=60) &&(y <=100)) { title(); myGLCD.setBackColor(0, 0, 0); myGLCD.setColor(255, 0, 0); myGLCD.print("MASUKKAN PASSWORD 6 DIGIT", TENGAH, 119); kekurangan(); drawext(); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); while (benar) { if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); if ((x>=20) &&(x <=150) &&(y>=180) &&(y <=210)) { digitalWrite(buzzerpin, HIGH); penundaan (50); digitalWrite(pin buzzer, RENDAH); opsi goto; } if ((x>=170) &&(x <=300) &&(y>=180) &&(y <=210)) //BUTTON MENU { for (int o =0; o <6; o++) { masukan manual[o] =0; }masukan masukan:int buf =0; myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.drawLine(0, 14, 319, 14); myGLCD.setColor(255, 255, 255); drawbutton(); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); myGLCD.setFont(SevenSegNumFont); myGLCD.setBackColor(0, 0, 0); //akolouthei ke while(true) &drawbuttons (TICK!) while (true) { if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); //TOMBOL 1-3 if ((y>=15) &&(y <=55)) { if ((x>=20) &&(x <=60)) ///1 { manualupdate(1, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //2 { manualupdate(2, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) ///3 { manualupdate(3, buf); buf++; penundaan (85); } }//BUTTONS 1-3 END if ((y>=70) &&(y <=110)) //TOMBOL 4-6 { if ((x>=20) &&(x <=60)) // 4 { pembaruan manual(4, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //5 { manualupdate(5, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) //6 { manualupdate(6, buf); buf++; penundaan (85); } }//BUTTONS 4-6 END if ((y>=125) &&(y <=165)) //TOMBOL 7-9 { if ((x>=20) &&(x <=60)) // 7 { pembaruan manual(7, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //8 { manualupdate(8, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) //9 { manualupdate(9, buf); buf++; penundaan (85); } }//BUTTONS 7-9 END if ((x>=20) &&(x <=80) &&(y>=175) &&(y <=205)) //0 { manualupdate(0, buf); buf++; penundaan (85); } if ((x>=190) &&(x <=290) &&(y>=70) &&(y <=110)) //OK BUTTON { bool flag =true; for (int t =0; t <6; t++) { if (masukan manual[t] !=manualpass[t]) { flag =false; } } if (flag ==true) //swstos kwdikos { for (int i =0; i <6; i++) { manualinput[i] =0; } myGLCD.clrScr(); myGLCD.setFont(BigFont); myGLCD.print("Lulus Oke!" , CENTER , 100); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); penundaan(2000); judul(); myGLCD.setBackColor(0, 0, 0); myGLCD.setColor(255, 0, 0); myGLCD.print("MASUKKAN PASSWORD BARU", TENGAH, 119); kekurangan(); drawext(); while (benar) { if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); int buf =0; //EISAGWGH NEOU KWDIKOU if ((x>=170) &&(x <=300) &&(y>=180) &&(y <=210)) {newmanpassinput:myGLCD.setFont(SmallFont); myGLCD.setColor(255, 255, 255); myGLCD.drawLine(0, 14, 319, 14); myGLCD.setColor(255, 255, 255); drawbutton(); digitalWrite(pin buzzer, TINGGI); penundaan (50); digitalWrite(pin buzzer, RENDAH); myGLCD.setFont(SevenSegNumFont); myGLCD.setBackColor(0, 0, 0); while (benar) { if (myTouch.dataAvailable()) { myTouch.read(); x =myTouch.getX(); y =myTouch.getY(); //TOMBOL 1-3 if ((y>=15) &&(y <=55)) { if ((x>=20) &&(x <=60)) //1 { manualupdate(1, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //2 { manualupdate(2, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) ///3 { manualupdate(3, buf); buf++; penundaan (85); } }//BUTTONS 1-3 END if ((y>=70) &&(y <=110)) //TOMBOL 4-6 { if ((x>=20) &&(x <=60)) // 4 { pembaruan manual(4, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //5 { manualupdate(5, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) //6 { manualupdate(6, buf); buf++; penundaan (85); } }//BUTTONS 4-6 END if ((y>=125) &&(y <=165)) //TOMBOL 7-9 { if ((x>=20) &&(x <=60)) // 7 { pembaruan manual(7, buf); buf++; penundaan (85); } if ((x>=80) &&(x <=120)) //8 { manualupdate(8, buf); buf++; penundaan (85); } if ((x>=140) &&(x <=180)) //9 { manualupdate(9, buf); buf++; penundaan (85); } }//BUTTONS 7-9 END if ((x>=20) &&(x <=80) &&(y>=175) &&(y <=205)) //0 { manualupdate(0, buf); buf++; penundaan (85); } //EDW THA MPEI UNTUK OK. THA RWTAW AN O KWDIKOS EINAI ENTAKSEI (2 KOUMPIA, YA &TIDAK). AN "YA", TOTE THA EPISTREFEI STO ARXIKO MENOU, AN "TIDAK" THA EPISTREFEI STHN EISAGWGH KWDIKOY jika ((x>=190) &&(x <=290) &&(y>=70) &&(y <=110) )//NEW PASS OK BUTTON { buf =0; myGLCD.clrScr(); title();...File ini telah terpotong, silakan unduh untuk melihat konten lengkapnya.

Proses manufaktur

  1. Desain Aman-Gagal
  2. Sistem Alarm Deteksi Gerakan
  3. Decoder DTMF Hanya Menggunakan Arduino
  4. Sistem Penyiraman Tanaman Otomatis dengan Arduino
  5. Keamanan Sistem Alarm Diuji
  6. Sistem Ventilasi Basement/Crawlspace
  7. Python3 dan Komunikasi Arduino
  8. Sistem Kehadiran Berbasis Arduino dan Google Spreadsheet
  9. Sistem Peringatan Deteksi Tabrakan Berbasis Arduino
  10. Jam Alarm Sederhana dengan DS1302 RTC