PERANCANGAN SISTEM CERDAS KOTAK INFAQ

Pendahuluan [KEMBALI]

Infaq merupakan salah satu amalan penting dalam Islam, sangat membantu kegiatan sosial dan keagamaan di masyarakat. Infaq biasanya dilakukan melalui kotak infaq di masjid, musholla, atau tempat umum lainnya. Namun, sistem pengumpulan infaq tradisional menghadapi beberapa masalah seiring perkembangan zaman dan kemajuan teknologi. Salah satu masalah yang harus diatasi adalah kurangnya transparansi, serta kemungkinan kehilangan karena kurangnya system keamanan atau pemantauan kotak infaq.

 

Perancangan sistem cerdas ini melibatkan penggunaan teknologi sensor. Sensor akan digunakan untuk mendeteksi dan membantu jamaah mengisi donasi yang dimasukkan ke dalam kotak infaq. Kotak infaq dapat memberitahukan bahwasanya kotak infaq penuh atau  terindikasi ada kemalingan. Dengan demikian, sistem ini diharapkan dapat memberikan solusi yang inovatif dalam pengelolaan dana infaq, serta mendorong lebih banyak masyarakat untuk berpartisipasi dalam kegiatan amal.


TUJUAN [KEMBALI]

  1.   Mengetahui cara membuat sistem kotak infaq cerdas dengan menggunakan mikrokontroler     Arduino UNO dan sensor-sensor yang digunakan.
  2.  Mengimplementasikan komunikasi data pada istem kotak infaq cerdas.
  3.  Memahami prinsip kerja dari sensor dan komponen yang digunakan pada rangkaian, seperti   sensor rfid, pir, ultrasonic, vibration, dan touch.
  4.  Mengurangi risiko pencurian kotak infaq.
  5.  Mempermudah Akses dan Partisipasi Donatur

ALAT DAN BAHAN [KEMBALI]

1.     Arduino Uno




2.     Kabel Jumper




3.     Baterai

 



4.     Bread Board

 



5.     Sensor RFID



6.     Sensor PIR



7.     Sensor Vibration



8.     Sensor Touch



9.     Sensor Ultrasonik



10.  LCD 16x2



11.  Modul I2C LCD

12.  Servo Motor



13.  Solenoid Doorlock



14.  LED



 

15.  Piezo Buzzer







1. Sensor RFID

RFID (Radio Frequency Identification) adalah teknologi identifikasi nirkabel yang memungkinkan data dikirimkan antara tag dan pembaca RFID melalui gelombang radio. Sistem ini terdiri dari tiga komponen yaitu tag RFID sebagai perangkat kecil yang berisi informasi unik, biasanya nomor seri, dan antena untuk menerima dan mengirimkan sinyal radio. Tag RFID terbagi dua, yaitu pasif dan aktif.

 

Pasif menggunakan sinyal pembaca RFID sebagai energi, tanpa sumber daya sendiri, sedangkan aktif memiliki sumber daya internal, atau baterai, dan dapat mengirimkan sinyal lebih kuat ke jarak jauh. Selanjutnya Pembaca RFID yaitu perangkat yang memancarkan sinyal radio untuk mengaktifkan tag RFID dan membaca data yang tersimpan di dalamnya, menggunakan antena untuk mengirim dan menerima sinyal radio.



Gambar 1. Sensor RFID

Karakteristik Utama:

  • Chip RFID: MFRC522 dari NXP Semiconductors
  • Frekuensi Operasi: 13.56 MHz
  • Protokol yang Didukung: ISO/IEC 14443 A/MIFARE, NTAG
  • Tegangan Operasi: 2.5V - 3.3V
  • Arus Operasi: 13 - 26 mA (mode aktif), 10 - 13 mA (mode siaga)
  • Interface Komunikasi: SPI, I2C, UART (Serial)
  • Jangkauan Baca: Hingga 50 mm (tergantung pada ukuran dan tuning antena)
  • Fitur Tambahan: Timer terprogram, self-test internal, FIFO buffer

