Daftar Isi:

Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips: 7 Langkah (dengan Gambar)
Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips: 7 Langkah (dengan Gambar)

Video: Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips: 7 Langkah (dengan Gambar)

Video: Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips: 7 Langkah (dengan Gambar)
Video: Kecurangan penjual gas elpiji!!!!! 2024, Juli
Anonim
Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips
Tirai Rumah Otomatis – Proyek Mini Dengan Modul BluChip (nRF51 BLE) MakerChips

Bayangkan bangun dan ingin mendapatkan sinar matahari melalui jendela Anda, atau menutup gorden sehingga Anda dapat tidur lebih lama, tanpa usaha untuk mendekatkan diri ke gorden melainkan dengan sentuhan tombol di ponsel cerdas Anda. Dengan Sistem Tirai Rumah Otomatis, Anda dapat mencapainya dengan komponen yang harganya tidak lebih dari $90!

Lihat tutorial ini di Github

Langkah 1: Desain

Desain
Desain

Di jantung Sistem Tirai Rumah Otomatis adalah modul BluChip MakerChips.

BluChip adalah modul Bluetooth kecil berukuran 16.6x11.15mm yang dapat berfungsi sebagai periferal untuk smartphone melalui BTLE.

Klik di sini untuk pengenalan Bluetooth Low Energy (BTLE).

Modul ini terdiri dari SoC nRF51 oleh Nordic Semiconductors, platform hebat untuk aplikasi BLE karena mendukung banyak fitur terintegrasi pada aplikasi Android dan Apple.

Langkah 2: Kit Penjelajah BluChip

Paket Penjelajah BluChip
Paket Penjelajah BluChip
Paket Penjelajah BluChip
Paket Penjelajah BluChip
Paket Penjelajah BluChip
Paket Penjelajah BluChip

Untuk membangun proyek ini, saya mendapatkan BluChip Explorer Kit dari MakerChips yang datang dalam 2 kotak terpisah, satu untuk programmer CMSIS-DAP dan kotak lain yang berisi BluChip di papan tempat memotong roti dengan 2 LED RGB, resistor foto, dan baterai CR2032.

Seperti yang Anda perhatikan, modul BluChip sangat kecil, membuatnya sempurna untuk proyek Bluetooth berdaya rendah tertanam kecil. Ini cocok dengan hanya 6x4 0,1" header di papan tempat memotong roti dan memiliki tambahan 0,05" header di bagian atas papan, cukup mengesankan untuk paket bersertifikat FCC komersial!

Berikut adalah beberapa fitur utama BluChip dari situs web MakerChips:

  • 14 Pin GPIO yang Dapat Diakses
  • Prosesor ARM Cortex M0 32bit dan flash 256KB dan RAM 32KB
  • 16,6 mm x 11,15 mm Modul Bluetooth ® papan roti terkecil yang tersedia
  • Catu daya mendukung 1.8V - 3.6V
  • Fitur Bluetooth

    • BTLE - Bluetooth Hemat Energi - (BLE, BT 4.1)
    • Bluetooth® dan Jepang, FCC, IC yang memenuhi syarat
    • Jam Sistem 32 Mhz Terintegrasi
    • Daya keluaran: +4dBm tipikal
    • Frekuensi: 2402 hingga 2480 MHz

      Antena pola kinerja tinggi terintegrasi

    • Mode Tunggal Bluetooth® Smart Slave/Master
  • Antarmuka yang didukung: SPI, UART, I2C dan 8/9/10bit ADC
  • Dua set pin pemrograman

    • .05" header untuk pemasangan yang mudah ke perangkat CMSIS-DAP dan J-Link
    • .1" header untuk berinteraksi dengan papan tempat memotong roti
  • LED merah yang dapat dikontrol perangkat lunak

Langkah 3: Aplikasi NRF Connect

Image
Image
Aplikasi NRF Connect
Aplikasi NRF Connect
Aplikasi NRF Connect
Aplikasi NRF Connect

Segera setelah Anda membuka kotak penjelajah BluChip, Anda melihatnya menjadi hidup dengan LED berkedip, pemandangan yang cukup menarik, bukan?

Untuk melihat apa yang ada di dalam modul BLE ini, mari kita lanjutkan dan instal aplikasi nRF Connect dari Google Play atau App Store.

Kami akan terhubung ke BluChip dengan telepon kami, jadi buka aplikasi nRF Connect, telusuri layar selamat datang, dan ketuk Aktifkan untuk mengaktifkan Bluetooth. Selanjutnya, ketuk Pindai dan Anda akan segera menemukan bahwa perangkat BluChip Anda terdaftar di bawah tab Pemindai.

