Tentang proyek ini
Apa itu?
Masuk akal, pendekatan yang paling dapat diandalkan untuk memperlambat penyebaran virus corona adalah dengan menjauhkan diri dari orang lain; mencegah lebih baik daripada mengobati. Namun, akan menjengkelkan untuk berbalik setiap tiga puluh detik dan melihat apakah seseorang mendekati Anda. Akan sangat membantu jika ada perangkat yang bisa memperingatkan orang lain untuk menjauh dari Anda. Itulah tujuan di balik proyek ini:untuk memperingatkan orang lain agar menjaga jarak 2 meter dari Anda. Ini adalah 2-in-1 karena termistor tidak hanya digunakan untuk menambah akurasi pengukuran jarak (kecepatan suara berubah tergantung pada suhu) tetapi juga berarti bahwa – dengan menggunakan tombol atau sensor sentuh untuk beralih antara mode – dapat memiliki dua mode:memperingatkan jika seseorang mendekati Anda (Mode 1) dan mengukur suhu dan jarak (Mode 2). Mode pengukuran menunjukkan suhu dan jarak pada LCD.
Bagaimana cara kerjanya?
- Suhu digunakan untuk menghitung jarak dengan lebih akurat.
Jika Arduino dalam Mode 1:
- Jika jaraknya antara 2m dan 1m, lampu latar LCD menyala dan LCD menunjukkan "Harap menjauh" dan seberapa jauh orang tersebut.
- Jika jarak 1m - 50cm lampu latar LCD berkedip dan LCD menunjukkan "Jauhkan"
- Jika jaraknya kurang dari 50cm, lampu latar akan mati dan menyala dua kali dalam satu detik dan LCD menunjukkan "MENJAUH!"
Jika Arduino dalam Mode 2, LCD menunjukkan jarak di bagian atas dan suhu di bagian bawah layar.
Untuk melindungi komponen dari hujan, saya memasang setengah botol plastik yang dapat didorong ke atas saat hujan.
Tas ini dapat dilampirkan (menggunakan dua tali) dan mudah dilepas dari bagian bawah ransel.
Sensor sentuh digunakan untuk beralih antar mode.
Bagaimana cara membangunnya?
Hubungkan komponen sesuai dengan diagram sirkuit di bawah ini.
Setelah Anda selesai melakukannya, impor perpustakaan di bawah bagian bernama 'Kode' – yang dapat Anda lakukan dengan (dengan asumsi Anda telah membuka Arduino IDE) pergi ke 'Sketsa' -> 'Sertakan Perpustakaan' -> 'Tambahkan Perpustakaan .ZIP. ..' dan memilih perpustakaan (yang harus berupa file .zip). Kedua perpustakaan diperlukan agar kode berfungsi.
Setelah semua selesai, Anda dapat mengunggah kode di bawah ini.
Kode
KodeArduino
Upload ke Arduino.#include #include #define trigPin 7#define echoPin 6#define buzzer 9#define backlight 10LiquidCrystal lcd(12, 11, 5, 4, 3 , 8);UltraSonicDistanceSensor distanceSensor(trigPin, echoPin);int tempReading;double tempK;float tempC;int rounded;int temp_round;modus boolean yang mudah menguap =0;double distance;void setup() { lcd.begin(16, 2); attachInterrupt(0, changeMode, FALLING); pinMode(2, INPUT); pinMode(buzzer, OUTPUT); pinMode (lampu latar, OUTPUT); digitalWrite(lampu latar, TINGGI); backlightOn();}void loop() { tempReading =analogRead(A0); tempK =log(10000.0 * ((1024.0 / tempReading - 1))); tempK =1 / (0.001129148 + (0,000234125 + (0,0000000876741 * tempK * tempK )) * tempK ); tempC =tempK - 273,15; jarak =distanceSensor.measureDistanceCm(tempC); temp_round =bulat(tempC); if (mode ==1) { backlightOn(); if (jarak>=300 || jarak <=0) { dibulatkan =0; lcd.clear(); lcd.print("Di luar jangkauan"); lcd.setCursor(0, 1); lcd.print("Suhu:" + String(temp_round) + "C"); } else { bulat =bulat(jarak); lcd.clear(); lcd.print("Jarak :"); lcd.print(bulat); lcd.print("cm"); lcd.setCursor(0, 1); lcd.print("Suhu:" + String(temp_round) + "C"); } } else { if (jarak>=300 || jarak <=0) { dibulatkan =0; lcd.clear(); lampu latarMati(); } else { bulat =bulat(jarak); if (jarak>=200) { backlightOff(); lcd.clear(); } else if (jarak <=200 &&jarak> 100) { backlightOn(); lcd.clear(); lcd.print("Harap menjauh"); lcd.setCursor(0, 1); lcd.print("Jarak:"); lcd.print(bulat); lcd.print("cm"); } else if (jarak <=100 &&jarak> 50) { backlightOn(); lcd.clear(); lcd.print("Jauhi"); lcd.setCursor(0, 1); lcd.print("Jarak:"); lcd.print(bulat); lcd.print("cm"); penundaan (200); berdengung(); lampu latarMati(); penundaan(100); buka suara(); lampu latar Aktif(); penundaan(100); } else if (jarak <=50) { backlightOn(); lcd.clear(); lcd.print("PERGI!"); lcd.setCursor(0, 1); lcd.print("Jarak:"); lcd.print(bulat); lcd.print("cm"); penundaan (200); berdengung(); lampu latarMati(); penundaan (200); buka suara(); lampu latar Aktif(); penundaan (200); berdengung(); lampu latarMati(); penundaan (200); buka suara(); lampu latar Aktif(); } } } delay(700);}void changeMode() { mode =!modes;}void backlightOn() { digitalWrite(backlight, HIGH);}void backlightOff() { digitalWrite(backlight, LOW);}void buzz() { digitalWrite(buzzer, TINGGI);}batalkan unbuzz() { digitalWrite(buzzer, RENDAH);}
arduino-lib-hc-sr04-master.zip
https://github.com/Martinsos/arduino-lib-hc-sr04 LiquidCrystal.zip
https://github.com/arduino-libraries/LiquidCrystal Skema
coronavirus_distancing_WQxTcxgmYm.fzz