Prinsip kerja sensor ini yaitu pembaca RFID memancarkan sinyal radio frekuensi melalui antena. Sinyal ini membawa energi dan informasi yang diperlukan untuk berkomunikasi dengan tag RFID. Tag RFID Menerima Sinyal dan aktif, ketika tag RFID berada dalam jangkauan sinyal pembaca, antena tag akan menangkap energi dari sinyal tersebut. Energi ini digunakan untuk mengaktifkan chip RFID yang tertanam di dalam tag. Tag RFID Mengirimkan Data, setelah aktif, chip RFID di dalam tag akan memproses informasi yang diterima dari pembaca dan mengirimkan data kembali ke pembaca melalui sinyal radio.

 

Data ini biasanya berupa nomor identifikasi unik atau informasi lain yang tersimpan di dalam tag. Pembaca RFID menerima dan memproses Data dengan menerima sinyal radio yang dikirimkan oleh tag dan mengekstrak data yang terkandung di dalamnya. Data ini kemudian dapat diproses oleh sistem komputer atau perangkat lainnya untuk berbagai keperluan, seperti identifikasi, pelacakan, atau otentikasi.




Gambar 2. Grafik Respon Sensor RFID

2. Sensor PIR

Sensor inframerah pasif (PIR) terutama terdiri dari elemen piroelektrik yang sensitif terhadap perubahan suhu. Ketika objek bergerak di sekitar area deteksi sensor, radiasi inframerah yang dipancarkan objek akan berubah, mengubah elemen piroelektrik, yang kemudian mengubah suhu menjadi sinyal listrik yang dapat dideteksi.

 



Gambar 3. Sensor PIR

Prinsip Kerja sensor pir  adalah Sensor PIR mendeteksi radiasi inframerah dalam gelombang panjang, terutama panjang gelombang sekitar 10 mikrometer. Sensor PIR biasanya terdiri dari dua atau lebih elemen detektor inframerah yang dirancang khusus yang saling tumpang tindih untuk mendeteksi perubahan di area yang dipantau.

Komponen sensor PIR menggunakan bahan pyroelectric, yang mengeluarkan tegangan listrik saat dipanaskan atau didinginkan. Suhu permukaan elemen pyroelectric berubah karena pergerakan objek, seperti manusia, mengubah pola radiasi inframerah. Pola radiasi berubah ketika seseorang atau hewan bergerak melewati bidang pandang sensor PIR.

Karakteristik Sensor PIR HC-SR501:

  • Tegangan Operasi: 5V DC
  • Konsumsi Arus: 65µA (standby), 15mA (aktif)
  • Output: TTL (high/low)
  • Waktu Tunda: 5-200 detik (dapat diatur)
  • Sensitivitas: 3-7 meter (dapat diatur)
  • Jangkauan Deteksi: <140°
  • Suhu Operasi: -15°C hingga +70°C




Gambar 4. Grafik Respon Sensor PIR

3. Sensor Vibration

Sensor getaran SW-420 adalah modul sensor yang didesain untuk mendeteksi getaran atau guncangan. Sensor ini menggunakan saklar pegas internal yang akan terhubung saat terjadi getaran melebihi ambang batas tertentu. SW-420 biasanya digunakan dalam proyek-proyek elektronik sederhana yang memerlukan deteksi getaran, seperti alarm anti-maling atau pengukur getaran.



Gambar 5. Sensor Vibration

 

Prinsip kerja sensor getaran SW-420 adalah seperti saklar pegas sederhana. Berikut adalah penjelasan prinsip kerjanya. Saat kondisi Normal(tidak ada getaran), Hubungan listrik (sirkuit tertutup) terjadi ketika bola logam konduktif di dalam sensor menggantung di atas dua kontak listrik. Dalam situasi normal, bola logam ini menyentuh kontak bawah sensor. Sensor menghasilkan output yang rendah (0V).