Sebelum kita benar-benar terhubung ke BluChip, mari kita dapatkan LED dan letakkan di papan tempat memotong roti di sebelah pin 026(+ve) dan 021(-ve). LED harus segera menyala karena pin 026 mengeluarkan output 3.3V (level logika HIGH) sedangkan pin 021 berlogika LOW(Ground).

Silakan dan ketuk sambungkan untuk membuat koneksi antara ponsel cerdas Anda dan BluChip, yang kemudian membawa Anda ke tab klien perangkat di aplikasi.

Tab klien BluChip menampilkan semua layanan yang tersedia di perangkat Anda. Yang kami minati di sini adalah Layanan BlueChip GPIO (terdaftar sebagai Layanan Tidak Dikenal). Ketuk di atasnya lalu ketuk panah menghadap ke atas di sebelah Karakteristik Modulasi GPIO (terdaftar sebagai Karakteristik Tidak Dikenal).

Munculan nilai tulis akan muncul, memberi Anda opsi untuk mengirim data ke perangkat BluChip Anda. Dalam kasus kami, kami ingin mematikan LED, jadi ketuk panah di sebelah BYTE ARRAY dan ubah format data menjadi UINT 8. Kami akan mengirimkan nomor pin sebagai nilai pertama, jadi masukkan 21 untuk pin021. Ketuk pada nilai tambah untuk mengirim potongan data berikutnya, status pin yang akan disetel (format hex BYTE). Untuk mematikan LED, kita akan mengatur pin 021 ke 3.3V (level logika tinggi), jadi masukkan 01 lalu ketuk Kirim.

