- Peluncur Roket Terkendali Suara berbasis Alexa - Bekerja
- Launchpad untuk NodeMCU Rocket Launch Controller kami
- Komponen yang Diperlukan untuk Alexa Controlled Rocket Launcher
- Diagram Sirkuit Peluncur Roket Arduino
- Membangun Sirkuit di PerfBoard
- Pemrograman NodeMCU untuk Alexa Controlled Rocket Launcher
- Konfigurasi Alexa dengan Aplikasi Android Alexa
- Alexa Controlled Rocket Launcher - Pengujian
Saat musim dingin mendekat; datang pada saat tahun ketika festival cahaya dirayakan. Ya, kita berbicara tentang Diwali yang merupakan festival India sejati yang dirayakan di seluruh dunia. Tahun ini, Diwali sudah berakhir, dan melihat petasan orang-orang, saya mendapat ide untuk membangun Peluncur atau Penyala Roket Terkendali Suara berbasis Alexa, yang dapat meluncurkan roket hanya dengan perintah suara, sehingga sangat aman dan menyenangkan bagi anak-anak.
Untuk memperjelas, saya di sini bukan untuk mendorong orang-orang menembakkan kerupuk di Diwali, pemerintah India telah memberlakukan pembatasan pada kerupuk untuk mengekang polusi dan merupakan tanggung jawab kami untuk mematuhinya. Idenya di sini adalah bahwa alih-alih menghabiskan sepanjang hari menembakkan kerupuk, mari kita membangun penyala roket Arduino yang dikendalikan suara dan menembakkan beberapa roket dengan gaya. Saya melihat itu sebagai win-win.
Peluncur roket Arduino ini akan sangat berbeda dari yang lain. Ini memiliki sasis yang sangat kokoh yang terbuat dari kayu lapis, mekanisme kontrol berbasis relai yang andal, dan mekanisme yang sangat unik untuk meluncurkan dan memuat ulang roket, jadi tanpa penundaan lebih lanjut, mari langsung ke proses pembangunan.
Peluncur Roket Terkendali Suara berbasis Alexa - Bekerja
Mekanisme kerja rangkaian sangat sederhana, komponen utama yang bertanggung jawab untuk meluncurkan roket adalah kabel nichrome, dan berbentuk koil pemanas. Kabel nichrome ini akan berfungsi sebagai penyala roket. Bagaimana? Saya akan tunjukkan nanti.
Seperti yang bisa Anda lihat pada gambar di atas, kawat nichrome datang dalam bentuk heater coil, bagi saya itu cara yang paling mudah untuk mendapatkannya. Kita harus menariknya lurus dan menekuknya untuk membentuk bentuk yang terlihat seperti yang ditunjukkan pada gambar di bawah ini.
Setelah kami melakukan ini, kami akan menyalakannya dengan baterai timbal-asam 12V dan akan menyala merah panas. Ini akan cukup untuk menyalakan bubuk hitam di dalam roket dan akan bekerja seperti dosis sekering normal. Harap diperhatikan bahwa ini adalah pengontrol peluncuran roket berdaya tinggi, arus yang diperlukan untuk membuat kabel merah panas tinggi. Ikuti saran keselamatan saat bekerja dengan arus tinggi.
Setelah pengujian selesai, satu-satunya hal yang tersisa adalah proses pengendalian, yang akan kita lakukan saat kita melanjutkan lebih jauh dalam artikel ini.
Launchpad untuk NodeMCU Rocket Launch Controller kami
Untuk bangunan ini, mari buat landasan peluncuran. Dengan launchpad selesai, kita dapat dengan mudah memuat ulang beberapa cracker dan meluncurkannya dengan sangat mudah. Saya telah membuat landasan peluncuran yang terlihat seperti yang ditunjukkan pada gambar di bawah ini.
Mari melalui proses langkah demi langkah dalam membuat landasan peluncuran. Untuk dua sisi bingkai, saya telah menggunakan dua potong kayu lapis (25X3X1,5) inci panjang. Untuk bagian atas, saya telah menggunakan bagian plywood sepanjang (20X3X1.5) inci dan untuk alasnya, saya telah menggunakan plywood dengan panjang (20X6X1.5) inci, yang akan memberikan stabilitas lebih. Gambar di bawah ini akan memberi Anda gambaran yang jelas.
Sekarang, saatnya membuat filamen berbasis kawat nichrome, yang akan berfungsi sebagai sekering roket kita. Untuk itu, saya telah membeli koil pemanas dasar kawat nichrome 1000W, meluruskannya, dan membuat struktur seperti yang ditunjukkan di bawah ini. Saya harus menggunakan dua tang dan pemotong samping untuk membentuk kawat nichrome seperti yang ditunjukkan di bawah ini.
Setelah ini selesai, saya membagi 20 "potongan balok kayu lapis menjadi tujuh bagian mengukurnya, dan mengebor lubang untuk memasukkan filamen berbasis kawat nichrome, dan setelah selesai, akan terlihat seperti gambar di bawah ini.
Tetapi sebelum menempatkan filamen, saya telah memasang kawat tembaga setebal 1 mm persegi di setiap terminal dan melewatkannya melalui lubang, setelah semuanya selesai, itu tampak seperti gambar di bawah.
Seperti yang Anda lihat, saya juga telah memasang perekat dua komponen untuk mengamankan kawat dan filamen pada tempatnya. Setelah selesai, landasan peluncuran kami selesai. Dan seperti yang Anda lihat dari gambar pertama di bagian ini, saya langsung memasang kabel filamen ke PCB karena kita berurusan dengan arus yang sangat tinggi jadi saya tidak repot-repot memasang terminal sekrup, dan itu menandai ujung sasis kami. proses pembangunan.
Komponen yang Diperlukan untuk Alexa Controlled Rocket Launcher
Untuk sisi perangkat keras, kami telah menggunakan suku cadang yang sangat umum yang bisa Anda dapatkan dengan mudah dari toko hobi lokal Anda, daftar lengkap item diberikan di bawah ini.
- Relai 12V - 3
- Transistor BD139 - 3
- 1N4004 Diode - 3
- Terminal Sekrup 5,08 mm - 1
- LM7805 - Regulator Tegangan - 1
- 100uF Decoupling Capacitor - 2
- 5.1V Zener Diode - 1
- Papan NodeMCU (ESP8266-12E) - 1
- Papan Kinerja Bertitik - ½
- Menghubungkan Kawat - 10
Diagram Sirkuit Peluncur Roket Arduino
Skema lengkap untuk Alexa Controlled Rocket Launcher diberikan di bawah ini. Saya telah menggunakan tag untuk menghubungkan satu pin ke pin lainnya. Jika Anda melihat cukup dekat, seharusnya tidak sulit untuk menafsirkan skema tersebut.
Konstruksi Sirkuit cukup mudah, Jadi saya tidak akan membahas detailnya terlalu banyak.
Pertama, kami memiliki IC1 yang merupakan regulator tegangan LM7805, dengan kapasitor decoupling 100uF yang dilambangkan dengan C1 dan C2. Setelah itu, kami memiliki inti dari proyek kami, papan NodeMCU, yang menampung modul ESP-12E. Karena kami menggunakan baterai timbal-asam 12V untuk memberi daya pada seluruh rangkaian, itulah sebabnya kami harus menggunakan LM7805 untuk terlebih dahulu mengubahnya menjadi 12V ke 5V untuk memberi daya pada papan NodeMCU. Kami melakukannya karena regulator tegangan AMS1117 onboard tidak cukup untuk mengubah 12V langsung ke 3,3V, itulah mengapa 7805 diperlukan.
Selanjutnya, kami memiliki tiga relai 12V, untuk demonstrasi ini, kami menggunakan tiga relai, tetapi seperti yang telah kami sebutkan sebelumnya, landasan peluncuran memiliki placeholder untuk 7 roket. Anda dapat mengubah kode sedikit dan menempatkan ketujuh roket untuk diluncurkan secara bersamaan. Ketiga relai digerakkan oleh T1, T2, dan T3 yang merupakan tiga transistor NPN, dan mereka cukup untuk menggerakkan beban nyata. Akhirnya, kami memiliki tiga dioda freewheeling yang melindungi rangkaian dari lonjakan tegangan tinggi yang dihasilkan oleh relai.
Membangun Sirkuit di PerfBoard
Seperti yang Anda lihat dari gambar utama, idenya adalah membuat sirkuit sederhana yang dapat menangani arus dalam jumlah besar untuk waktu yang singkat, sesuai pengujian kami, 800 milidetik sudah cukup untuk menerangi selembar kertas. Jadi, kami membangun sirkuit pada sepotong perfboard dan menghubungkan semua koneksi utama dengan kabel tembaga setebal 1 mm persegi. Setelah kami selesai menyolder papan. Setelah kami selesai, itu tampak seperti sesuatu yang ditunjukkan di bawah ini.
Pemrograman NodeMCU untuk Alexa Controlled Rocket Launcher
Sekarang perangkat kerasnya sudah siap, saatnya untuk mulai membuat kode untuk peluncur roket yang dikendalikan suara berbasis Alexa. Kode lengkap dapat ditemukan di akhir halaman ini, tetapi sebelum kita mulai, penting untuk menambahkan pustaka yang diperlukan ke Arduino IDE Anda. Pastikan Anda menambahkan pustaka yang benar dari tautan yang diberikan di bawah ini, kode akan menimbulkan kesalahan saat dikompilasi.
- Unduh Perpustakaan Espalexa
Setelah menambahkan pustaka yang diperlukan, Anda dapat langsung mengunggah kode yang diberikan di bagian bawah halaman ini untuk memeriksa apakah rangkaian berfungsi. Jika Anda ingin mengetahui cara kerja kode, teruslah membaca.
Seperti biasa, kami memulai program dengan menambahkan file header yang diperlukan dan menentukan nama pin dan kredensial untuk hotspot kami.
#include
Pindah dengan kode kami, kami memiliki prototipe fungsi dan definisi fungsi panggilan balik.
Fungsi connectToWiFi () digunakan untuk menghubungkan ke jaringan Wi-Fi dan fungsi ini mengembalikan nilai true saat Wi-Fi berhasil tersambung.
Selanjutnya, kami memiliki fungsi panggilan balik kami, fungsi ini akan dipanggil ketika kami memberikan perintah ke Alexa, API espalexa menangani fungsi-fungsi ini
batal allrocket (kecerahan uint8_t); void firstrocket (kecerahan uint8_t); batal secondrock (kecerahan uint8_t); batal roket ketiga (kecerahan uint8_t);
Selanjutnya, kami mendefinisikan Nama Perangkat. Nama perangkat yang ditentukan ini akan tercermin di aplikasi Alexa dan ketika kami mengucapkan perintah, Alexa akan mengenali perangkat dengan nama ini. Jadi nama-nama ini sangat penting.
// Nama perangkat String First_Device_Name = "Semua Roket"; String Secound_Device_Name = "Roket Satu"; String Third_Device_Name = "Roket Dua"; String Forth_Device_Name = "Roket Tiga";
Selanjutnya, kami mendefinisikan wifiStatus variabel boolean , yang akan menyimpan status koneksi Wi-Fi. Akhirnya, kami membuat objek Espalexa espalexa. Kami akan menggunakan objek ini untuk mengkonfigurasi NodeMCU.
// cek status wifi boolean wifiStatus = false; // Objek Espalexa Espalexa espalexa;
Selanjutnya, kami memiliki bagian setup void () . Di bagian ini, kami menginisialisasi komunikasi serial untuk debugging dengan fungsi Serial.begin () . Kami mengatur semua pin yang didefinisikan sebelumnya sebagai output dengan fungsi pinMode () , selanjutnya kami memanggil fungsi connectToWiFi () , itu akan mencoba untuk terhubung ke Wi-Fi selama lima belas kali jika terhubung, itu akan kembali benar jika tidak terhubung, itu akan mengembalikan false dan kode akan mengeksekusi loop sementara () selamanya. Jika koneksi Wi-Fi berhasil, kami menambahkan perangkat yang ditentukan sebelumnya ke objek Alexa dengan menggunakan fungsi espalexa.addDevice (). Fungsi ini membutuhkan dua argumen, pertama adalah Nama Perangkat, kedua adalah nama fungsi panggilan balik, ketika kita mengeluarkan perintah ke Alexa, fungsi yang berdekatan akan dipanggil. Setelah kita selesai melakukannya untuk keempat perangkat kita, kita memanggil metode begin () untuk objek espalexa.
void setup () {Serial.begin (115200); // Aktifkan Serial untuk men-debug pesan pinMode (ROCKET_1_PIN, OUTPUT); // atur pin ESP sebagai pinMode keluaran (ROCKET_2_PIN, OUTPUT); // atur pin ESP sebagai pinMode keluaran (ROCKET_3_PIN, OUTPUT); // atur pin ESP sebagai keluaran wifiStatus = connectToWiFi (); // Sambungkan ke Jaringan Wi-Fi lokal if (wifiStatus) {// setel semua perangkat espalexa // Tentukan perangkat Anda di sini. espalexa.addDevice (First_Device_Name, allrockets); // definisi paling sederhana, status default nonaktif espalexa.addDevice (Secound_Device_Name, firstrocket); espalexa.addDevice (Third_Device_Name, secondrocket); espalexa.addDevice (Forth_Device_Name, thirdrocket); espalexa.begin (); } else {while (1) {Serial. println ("Tidak dapat terhubung ke WiFi. Harap periksa data dan setel ulang ESP."); penundaan (2500); }}}
Di bagian loop , kita memanggil metode loop () dari objek espalexa yang akan selalu memeriksa setiap perintah yang masuk dan memanggil fungsi callback jika ternyata benar.
void loop () {espalexa.loop (); penundaan (1); }
Selanjutnya, kami mendefinisikan semua fungsi panggilan balik kami, di bagian ini, kami akan menentukan apa yang terjadi ketika fungsi panggilan balik ini dipanggil. Saat fungsi allrockets () dipanggil, semua roket akan diluncurkan bersamaan. Untuk itu kita akan menyalakan relay selama 00 ms dan setelah itu kita akan mematikan relay. Dalam pengujian saya, saya telah menemukan bahwa untuk panjang kabel nichrome yang ditentukan, saya memerlukan penundaan 800ms untuk benar-benar memanaskan kabel, ini mungkin atau mungkin tidak untuk Anda. Jadi pilih penundaan yang sesuai.
batal allrocket (kecerahan uint8_t) {if (brightness == 255) {digitalWrite (ROCKET_1_PIN, HIGH); digitalWrite (ROCKET_2_PIN, HIGH); digitalWrite (ROCKET_3_PIN, HIGH); penundaan (800); digitalWrite (ROCKET_1_PIN, LOW); digitalWrite (ROCKET_2_PIN, LOW); digitalWrite (ROCKET_3_PIN, LOW); Serial.println ("Semua Roket Diluncurkan"); }}
Selanjutnya, kami memiliki roket pertama kami (), ini dipanggil ketika kami memanggil Alexa dan mengatakan perintah dasi untuk meluncurkan roket pertama. Prosesnya sangat mirip, kami menyalakan relai selama 800ms dan mematikan.
void firstrocket (kecerahan uint8_t) {if (brightness == 255) {digitalWrite (ROCKET_1_PIN, HIGH); penundaan (800); digitalWrite (ROCKET_1_PIN, LOW); Serial.println ("Roket Pertama Diluncurkan"); }}
Akhirnya, kami memiliki fungsi connectToWiFi () kami . Fungsi ini cukup umum dan cukup jelas, jadi saya tidak akan membahas detail tentang fungsi ini. Fungsi ini menghubungkan ESP ke Wi-Fi dan mengembalikan status koneksi.
boolean connectToWiFi () {boolean state = true; int i = 0; WiFi.mode (WIFI_STA); WiFi.begin (ssid, kata sandi); Serial.println (""); Serial.println ("Menghubungkan ke WiFi"); // Tunggu koneksi Serial.print ("Connecting…"); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); jika (i> 15) {state = false; istirahat; } i ++; } Serial.println (""); if (state) {Serial.print ("Connected to"); Serial.println (ssid); Serial.print ("Alamat IP:"); Serial.println (WiFi.localIP ()); } else {Serial.println ("Sambungan gagal."); } negara kembali; }
Fungsi ini menandai akhir dari bagian pengkodean.
Konfigurasi Alexa dengan Aplikasi Android Alexa
Alexa hanya akan menerima perintah jika dan hanya jika ia mengenali perangkat esp8866. Untuk itu, kita perlu mengkonfigurasi Alexa dengan bantuan aplikasi Alexa di Android. Satu hal penting yang harus dilakukan sebelum kita melanjutkan lebih jauh adalah kita perlu memastikan bahwa Alexa dikonfigurasi dengan aplikasi android kita.
Untuk melakukan itu, buka bagian lainnya dari aplikasi Alexa dan klik opsi Add a Device, klik Light, lalu gulir ke bawah di bagian bawah halaman dan klik Other.
Selanjutnya klik DISCOVER DEVICE dan tunggu beberapa saat setelah itu Alexa akan menemukan device baru. Setelah Alexa menemukan perangkatnya, Anda perlu mengkliknya dan menambahkannya ke tempat / kategori masing-masing, dan selesai.
Alexa Controlled Rocket Launcher - Pengujian
Untuk proses pengujian, saya pergi ke kebun saya, mencabut semua sekring dari roket, menempatkannya di tempat masing-masing, dan saya berteriak Alexa…! Nyalakan semua Rockets, dengan jari-jari saya disilangkan. Dan semua roket terbang dengan menandai usaha saya sebagai sukses besar. Itu terlihat seperti ini.
Akhirnya, sekali lagi saya ucapkan Alexa…! Nyalakan semua roket untuk mendapatkan gambaran epik dari filamen yang bisa Anda lihat di bawah.
Untuk pengalaman yang lebih epik, saya sangat menyarankan Anda untuk menonton videonya.