Saat terjadi Suara, Bola logam akan bergerak dari kontak bawah ketika sensor bergetar atau goyah. Ini menyebabkan hubungan listrik terputus. Sensor menghasilkan output level HIGH, biasanya 3.3V atau 5V, tergantung pada tegangan operasi. Apabila getaran dihentikan, maka
bola logam akan kembali ke posisi awalnya saat getaran berhenti dan menyentuh kontak bawah.Hubungan listrik disambungkan kembali melalui sirkuit tertutup. Sensor mengembalikan output ke level sebelumnya.

Karakteristik Sensor Vibration SW-420:

·       Tegangan Operasi: Nilai: 3.3V hingga 5V DC

·       Konsumsi Daya: Nilai: 15 mA

·       Output: Jenis: Sinyal digital (tinggi/tinggi atau 1/0)

·       Sensitivitas: Nilai: Sensitivitas dapat diatur melalui potensiometer pada modul

·       Waktu Respon: Nilai: Kurang dari 2 milidetik

·       Suhu Operasional: Nilai: -10°C hingga 70°C

·       Dimensi: Nilai: 3.2 cm x 1.4 cm x 0.7 cm (modul)

·       Indikator LED: Nilai: LED on-board untuk indikasi output



Gambar 6. Grafik Respon Sensor SW-420

4. Sensor Touch

Sensor sentuh adalah perangkat elektronik yang dapat mendeteksi sentuhan atau kontak fisik. Sensor ini mengubah perubahan kapasitansi, resistansi, atau medan listrik yang disebabkan oleh sentuhan menjadi sinyal listrik yang dapat diproses oleh mikrokontroler atau rangkaian elektronik lainnya.



Gambar 7. Touch Sensor

Prinsip kerja saat kondisi touch sensor tidak terdentuh, maka sensor menunjukkan output yang tinggi, yang menunjukkan bahwa tidak ada sentuhan yang terdeteksi. Apabila suatu disentuh, kapasitas sensor berubah ketika jari atau objek konduktif lainnya menyentuh permukaannya. Ini terjadi karena jari berfungsi sebagai elektroda tambahan dan mengurangi jarak antara elektroda dan tanah, sehingga meningkatkan kapasitansi sensor.


Mengidentifikasi Perubahan dalam Kapasitansi, rangkaian osilator internal sensor TTP223 sensitif terhadap perubahan kapasitansi. Perubahan frekuensi osilator diubah oleh peningkatan kapasitansi akibat sentuhan. Rangkaian pembanding, juga dikenal sebagai comparator, mendeteksi perubahan frekuensi ini. Setelah itu rangkaian pembanding akan menghasilkan jika perubahan kapasitansi melebihi ambang batas yang ditentukan.

 

Karakteristik Sensor Sentuh TTP223:

  1. Tegangan Operasi: Nilai: 2.0V hingga 5.5V DC
  2. Konsumsi Daya: Nilai: < 1.5 µA (mode standby), < 8 µA (mode operasi)
  3. Output: Jenis: Sinyal digital

Tegangan Tinggi: 0.8 * VCC (maksimal)

Tegangan Rendah: 0.3 * VCC (maksimal)

  1. Response Time:
      • Mode fast response: Sekitar 220 ms
      • Mode low power: Sekitar 60 ms
  2. Sensitivitas: Kapastansi yang Disarankan: 0.1 μF hingga 50 pF untuk sensitivitas yang berbeda
  3. Mode Operasi:
    • Mode Touch: Ketika disentuh, output berubah (tinggi/rendah)
    • Mode Toggle: Ketika disentuh sekali, output berubah (tetap tinggi/rendah) sampai disentuh kembali
  4. Suhu Operasional: -30°C hingga 85°C
  5. Dimensi Fisik: Ukuran Modul: 2.4 cm x 2.4 cm (modul breakout TTP223)

 



Gambar 8. Grafik Respon Touch Sensor

5. Ultrasonic Sensor

Sensor ultrasonik adalah perangkat elektronik yang menggunakan gelombang suara ultrasonik (frekuensi di atas 20 kHz) untuk mendeteksi keberadaan dan jarak objek. Sensor ini bekerja berdasarkan prinsip pantulan gelombang suara, di mana sensor memancarkan gelombang ultrasonik dan kemudian mengukur waktu yang dibutuhkan gelombang tersebut untuk kembali setelah dipantulkan oleh objek.



Gambar 9. Ultrasonic Sensor

Sensor ultrasonik dilengkapi dengan transduser pemancar  atau transmitter, yang mengubah sinyal listrik menjadi gelombang suara ultrasonik. Gelombang ultrasonik ini kemudian dipancarkan ke objek atau target yang ingin dideteksi. Sebagian energi gelombang ultrasonik akan dipantulkan kembali ke sensor saat gelombang ultrasonik merambat di udara dan mengenai permukaan objek.

Sensor ultrasonik juga memiliki transduser penerima, atau penerima, yang mengambil gelombang pantulan dan mengubahnya menjadi sinyal listrik. Sensor ultrasonik menghitung waktu tempuh gelombang ultrasonik dari pemancar ke objek dan kembali ke penerima.
Menghitung Jarak Sensor mengukur waktu tempuh. Jarak = (waktu tempuh x kecepatan suara) / 2

 

Karakteristik Utama:

  • Tegangan Operasi (Vcc): 5V DC
  • Konsumsi Arus: 15mA
  • Frekuensi Kerja: 40kHz
  • Jangkauan Pengukuran: 2cm - 400cm (atau 4m)
  • Resolusi: 0.3cm
  • Sudut Pengukuran: <15 derajat
  • Output:
    • Trigger: Input untuk memicu pengukuran jarak
    • Echo: Output pulse yang lebarnya sebanding dengan jarak objek
  • Dimensi: 45mm x 20mm x 15mm


Gambar 10. Grafik Respon Ultrasonic Sensor

6. LCD 16x2

LCD (Liquid Crystal Display) 16x2 adalah jenis tampilan yang terdiri dari dua baris, masing-masing dengan 16 karakter. LCD ini umum digunakan dalam proyek-proyek elektronik untuk menampilkan data, status, atau informasi lainnya. LCD 16x2 menggunakan teknologi cairan kristal untuk mengontrol piksel, yang memungkinkan tampilan data dengan konsumsi daya yang rendah.



Gambar 11. LCD 16x2

Karakteristik LCD 16x2:

  1. Tegangan Operasi: Nilai: 4.7V hingga 5.3V DC (biasanya 5V)
  2. Arus Operasi: Nilai: Sekitar 1 mA tanpa backlight, hingga 15 mA dengan backlight
  3. Interface:
    • Jenis: Parallel (8-bit atau 4-bit)
    • Pin: 16 pin (termasuk VCC, GND, kontrol, dan data)
  4. Jumlah Karakter: Nilai: 16 karakter x 2 baris
  5. Ukuran Karakter: Nilai: 5x8 piksel per karakter
  6. Waktu Respon: Nilai: Beberapa milidetik (ms)
  7. Mode Operasi: Nilai: Bisa dioperasikan dalam mode 8-bit atau 4-bit
  8. Suhu Operasional: Nilai: -20°C hingga 70°C

7. Modul I2C LCD

Modul I2C LCD adalah kombinasi dari layar LCD (Liquid Crystal Display) dengan antarmuka I2C (Inter-Integrated Circuit). LCD berfungsi sebagai tampilan visual, sedangkan I2C adalah protokol komunikasi serial yang memungkinkan mikrokontroler atau perangkat lain untuk berkomunikasi dengan LCD menggunakan hanya dua kabel (SDA dan SCL).



Gambar 12. Modul I2C LCD

Karakteristik Utama:

·       Tegangan Operasi: Nilai: 5V DC

·       Arus Operasi: Nilai: Sekitar 2 mA tanpa backlight

·       Interface: Jenis: I2C (Inter-Integrated Circuit)

   Alamat Default: Biasanya 0x27 atau 0x3F, tergantung model modul

·       Jumlah Karakter: Nilai: 16 karakter x 2 baris

·       Ukuran Karakter: Nilai: 5x8 piksel per karakter

·       Backlight: LED backlight (dapat diatur menggunakan potensiometer)

·       Konsumsi Daya: Tergantung pada konfigurasi backlight

·       Suhu Operasional: Nilai: -20°C hingga 70°C

8. Motor Servo

Motor servo adalah jenis motor yang digunakan untuk mengontrol posisi sudut yang presisi. Motor ini memiliki mekanisme umpan balik yang memungkinkannya untuk mengontrol posisi atau sudut secara akurat. Motor servo biasanya digunakan dalam berbagai aplikasi di mana kontrol posisi yang tepat diperlukan, seperti robotika, sistem kendali otomatis, dan model RC.



Gambar 13. Motor Servo

Karakteristik Motor Servo:

  • Tegangan Operasi: Biasanya 4.8V hingga 6V DC.
  • Torsi: Kekuatan putar motor, biasanya dinyatakan dalam kg.cm atau oz.in.
  • Kecepatan: Kecepatan putar motor, biasanya dinyatakan dalam detik per 60 derajat (s/60°).
  • Rentang Sudut: Sudut maksimum yang dapat diputar oleh poros motor (biasanya 0° hingga 180°).
  • Jenis Gear: Jenis roda gigi yang digunakan dalam gearbox (misalnya, logam atau plastik).
  • Resolusi: Ketepatan posisi motor.
  • Deadband: Rentang sudut di mana motor tidak merespons sinyal kontrol.

9. Solenoid door lock

Solenoid door lock adalah mekanisme pengunci pintu yang menggunakan solenoid sebagai aktuator utamanya. Solenoid adalah perangkat elektromagnetik yang mengubah energi listrik menjadi gerakan mekanis linier. Penggunaan solenoid dalam door lock memberikan keunggulan dalam penguncian atau pembukaan pintu secara otomatis dengan mengontrol aliran arus listrik.



Gambar 14. Solenoid door lock

Karakteristik Solenoid Doorlock:

  • Tegangan Operasi: Biasanya 12V atau 24V DC.
  • Arus Operasi: Bervariasi tergantung pada ukuran dan kekuatan solenoid, biasanya dalam kisaran ratusan miliampere (mA) hingga beberapa ampere (A).
  • Gaya Tarik: Kekuatan yang dihasilkan oleh solenoid untuk menarik plunger, biasanya dinyatakan dalam Newton (N) atau kilogram-force (kgf).
  • Waktu Respons: Waktu yang dibutuhkan solenoid untuk menarik plunger setelah arus listrik dialirkan.
  • Siklus Kerja (Duty Cycle): Persentase waktu solenoid dapat diaktifkan dalam periode tertentu tanpa mengalami overheat.

10. LED

LED (Light Emitting Diode) adalah semikonduktor yang mengubah arus listrik menjadi cahaya secara langsung melalui efek elektroluminesensi. LED sangat umum digunakan dalam berbagai aplikasi karena efisiensi energi yang tinggi, umur panjang, dan ketersediaan dalam berbagai warna.



Gambar 15. LED

Karakteristik LED:

  • Tegangan Maju (Vf): Tegangan minimum yang diperlukan agar LED dapat menyala. Biasanya berkisar antara 1.8V hingga 3.3V, tergantung pada warna LED.
  • Arus Maju (If): Arus maksimum yang dapat dialirkan melalui LED tanpa merusaknya. Biasanya berkisar antara 10mA hingga 30mA.
  • Intensitas Cahaya (Luminous Intensity): Jumlah cahaya yang dipancarkan oleh LED, biasanya dinyatakan dalam millicandela (mcd).
  • Panjang Gelombang (Wavelength): Menentukan warna cahaya yang dipancarkan oleh LED.
  • Sudut Pandang (Viewing Angle): Sudut di mana cahaya LED dapat terlihat dengan jelas.