LED langsung mati! Untuk menyalakan kembali LED, kirim nilai 0x00 (level logika LOW) ke pin021. Seperti yang terlihat di bawah karakteristik yang terdaftar, nilai terkirim (0x) 15-01 ditampilkan. {[(desimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501 }

Jika Anda memilih simpan nilai ini pada popup nilai Tulis dengan memberinya nama lalu mengetuk simpan, Anda dapat memuatnya di masa mendatang sebagai prasetel untuk modulasi GPIO yang mudah!

Langkah 4: Memprogram BluChip

Memprogram BluChip
Memprogram BluChip
Memprogram BluChip
Memprogram BluChip
Memprogram BluChip
Memprogram BluChip

Anda akan memperhatikan dari video di atas bahwa nama perangkat BluChip di ponsel saya berbeda dari milik Anda, jadi bagaimana cara mengubahnya sesuai keinginan kita?

Firmware aplikasi yang berjalan pada BluChip berfungsi sebagai perangkat Periferal (budak) melalui BLE ke perangkat Pusat (master) seperti smartphone yang terhubung dengannya. Untuk mengubah nama perangkat kita, mari kita masuk ke dalam mem-flash firmware aplikasi ke BluChip kita.

Termasuk dengan kit BluChip Explorer adalah Programmer ARM (CMSIS-DAP). MakerChips telah menyediakan panduan How-To yang rapi tentang detail menginstal firmware ke BluChip dengan CMSIS-DAP.

Untuk mengkompilasi firmware menjadi file hex dan mem-flash-nya, kita memerlukan Keil, nRF51 Software Development Kit (SDK), dan firmware BluChip. Silakan dan unduh dari tautan di bagian "Perangkat Lunak" di MakerChips 'Memrogram BluChip dengan CMSIS-DAP dan halaman Keil.

Instal Keil, lalu ikuti langkah 1-3 di bagian "Membuat File Hex".

Pada titik ini, Anda dapat melanjutkan ke Langkah 4, Membangun kembali semua File Target.

Jika Anda mendapatkan kesalahan terkait "core_cm0.h", Anda perlu menambahkan jalurnya ke proyek untuk mengompilasinya.

Kita hanya perlu mencari file tersebut, dan menemukan direktorinya, yaitu "\components\toolchain\gcc".

Mari sertakan jalur ini ke proyek kita. Klik Opsi untuk Target, buka tab C/C++ lalu sertakan jalur seperti yang ditunjukkan pada Gambar 16.

Setelah menyertakan dependensi yang diperlukan, proyek kami mengkompilasi dan kami sekarang dapat melihat output yang dikompilasi, file hex khusus di "nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_ahc-master\bluchip\s110_with_dfu\arm4\_buildnrf51422_xxac_s110.hex".

Untuk mem-flash file hex ke BluChip, ikuti langkah 1-8 di bagian "Mentransfer File Hex".

Sekarang setelah Anda memuat firmware ke BluChip dengan nama Perangkat khusus, jalankan aplikasi nRF Connect dan pindai perangkat Anda. Anda akan melihat bahwa sekarang dinamai menurut apa yang telah Anda definisikan di DEVICE_NAME di firmware!

Pada langkah selanjutnya, kita akan mulai menyiapkan perangkat keras, elektronik & perangkat lunak Sistem Tirai Rumah Otomatis kami.

Langkah 5: Membangun Tirai Otomatis

Image
Image
Membangun Tirai Otomatis
Membangun Tirai Otomatis
Membangun Tirai Otomatis
Membangun Tirai Otomatis
Membangun Tirai Otomatis
Membangun Tirai Otomatis

Setelah meninjau proses kompilasi dan flashing firmware kita, mari kita lanjutkan untuk membangun tirai bluetooth kita sendiri!

Motor stepper akan digunakan untuk menggerakkan timing belt yang menggerakkan tirai untuk membuka dan menutup. Motor stepper digerakkan oleh IC driver Half-H yang akan dikendalikan oleh BluChip.

Untuk daya, kami akan menggunakan pengatur tegangan AC-DC 12V yang diumpankan ke motor, bersama dengan pengatur tegangan DC-DC LM317 untuk menurunkan 12V ke 3.3V yang akan memberi daya pada IC BluChip dan Stepper Driver.

Anda bisa mendapatkan modul BluChip Anda sendiri dari toko baru MakerChips di Tindie, atau dari Situs Web MakerChips.

Mari dapatkan bagian-bagian yang tercantum di bawah ini selain BluChip Explorer Kit untuk mulai merakit tirai otomatis:

  • Adaptor Daya 12V 1A $3,40
  • Dongkrak barel $0,68
  • Regulator Tegangan LM317T $0,80
  • Resistor (200 & 330 Ohm) $1,69
  • Driver Stepper L293D $1.63
  • Motor Stepper Unipolar $8.00 (atau $1.66 <= memodifikasi unipolar yang lebih kecil ini menjadi stepper bipolar)
  • Sabuk Waktu 6mm $7.31
  • 6mm Gear $0,54 (atau dapat dicetak 3D dari Thingiverse)
  • Katrol 6mm $1,17 (atau dapat dicetak 3D dari Thingiverse)
  • Saklar Batas x2 (opsional) $1,34
  • Kotak Lampiran Proyek (opsional) $1,06
  • Kabel Jumper papan tempat memotong roti $2.09
  • Kabel Jumper Dupont $2.80
  • Karet gelang $1,13
  • Twist Ties $3,22
  • 22 Kawat AWG (opsional) $1,22
  • Ikatan zip (opsional) $0,63
  • Kecilkan tabung (opsional) $1,97

Alat (opsional):

  • Pistol Lem Panas $3,75
  • Besi Solder $6,79

Unduh Bill of Material dari GitHub (Amazon)

Gambar 20 menunjukkan bagaimana Anda akan memasang sistem, tergantung pada fitur apa yang Anda pilih untuk ditambahkan. Jika Anda ingin gerakan yang lebih tepat, Anda akan menambahkan sakelar batas ke proyek.

Sakelar batas adalah titik akhir ke tirai yang memberi tahu BluChip saat dibuka atau ditutup. Tanpa Sakelar Batas, Anda perlu mengonfigurasi firmware untuk menunjukkan seberapa jauh tirai Anda bergerak di bagian "Konfigurasi Firmware" yang akan datang.

Gambar 20 juga menyertakan resistor foto opsional yang memungkinkan deteksi siang dan malam, juga dapat dikonfigurasi di bagian "Konfigurasi Firmware".

Mulai perakitan perangkat keras dengan memasang motor stepper, katrol & timing belt ke bagian atas tirai Anda. (Gambar 21)

Kencangkan sementara timing belt dengan karet gelang. Kemudian, sebelum menyelesaikan proyek, Anda akan mengikatnya bersama-sama untuk menahannya secara permanen.

Untuk memasang gorden ke timing belt Anda, lingkarkan Wire Ties di sekitar ikat pinggang dan kait gorden.

Untuk mendapatkan ide yang lebih baik tentang cara memasang tirai ke sabuk, ikuti Gambar 22. Anda akan mengikat tirai kiri ke bagian belakang timing belt dengan pengikat kawat, dan tirai kanan ke depan timing belt dengan ikatan kawat.

Setelah sabuk diamankan dan tirai diikat, lepaskan motor stepper sehingga kami dapat mulai merakit dan menguji sirkuit elektronik yang akan menggerakkannya. Mulailah membangun elektronik dengan menempatkan Bluchip, IC L293d, dan Regulator Tegangan LM317t pada papan tempat memotong roti sesuai ke Gambar 20.

Masukkan resistor 200 & 330 ohm sesuai dengan Gambar 20. Resistor menyesuaikan output LM317 sehingga memberikan ~3.3V. (Gambar 24)

Masukkan kabel jumper kemudian jack barel kabel seperti yang ditunjukkan pada Gambar 26.

Mari kita pasang adaptor daya kita ke stopkontak, dan pasang adaptor ke jack barel untuk menguji tegangan seperti yang terlihat pada Gambar 27.

Setelah voltase yang benar telah dipastikan, lepaskan colokan listrik dan mulailah menempatkan kabel jumper papan tempat memotong roti yang tersisa sesuai dengan Gambar 20.

Selanjutnya, kita akan menghubungkan motor stepper bipolar kita ke IC L293d.

Pertama, pasang kabel jumper Dupont ke dalam konektor motor stepper seperti yang ditunjukkan pada Gambar 29.

Untuk mengetahui kabel mana yang menuju ke mana, ikuti skema pada Gambar 30.

Seperti yang terlihat pada skema, kabel dari satu kumparan menuju ke Pin2 & Pin6 dari L293D. Memimpin dari koil lain pergi ke Pin11 & Pin14.

Motor stepper bipolar 28BYJ-48 yang dimodifikasi memiliki empat kabel berwarna yang dapat digunakan seperti yang terlihat pada Gambar 31.

Kami menghubungkan biru ke Pin3, kuning ke Pin6, oranye ke Pin11 dan pink ke Pin14 di L293d.

Sirkuit dasar sekarang lengkap!

Jika Anda ingin menerapkan sakelar batas, sambungkan kabel NO & C ke beberapa kabel 22AWG. Di ujung lainnya, pasang jumper DuPont untuk membentuk lead yang pas ke papan tempat memotong roti. (Gambar 32)

Anda dapat memasangnya ke rel gorden seperti yang ditunjukkan pada Gambar 33 dengan karet gelang, atau jika Anda memiliki pistol lem panas, Anda dapat mengikatnya dengan ritsleting ke rel lalu mengoleskan lem panas dalam jumlah yang baik untuk memastikannya tidak bergerak sekitar.

Untuk mendapatkan ide tentang di mana menempatkannya, lihat Gambar 34.

Satu sakelar pembatas dipasang ke ujung paling kiri rel gorden, di antara pengait rel pertama dan pengait kedua, sehingga ketika gorden dibuka, pengait menekan sakelar dan mengaktifkannya. Saklar batas lainnya ditempatkan langsung di tengah rel, menghadap ke kiri. Dengan cara ini, itu akan diaktifkan ketika tirai ditutup.

Masukkan kabel sakelar batas ke papan tempat memotong roti sesuai dengan Gambar 20.

Terakhir, jika Anda ingin gorden Anda terbuka saat matahari terbit dan menutup saat terbenam, Anda perlu memasang resistor foto seperti yang ditunjukkan pada Gambar 36, dan memasangnya di dekat tempat yang memiliki akses ke sinar matahari saat fajar.

Setelah Anda selesai dengan pengaturan sirkuit papan tempat memotong roti, bersiaplah dan hubungkan programmer Anda ke BluChip untuk mem-flash firmware. Unduh firmware dari GitHub dan ekstrak ke direktori SDK Anda seperti yang Anda lakukan sebelumnya.

Unduh ble_app_ahc.zip dari Github.

Buka proyek, lalu kompilasi dan unggah firmware ke BluChip.

Sebelum mengujinya, kami akan memasukkan papan tempat memotong roti ke dalam kotak dan membuat lubang untuk kabel dan LED Status Tirai kami.

Tempatkan papan tempat memotong roti ke dasar kotak penutup dan buat lubang untuk kabel. Pembukaan juga berfungsi sebagai titik bagi BluChip untuk berkomunikasi dengan perangkat lain melalui antenanya. (Gambar 37)

Bor lubang seukuran LED di sisi enklosur dan pasang LED di atasnya. Kawat LED sesuai dengan Gambar 20.

Temukan tempat yang cocok untuk memasang kotak penutup di sebelah kiri rel tirai, dekat dengan stopkontak. Pasang kembali motor dan lakukan tes tegangan terakhir pada timing belt, pastikan tidak ada kendur. (Gambar 39)

Sekarang saatnya untuk menguji sistem rakitan kami. Masukkan adaptor daya dan jalankan aplikasi nRF Connect Anda. Anda akan menemukan perangkat bernama Curtains. BluChip.

Hubungkan ke sana, kirim nilai UINT8 1 (Buka tirai) ke Karakteristik Tidak Dikenal di bawah layanan Tidak Dikenal, dan lihat tirai terbuka!

Sekarang setelah Anda berhasil menguji sistem Anda, mari kita lihat konfigurasi beberapa kode yang menjalankan pertunjukan di BluChip.

Langkah 6: Konfigurasi Firmware BluChip

Konfigurasi Firmware BluChip
Konfigurasi Firmware BluChip
Konfigurasi Firmware BluChip
Konfigurasi Firmware BluChip
Konfigurasi Firmware BluChip
Konfigurasi Firmware BluChip

Proyek firmware Tirai Rumah Otomatis sebagian besar terdiri dari 4 file: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Saat membangun elektronik & perangkat keras, kami memiliki opsi untuk memilih apakah kami ingin sakelar batas untuk meningkatkan akurasi sistem otomatis kami.

Dalam kode dari ahc.h, kita dapat melihat #define untuk LIMIT_SWITCHES.

Mengkompilasi dan mem-flash kode dengan #define LIMIT_SWITCHES memungkinkan penggunaan kedua sakelar batas untuk mendeteksi saat tirai dibuka dan ditutup.

Mengganti namanya menjadi #undef LIMIT_SWITCHES diperlukan jika Anda memilih untuk tidak menyertakan sakelar batas untuk proyek Anda. Dalam hal ini, Anda perlu menyesuaikan jarak yang ditempuh tirai Anda dalam variabel CURTAIN_OPEN_STEPS dan CURTAIN_CLOSE_STEPS. Sesuaikan nilai ini untuk memperpanjang atau memperpendek jarak perjalanan tirai.

Opsi lainnya, menambahkan fotoresistor, dapat diaktifkan dengan memodifikasi #undef LDR menjadi #define LDR. LDR adalah singkatan dari Light-dependent resistor, juga dikenal sebagai photoresistor. Saat kami mengaktifkan LDR, photoresistor mengetahui saat terang atau gelap di luar, dan membantu Anda menutup atau membuka tirai di awal atau akhir hari.

Selain mengonfigurasi Limit Switch dan Photoresistor, mari kita lihat beberapa blok kode utama lainnya yang memungkinkan Anda membuka dan menutup tirai secara otomatis.

File ble_ahc_service.c & ble_ahc_service.h berisi kode yang mengirimkan data dari ponsel Anda ke BluChip.

Ketika BluChip menerima data, itu mem-parsingnya sesuai dengan apakah 0 atau 1 dikirim. Kemudian mengaktifkan LED status, melakukan gerakan motor, dan kemudian menonaktifkan penyelesaian sinyal LED.

Fungsi ahc_init() dari ahc.h dijalankan di awal loop utama, menginisialisasi semua pin pada BluChip.

Langkah 7: Ringkasan

Untuk menyimpulkan, ini adalah proyek yang sangat menyenangkan dan cukup mudah untuk mempelajari dasar-dasar BLE. Fakta bahwa modul breakout BluChip pas di papan tempat memotong roti membuatnya sangat mudah untuk membuat prototipe dengan cepat di papan tempat memotong roti apa pun yang mungkin Anda miliki.

Saya akan mengatakan bahwa setelah membangun tirai otomatis saya, saya sudah memikirkan berbagai hal lain untuk menghubungkan BluChip, termasuk neopiksel pintar, OLED untuk membuat jam tangan digital, robot yang dikendalikan ponsel cerdas, dan banyak proyek elektronik berdaya rendah lainnya. ide yang membutuhkan komunikasi nirkabel yang ringkas!

Siapa pun yang tertarik dengan elektronik dan pemrograman akan terkejut dengan apa yang ditawarkan BluChip, serta kemudahan menyiapkan dan mengimplementasikan BLE untuk mengubah proyek menjadi lebih keren.

Mulai sekarang, saya akan kembali menikmati Tirai Rumah otomatis saya yang praktis..

Direkomendasikan: