Lampu Otomatis Menyala Saat Anda Tiba: Pencahayaan Cerdas dengan Arduino dan iPhone
Komponen dan Perlengkapan
Arduino Yun
×
1
LED (generik)
×
1
Resistor 221 ohm
×
1
Papan roti (generik)
×
1
Kawat jumper (generik)
×
1
Apple iPhone
×
1
Aplikasi dan Layanan Online
Arduino Web Editor
Blynk
Tentang Proyek Ini
Gambaran Umum
Pernahkah Anda bermimpi bahwa lampu rumah Anda akan menyala saat Anda mendekati rumah, sehingga Anda tidak akan pernah masuk ke rumah dan dikelilingi oleh kegelapan? Perangkat ini bertujuan untuk melakukan semua itu untuk Anda, sehingga lampu Anda akan menyala saat Anda mendekati rumah menggunakan GPS. Lampu akan tetap menyala saat Anda berada di dalam rumah.
Fungsionalitas
Proyek ini menggunakan Blynk untuk beroperasi, Blynk memerlukan data seluler untuk berjalan saat bepergian, jadi harus diaktifkan agar proyek ini berfungsi, perhatikan bahwa akun dan aplikasi Blynk diperlukan untuk menjalankan proyek ini. Proyek ini bekerja cukup sederhana, Blynk memantau lokasi ponsel dan mengirimkan feed ke Arduino Yún. Arduino Yun membandingkan lokasi ponsel dengan lokasi rumah (Rumah diatur secara manual oleh pengguna). Saat ponsel terdeteksi dalam jangkauan rumah, Arduino Yun akan menyala LED. Berikut adalah gambar yang mengilustrasikan hal ini.
Perangkat akan terus memantau lokasi ponsel pengguna, selalu memeriksa apakah pengguna dalam jangkauan rumah. Berikut adalah gambar yang mengilustrasikan gambaran umum kode.
If(isInParameter akan memeriksa apakah pengguna dalam parameter rumah, jika iya, fungsi TurnLEDOn akan dimulai yang akan menyala LED.
Else akan melakukan pernyataan TurnLEDOff yang akan mematikan LED jika pengguna tidak dalam parameter rumah.
Arduino Yun secara otomatis akan mengatur parameter rumah sesuai koordinat rumah. Yun akan membuat persegi di sekitar rumah, dengan 4 titik di setiap sudut, dengan cara ini, jika pengguna berada di dalam persegi, perangkat menyala LED, jika tidak, perangkat mematikan LED. Rentang default untuk persegi sekitar 60 meter ke semua arah dari titik penyiapan.
Berikut adalah beberapa gambar yang menunjukkan perangkat dalam aksi.
Manfaat
Pengguna yang mengoperasikan proyek ini akan mendapatkan manfaat dalam:
Menyala lampu dengan mudah saat memasuki rumah
Memberi tahu orang-orang di rumah bahwa pengguna akan segera tiba
Membangun Proyek
Langkah 1: Alat yang Diperlukan
Ada beberapa hal yang dibutuhkan dalam proyek ini, daftarnya ada di bawah ini.
1, Arduino Yun
1, Papan roti
1, Resistor (220Ω)
1, Smartphone
Kawat Jumper
Langkah 2: Menghubungkan Rangkaian
Proyek ini memiliki rangkaian fisik yang terdiri dari LED dan resistor, berikut adalah gambar skematik proyek ini.
Langkah 3: Mendapatkan Geolokasi Anda
Langkah berikutnya adalah menentukan koordinat geolokasi rumah Anda, gambar di bawah ini akan mengilustrasikan proses ini.
Langkah 4: Pengaturan Blynk
Akun Blynk diperlukan untuk menggunakan proyek ini, Anda perlu mengunduh aplikasi Blynk dari App Store atau Google Play untuk memulai, sekarang ikuti gambar di bawah ini untuk menyiapkan Blynk.
Langkah 5: Mengakui Kode
Kode proyek ini memiliki 3 bagian utama:
Membaca geolokasi
Plotting Lokasi
Kontrol LED
Bagian-bagian ini akan dijelaskan di bawah ini.
Membaca Geolokasi
BLYNK_WRITE(V0) // store the geolocation to variable { latitude = param[0].asFloat(); longitude = param[1].asFloat(); // debugging? - Consider un-commenting the lines below and test manually //latitude = 67.357899; //longitude = -8.259199; }
Bagian kode ini membaca geolokasi dari Pin Virtual Blynk dan menyimpan nilai ke variabel, bagian debug memungkinkan Anda untuk men-debug perangkat dengan memasukkan lokasi tertentu, perhatikan bahwa nilai yang dibaca adalah koordinat ponsel Anda.
Plotting Lokasi
if(latitude <= maxLat && latitude <= minLat && // check if the phone is inside perameters maxLng >= longitude && minLng >= longitude) { geolocation = 1; } else { geolocation = 0; }
Bagian kode ini memeriksa apakah lokasi ponsel berada dalam parameter yang ditetapkan sebagai rumah, perhatikan bahwa persegi otomatis terbentuk di sekitar geolokasi yang dimasukkan, dan Arduino memeriksa apakah ponsel berada di dalam persegi.
Kontrol LED
if(geolocation == 1) // turn LED on if phone is in perameter { digitalWrite(pinLED, HIGH); } else { digitalWrite(pinLED, LOW); }
Bagian sederhana terakhir dari kode menyala LED jika pengguna mendekati atau berada di Rumah dan mematikannya jika pengguna pergi.
Menyiapkan Variabel
Ada beberapa nilai yang perlu diatur dalam proyek ini, untuk memulai masukkan Blynk Auth Token Anda yang diterima melalui email di langkah Pengaturan Blynk di variabel auth[]. Kemudian ambil lintang dan bujur rumah Anda dan masukkan ke dalam variabel myLocationLat dan myLocationLng. Langkah terakhir adalah memeriksa apakah Anda melakukan debug, jika tidak, pertimbangkan untuk mengatur proDebug ke 0 untuk mencegah Serial Prints, jika Anda melakukan debug, Anda mungkin ingin Arduino menerima geolokasi tetap alih-alih geolokasi ponsel Anda, jika Anda pergi ke loop BLYNK_WRITE ada instruksi lebih lanjut di sana.
Library
Bridge - hak cipta (c) Arduino LLC di bawah Lisensi Publik Umum GNU Lesser, library ini ada di domain publik.
Blynk - Blynk library ini dirilis di bawah Lisensi MIT (MIT)
Akhir
Langkah akhir adalah menghubungkan Arduino Yun Anda ke komputer dan mengunggah kode, proyek ini memerlukan Arduino Yun untuk bekerja, dengan modifikasi kode yang ringan, mungkin untuk menjalankan proyek ini pada setiap mikrokontroler yang memiliki WiFi bawaan atau Anda dapat menambahkan modul WiFi ke perangkat Arduino. Perhatikan bahwa data seluler diperlukan agar proyek ini berfungsi saat bepergian.
Latar Belakang
Ini adalah proyek yang ingin saya implementasikan sejak lama, memiliki ide dasar di baliknya, saat pengguna mendekati Rumah, lampu di rumah menyala, saya belum menghubungkan proyek ini ke lampu rumah saya tetapi telah menggunakan LED alih-alih itu, jika Anda ingin menghubungkan proyek ini ke lampu rumah Anda, Anda dapat menambahkan relai dan menghubungkannya ke pin yang sama pada Arduino sebagai LED dan juga menghubungkannya ke kabel yang menghubungkan lampu Anda ke sumber daya, tetapi pertama, uji proyek untuk memastikan bahwa kabelnya benar dan proyek bekerja. Semoga berhasil.
Kode
lightsOnEnter
Seluruh Kode
lightsOnEnter
Adaptasi kode untuk menggunakan ESP8266 alih-alih Yún. Papan Arduino 5v apa pun akan dapat menjalankan kode.