11. Piezo Buzzer

Buzzer adalah jenis transduser elektro-akustik yang mengubah sinyal listrik menjadi suara yang dapat didengar. Biasanya buzzer digunakan untuk memberikan sinyal audio atau alarm dalam berbagai aplikasi.



Gambar 16. Buzzer

Karakteristik Utama:

·       Tegangan Operasi: Tegangan yang dibutuhkan untuk mengaktifkan buzzer (biasanya 3V, 5V, 12V, atau 24V DC).

·       Frekuensi Resonansi: Frekuensi di mana buzzer menghasilkan suara paling keras.

·       Tingkat Tekanan Suara (SPL): 100 dB

·       Konsumsi Arus: Jumlah arus yang dibutuhkan buzzer saat beroperasi.

·       Jenis Suara: Terus-menerus (continuous) atau terputus-putus (intermittent).

·       Polaritas: Beberapa buzzer memiliki polaritas positif (+) dan negatif (-) yang harus diperhatikan saat pemasangan.

·       Ukuran Fisik: Diameter dan tinggi buzzer.




c) Rangkaian Simulasi, Rangkain Prototype dan Prinsip kerja





Prinsip Kerja Rangkaian

Pada saat jama’ah ingin berinfaq dengan jarak tertentu dari kotak infaq, sensor pir(passive infrared) yang diletakkan dikotak infaq akan mendeteksi jama’ah. Jika sensor pir mendeteksi kehadiran seseorang, sistem akan memberi sinyal ke arduino dan arduino memberi daya ke motor servo membuat lubang kotak infaq terbuka. Lubang kotak infaq akan terbuka selama periode tertentu apabila sensor pir masih mendeteksi kehadiran jama’ah.  Apabila kotak infaq telah penuh, sensor ultrasonik akan mendeteksi hal tersebut.

Sensor ultrasonik menggunakan gelombang suara untuk mengukur jarak antara sensor dan permukaan benda (dalam hal ini uang dalam kotak). Sensor ditempatkan di atas kotak infaq menghadap ke bawah, jika jarak antara sensor dan tumpukan uang mendekati jarak yang telah ditentukan (misalnya sangat pendek karena uang hampir memenuhi kotak), maka sistem akan menandakan bahwa kotak sudah penuh. Informasi ini ditampilkan di lcd yang terhubung dengan mikrokontroler untuk menampilkan informasi visual tentang status kotak infaq.

Kotak infaq juga dilengkapi sensor rfid (radio frequency identification) dan sensor getaran(vibration) sebagai pengaman, dimana sensor menggunakan gelombang radio untuk membaca informasi yang disimpan dalam tag rfid. Pengguna yang memiliki kartu/tag rfid yang terdaftar yang dapat membuka kotak infaq. Saat kartu/tag rfid yang valid didekatkan, sistem akan mengirimkan sinyal untuk membuka solenoid doorlock agar pintu kotak infaq terbuka. Sedangkan vibration Sensor untuk mendeteksi apabila kotak dibawa dicuri. Sensor getaran mendeteksi perubahan gerakan atau getaran pada kotak. Jika sensor mendeteksi getaran yang signifikan, maka hal ini mengindikasikan kotak sedang dipindahkan dengan cara yang mencurigakan, sistem akan memicu alarm. Alarm yang digunakan ialah piezo buzzer.

Terakhir, kami menggunakan touch sensor pada kotak infaq, dimana hal ini membuat kondisi mikrokontroler dan sensor dalam keadaan mati. Sensor bekerja saat terjadinya sentuhan dan mendeteksi kontak fisik. Sensor ini ditempatkan di lokasi strategis pada kotak infaq. Ketika disentuh, sensor akan mengirim sinyal ke mikrokontroler untuk mematikan daya ke semua sensor dan komponen elektronik dalam keadaan tertentu. Mikrokontroler dan sensor akan berada dalam kondisi mati hingga sensor sentuh diaktifkan kembali.



d) Flowchart dan Program

Flowchart






Program
A. Master #include #define PIR_PIN 2 #define TOUCH_SENSOR_PIN 3 #define VIBRATION_SENSOR_PIN 4 #define SERVO_PIN 9 Servo myservo; void setup() { Serial.begin(9600); pinMode(PIR_PIN, INPUT); pinMode(TOUCH_SENSOR_PIN, INPUT); pinMode(VIBRATION_SENSOR_PIN, INPUT); myservo.attach(SERVO_PIN); myservo.write(0); // Servo in closed position } void loop() { if (digitalRead(TOUCH_SENSOR_PIN) == HIGH) { // System off myservo.write(0); delay(500); while (digitalRead(TOUCH_SENSOR_PIN) == HIGH); // Wait until touch sensor is released } else { handlePIR(); handleVibration(); } } void handlePIR() { if (digitalRead(PIR_PIN) == HIGH) { myservo.write(90); // Open the box delay(5000); // Keep the box open for 5 seconds myservo.write(0); // Close the box } } void handleVibration() { int vibrationValue = analogRead(VIBRATION_SENSOR_PIN); if (vibrationValue > 500) { Serial.println("ALARM"); // Send alarm signal to Slave delay(1000); } }

Slave

B. Slave

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <SPI.h>

#include <MFRC522.h>

#define TRIGGER_PIN 2

#define ECHO_PIN 3

#define RFID_SS_PIN 8

#define RFID_RST_PIN 9

#define BUZZER_PIN 4

#define SOLENOID_PIN 5

LiquidCrystal_I2C lcd(0x27, 16, 2);

MFRC522 rfid(RFID_SS_PIN, RFID_RST_PIN);

Servo myservo;

void setup() {

Serial.begin(9600);

pinMode(TRIGGER_PIN, OUTPUT);

pinMode(ECHO_PIN, INPUT);

pinMode(BUZZER_PIN, OUTPUT);


lcd.begin();

lcd.backlight();


SPI.begin();

rfid.PCD_Init();

myservo.attach(SERVO_PIN);

myservo.write(0); // Servo in closed position

}

void loop() {

if (Serial.available()) {

String message = Serial.readString();

if (message == "ALARM") {

digitalWrite(BUZZER_PIN, HIGH);

delay(1000);

digitalWrite(BUZZER_PIN, LOW);

}

}


handleUltrasonic();

handleRFID();

}

void handleUltrasonic() {

long duration, distance;

digitalWrite(TRIGGER_PIN, LOW);

delayMicroseconds(2);

digitalWrite(TRIGGER_PIN, HIGH);

delayMicroseconds(10);

digitalWrite(TRIGGER_PIN, LOW);

duration = pulseIn(ECHO_PIN, HIGH);

distance = (duration / 2) / 29.1;

if (distance < 5) {

lcd.clear();

lcd.print("Box is Full");

} else {

lcd.clear();

lcd.print("Donate Please");

}

}

void handleRFID() {

if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {

return;

}

// Assuming we have a valid card ID stored

String validID = "YOUR_VALID_ID_HERE";

String readID = "";

for (byte i = 0; i < rfid.uid.size; i++) {

readID += String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");

readID += String(rfid.uid.uidByte[i], HEX);

}

if (readID == validID) {

myservo.write(90); // Open the box

delay(5000); // Keep the box open for 5 seconds

myservo.write(0); // Close the box

}

rfid.PICC_HaltA();

rfid.PCD_StopCrypto1();

}




No comments:

Post a Comment

Periodic Relationships Among The Elements

  BAHAN PRESENTASI MATA KULIAH KIMIA 1  2020 OLEH M.Sean Mahogra Radi 2010952044 DOSEN PENGAMPU Dr.Darwison,MT Referensi: Chang, R. and Gold...