Merakit Helm Cerdas di Rumah

Helm sangat penting bagi pengendara sepeda dan sering kali kita telah melihat bahwa helm telah menyelamatkan nyawa orang. Jika seseorang memakai helm, risiko cedera kepala dan otak sangat berkurang. Helm biasa yang mudah didapat di pasaran tidak menjamin keamanan 100% karena tidak ada fitur deteksi alkohol, tidak ada notifikasi setelah kecelakaan, dll. Fitur yang sudah saya sebutkan tersedia di Helm Cerdas yang kebanyakan dipakai oleh pengendara sepeda motor kelas berat dan harganya sekitar $ 300-400. Mengingat hal ini hari ini saya akan merancang Helm Cerdas ramah anggaran yang akan memiliki fitur seperti deteksi alkohol, pemberitahuan kecelakaan, pelacak GPS, dll. Helm ini dapat dengan mudah dirancang di rumah tanpa kerepotan jika seseorang memiliki pengetahuan tentang sirkuit dan dia / dia dapat melakukan simulasi berbasis perangkat lunak. Ikuti prosedur yang diberikan di bawah ini selangkah demi selangkah untuk menyelesaikan proyek ini.

Bagaimana Cara Merakit Komponen Elektronik Dasar Dengan Modul GSM?

Lebih baik menggambar sketsa notebook kasar dari helm sebelum memulai proyek ini karena ini akan memungkinkan kita untuk memahami penempatan komponen dengan lebih baik dan merakit sirkuit akan memudahkan kita. Pendekatan yang sangat baik sebelum memulai pekerjaan adalah membuat daftar lengkap semua komponen untuk menghemat waktu dan menghindari kemungkinan macet di tengah proyek. Daftar lengkap dari semua komponen yang dengan mudah tersedia di pasar diberikan di bawah ini:

Langkah 1: Komponen yang Digunakan (Perangkat Keras)

Langkah 2: Komponen yang Digunakan (Perangkat Lunak)

Langkah 3: Diagram Blok

Untuk mendemonstrasikan kerja helm dengan baik, saya telah membuat diagram blok yang ditunjukkan di bawah ini:

Langkah 4: Prinsip Kerja

Semua jenis papan Arduino dapat digunakan dalam proyek tetapi saya lebih suka Arduino Nano karena dua di antaranya akan ditempatkan di dalam helm dan membutuhkan lebih sedikit ruang. Saya telah menggunakan sensor Alkohol MQ-3 untuk menentukan jumlah Alkohol yang diambil pengemudi dan level ini ditunjukkan dengan LED Bi-Color. Jika pengemudi telah meminum alkohol dalam jumlah besar, LED akan menyala Merah dan pemberitahuan SMS dikirim ke nomor yang disebutkan dalam kode melalui GPS. Jika LED menyala Kuning itu berarti tingkat alkohol sedang dan jika berubah hijau itu artinya pengemudinya tidak mabuk. Karenanya, ini memastikan keselamatan pengemudi dan risiko kecelakaan diminimalkan untuk sebagian besar. Itu Sensor ultrasonik akan ditempatkan di belakang helm dan akan terus menghitung jarak antara pengendara dan kendaraan di belakang. Jika kendaraan mendekati pengendara dengan kecepatan yang sangat tinggi, sensor ultrasonik akan mengirimkan sinyal ke Arduino untuk memicu bel sehingga pengendara akan menyingkir dan membiarkan kendaraan lewat. Saya telah menyertakan file Modul GPS untuk mengirim peringatan ke nomor ponsel tertentu jika terjadi kecelakaan. Untuk mendeteksi kecelakaan, sensor getaran disertakan dalam rangkaian yang dapat disetel ke tingkat getaran tertentu dan segera memberi tahu modul GSM untuk mengirim pemberitahuan ke nomor tertentu sebagai panggilan untuk meminta bantuan. Dua Arduino akan digunakan dalam proyek ini. Satu akan dihubungkan ke Sensor Ultrasonik dan Sensor Alkohol dan yang lainnya akan dihubungkan ke modul GSM dan sensor getaran. Akan ada dua sirkuit terpisah yang akan ditempatkan di dalam helm dan akan dihubungkan ke baterai yang sama. catatan:Kapasitor variabel yang ada di sensor getaran akan disetel.

Langkah 5: Merakit Sirkuit Pada Proteus

  1. Setelah Anda mengunduh dan menginstal perangkat lunak Proteus, buka. Buka skema baru dengan mengklik ISISikon di menu.
  2. Ketika skema baru muncul, klik pada P.ikon di menu samping. Ini akan membuka kotak di mana Anda dapat memilih semua komponen yang akan digunakan.
  3. Sekarang ketikkan nama komponen yang akan digunakan untuk membuat rangkaian. Komponen akan muncul dalam daftar di sisi kanan.
  4. Dengan cara yang sama, seperti di atas, cari semua komponen seperti di atas. Mereka akan muncul di Perangkat Daftar.

Langkah 6: Diagram Sirkuit

Pasang sirkuit perangkat keras Anda sesuai dengan diagram sirkuit yang ditunjukkan di bawah ini:

  1. Diagram Sirkuit # 1:
  2. Diagram Sirkuit # 2:

Langkah 7: Memulai Arduino

Jika sebelumnya Anda belum familiar dengan Arduino IDE, jangan khawatir karena di bawah ini, Anda dapat melihat langkah-langkah jelas burning code pada papan mikrokontroler menggunakan Arduino IDE. Anda dapat mendownload Arduino IDE versi terbaru dari sini dan ikuti langkah-langkah di bawah ini:

  1. Hubungkan papan Arduino Nano Anda ke laptop Anda dan buka panel kontrol. di panel kontrol, klikPerangkat keras dan Suara. Sekarang klikPerangkat dan Printer.Di sini, temukan port tempat papan mikrokontroler Anda terhubung. Dalam kasus saya itu COM14tetapi berbeda di komputer yang berbeda.
  2. Kami harus menyertakan perpustakaan untuk menggunakan Modul GSM. Pergi ke Sketch> Include Library> Add .ZIP Library.
  3. Klik pada menu Alat dan atur papan ke Arduino Nano.
  4. Di menu Alat yang sama, Setel Prosesor ke ATmega328P (Old Bootloader).
  5. Di menu Alat yang sama, setel port ke nomor port yang Anda amati sebelumnya di Perangkat dan Printer.
  6. Unduh kode yang terlampir di bawah ini dan tempelkan ke Arduino IDE Anda. Klik pada unggah tombol untuk membakar kode pada papan mikrokontroler Anda.

Langkah 8: Kode Proyek

Kode ini agak panjang tetapi sangat sederhana. Beberapa bagiannya dijelaskan di bawah ini:

1. Pada awalnya, perpustakaan disertakan sehingga kita dapat dengan mudah berkomunikasi dengan perangkat periferal khusus.

#include "Adafruit_FONA.h" #include  SoftwareSerial fonaSS = SoftwareSerial (FONA_TX, FONA_RX); SoftwareSerial * fonaSerial = & fonaSS; Adafruit_FONA fona = Adafruit_FONA (FONA_RST);

2. Kemudian ditentukan pin pada Arduino nano yang akan digunakan untuk menghubungkan sensor eksternal ke mikrokontroler. Pin ini akan bertanggung jawab untuk Input dan Output dari data di mikrokontroler.

# tentukan FONA_RX 2 # tentukan FONA_TX 3 # tentukan FONA_RST 4 // sensor getaran # tentukan VS 10 # tentukan R 2 # tentukan Y 4 # tentukan MQ3 A0 # tentukan bel 9. #define triggerPin 7 // triggering pada pin 7 #define echoPin 8 // echo pada pin 8

3. Kemudian variabel yang berbeda diinisialisasi yang nantinya akan digunakan dalam proses perhitungan selama menjalankan kode. Buffer juga dibuat yang akan digunakan dengan modul GSM.

int gaslevel; // ini adalah buffer yang besar untuk balasan char replybuffer [255]; uint8_t readline (char * buff, uint8_t maxbuff, uint16_t timeout = 0); tipe uint8_t; int vs = 10; int shockVal = TINGGI;

4. batal penyiapan ()adalah fungsi yang dijalankan hanya sekali saat mikrokontroler dalam keadaan hidup atau tombol aktifkan ditekan. baud rate diatur dalam fungsi ini yang pada dasarnya adalah kecepatan dalam bit per detik yang digunakan mikrokontroler untuk berkomunikasi dengan sensor eksternal. Semua pin Arduino diinisialisasi di sini yang akan digunakan untuk mengambil input dari sensor atau mengirim output ke perangkat lain. Modul GSM juga diinisialisasi dalam fungsi ini.

batal penyiapan () {Serial.begin (9600); // kita akan memulai komunikasi serial, sehingga kita dapat melihat jarak pada monitor serial Serial.println ("Tutorial Sensor UltraSonic dari Tech Ponder"); pinMode (triggerPin, OUTPUT); // mendefinisikan pin pinMode (echoPin, INPUT); pinMode (bel, OUTPUT); digitalWrite (buzzer, LOW); pinMode (MQ3, INPUT); pinMode (R, OUTPUT); pinMode (Y, OUTPUT); pinMode (vs, INPUT); while (! Serial); // Serial.println (F ("tes dasar FONA")); // Serial.println (F ("Initializing .... (Mungkin membutuhkan waktu 3 detik)")); fonaSerial-> mulai (4800); if (! fona.begin (* fonaSerial)) {// Serial.println (F ("Tidak dapat menemukan FONA")); sementara (1); } type = fona.type (); // Serial.println (F ("FONA OK")); // Serial.print (F ("Ditemukan")); switch (jenis) {case FONA800L: // Serial.println (F ("FONA 800L")); istirahat; case FONA800H: // Serial.println (F ("FONA 800H")); istirahat; case FONA808_V1: // Serial.println (F ("FONA 808 (v1)")); istirahat; case FONA808_V2: // Serial.println (F ("FONA 808 (v2)")); istirahat; case FONA3G_A: // Serial.println (F ("FONA 3G (American)")); istirahat; case FONA3G_E: // Serial.println (F ("FONA 3G (European)")); istirahat; default: // Serial.println (F ("???")); istirahat; } // Cetak nomor IMEI modul. char imei [15] = {0}; // HARUS menggunakan buffer 16 karakter untuk IMEI! uint8_t imeiLen = fona.getIMEI (imei); if (imeiLen> 0) {// Serial.print ("Module IMEI:"); Serial.println (imei); }}

5. void loop ()adalah fungsi yang berjalan berulang kali dalam satu loop saat mikrokontroler dinyalakan. Kode ditulis untuk sensor ultrasonik yang jika mengukur jarak kurang dari nilai tertentu, itu akan mengirim sinyal ke bel yang akan digunakan untuk memberi tahu pengendara bahwa ada kendaraan yang mendekat. Sensor gas juga terintegrasi di sini. Tiga LED digunakan untuk mengetahui apakah pengendara mabuk berat, sebagian atau kurang mabuk. Jika LED hijau menyala, berarti pengendara baik-baik saja. Di akhir fungsi ini, fungsi lain dipanggil viberationFun ().

void loop () {durasi int, jarak; // Menambahkan durasi dan jarak digitalWrite (triggerPin, HIGH); // memicu penundaan gelombang (seperti berkedip pada LED) (10); digitalWrite (triggerPin, LOW); durasi = pulseIn (echoPin, HIGH); // fungsi khusus untuk mendengarkan dan menunggu jarak gelombang = (durasi / 2) / 29.1; // mengubah angka menjadi cm (jika Anda ingin inci, Anda harus mengubah 29.1 dengan penundaan angka yang sesuai (1000); Serial.print (jarak); // mencetak angka Serial.print ("cm"); / / dan unit Serial.println (""); // hanya mencetak ke baris baru if (jarak <35) {digitalWrite (buzzer, HIGH); Serial.println ("Buzzer On");} digitalWrite (buzzer, LOW ); gaslevel = (analogRead (MQ3)); gaslevel = map (level gas, 0,1023,0,255); if (level gas> 100 && level gas <= 300) {// level gas lebih besar dari 100 dan kurang dari 300 digitalWrite (R , LOW); // LED MERAH mati _delay_ms (500); // delay digitalWrite (Y, HIGH); // LED KUNING menyala _delay_ms (500);} else if (level gas> 300 && gaslevel <= 600) { // tingkat gas lebih besar dari 300 dan kurang dari 600 digitalWrite (Y, LOW); // LED KUNING mati _delay_ms (500); digitalWrite (R, HIGH); // LED MERAH menyala} lain {digitalWrite (R, LOW ); // led merah mati digitalWrite (Y, LOW); // LED kuning mati} Serial.println (gaslevel); // cetak nilai pada monitor serial _delay_ms (100); viberationFun ();}

6. viberationFun ()Merupakan fungsi yang akan mendeteksi apakah sepeda motor mengalami tabrakan dengan benda lain atau tidak. Jika mendeteksi tabrakan apa pun, itu akan mengirim pesan ke nomor yang ditentukan dalam kode. Dengan cara ini, berita kecelakaan akan sampai ke orang lain yang akan mengambil langkah-langkah yang diperlukan untuk menyelamatkan pengendara.

void viberationFun () {shockVal = digitalRead (vs); int t = 0; char sendto [11] = "NOMOR ANDA"; char sendto1 [11] = "NOMOR 2 ANDA"; char message [27] = "Kecelakaan telah terdeteksi"; jika (shockVal == HIGH || shockVal == 1) {if (t == 0) {Serial.println (shockVal); if (! fona.sendSMS (sendto, message) &&! fona.sendSMS (sendto1, message)) {Serial.println (F ("Failed")); } lain {Serial.println (F ("Terkirim!")); t = 1; } penundaan (1000); if (! fona.sendSMS (sendto1, message)) {Serial.println (F ("Failed")); } lain {Serial.println (F ("Terkirim!")); t = 1; }}} lain {t = 0; }}

Langkah 9: Merakit Perangkat Keras

Sekarang, karena kita mengetahui koneksi utama dan juga rangkaian lengkap proyek kita, mari kita lanjutkan dan mulai membuat perangkat keras proyek kita. Satu hal yang harus diingat bahwa rangkaian harus kompak dan komponen harus diletakkan dekat. Veroboard adalah opsi yang lebih baik dibandingkan dengan papan tempat memotong roti karena sambungan lepas pada papan tempat memotong roti dan korsleting dapat terjadi dan papan tempat memotong roti memiliki bobot lebih banyak dibandingkan dengan Veroboard. Sirkuit yang ditempatkan pada Veroboard akan berukuran sangat kecil sehingga bisa dipasang di dalam helm dengan mudah.

  1. Ambil Veroboard dan gosok sisinya dengan lapisan tembaga dengan kertas pengerik.
  2. Sekarang Tempatkan komponen dengan hati-hati dan cukup rapat agar ukuran rangkaian tidak menjadi sangat besar.
  3. Hati-hati buat koneksi menggunakan besi solder. Jika ada kesalahan yang dibuat saat membuat koneksi, coba hapus koneksi dan solder koneksi lagi dengan benar, tetapi pada akhirnya, koneksi harus kencang.
  4. Setelah semua koneksi dibuat, lakukan uji kontinuitas. Dalam elektronika, uji kontinuitas adalah pengecekan suatu rangkaian listrik untuk memeriksa apakah arus mengalir pada jalur yang diinginkan (yang sudah pasti merupakan rangkaian total). Uji kontinuitas dilakukan dengan menyetel sedikit voltase (kabel diatur dengan LED atau bagian yang menimbulkan keributan, misalnya, speaker piezoelektrik) di atas jalur yang dipilih.
  5. Jika uji kontinuitas lolos, itu berarti rangkaian dibuat sesuai dengan yang diinginkan. Sekarang siap untuk diuji.
  6. Hubungkan baterai ke sirkuit.

Sisa rangkaian akan ditempatkan di dalam helm kecuali sensor Ultrasonic yang akan dipasang di bagian belakang helm untuk mendeteksi kendaraan yang datang dari belakang. Baterai Lipo digunakan dalam proyek ini karena merupakan baterai yang sangat ringan dan meskipun pengendara akan melakukan perjalanan jauh dapat memberikan waktu yang lebih baik. Sesuaikan baterai Lipo di dalam helm karena karena kondisi cuaca yang keras seperti hujan dapat mengakibatkan kegagalan rangkaian.

Langkah 10: Pengujian

Seperti sekarang, perangkat keras sudah dirakit dan kodenya juga diunggah ke mikrokontroler, mari kita melalui langkah terakhir dan menguji rangkaian. Duduklah di sepeda motor dan belok DI sakelar tombol tekan untuk mengaktifkan sirkuit. Mulailah berkendara di jalan Anda dan minta seseorang untuk mendekati Anda di mobil dengan kecepatan tinggi dari belakang. Anda akan mengamati bahwa bel akan mulai berdering dan setelah itu menginjak rem dengan kecepatan tinggi sehingga dapat terjadi getaran yang besar. Segera setelah getaran terjadi, pemberitahuan peringatan akan dikirim ke nomor ponsel yang Anda sebutkan dalam kode.

Rekomendasi

Ini adalah proyek yang sangat menarik, ada beberapa opsi yang dapat dimasukkan lebih lanjut di dalamnya dengan bantuan beberapa komponen elektronik dasar. Beberapa di antaranya diilustrasikan di bawah ini:

  1. Anda dapat menggunakan Raspberry Pi dengan file Modul kamera Pi dan sesuaikan posisinya sedemikian rupa sehingga Anda dapat mengamati proyeksi pada cermin helm. Dengan cara ini, Anda bisa mendapatkan tampilan belakang jalan dan akan sangat membantu saat menyalip, dll.
  2. Modul relai dapat dihubungkan dengan kunci kontak motor dan dapat diatur sedemikian rupa sehingga kunci kontak berputar. DIhanya jika pengendara telah memakai helm.
  3. Panel surya kecil juga bisa dipasang di bagian atas dan belakang helm sehingga kebutuhan aki berkurang dan bobot sirkuit di dalam helm bisa lebih dikurangi.
Facebook Twitter Google Plus Pinterest