- Pelancar Roket Pengawal Suara berasaskan Alexa - Berfungsi
- Launchpad untuk Pengawal Pelancaran Roket NodeMCU kami
- Komponen Diperlukan untuk Pelancar Roket Terkawal Alexa
- Diagram Litar Pelancar Roket Arduino
- Membina Litar di PerfBoard
- Pengaturcaraan NodeMCU untuk Pelancar Roket Terkawal Alexa
- Mengkonfigurasi Alexa dengan Aplikasi Android Alexa
- Pelancar Roket Terkawal Alexa - Pengujian
Ketika musim sejuk semakin hampir; datang pada masa itu ketika perayaan lampu disambut. Ya, kita bercakap mengenai Diwali yang merupakan festival India sejati yang disambut di seluruh dunia. Tahun ini, Diwali sudah berakhir, dan melihat orang-orang mercun, saya mengemukakan idea untuk membina Pelancar Roket Suara yang dikendalikan oleh Alexa atau Igniter, yang dapat melancarkan roket hanya dengan perintah suara, menjadikannya sangat selamat dan menyenangkan bagi anak-anak.
Untuk menjelaskannya, saya tidak berada di sini kerana mendorong orang untuk memecahkan keropok di Diwali, pemerintah India telah menguatkuasakan sekatan terhadap keropok untuk mengekang pencemaran dan menjadi tanggungjawab kita untuk mematuhinya. Ideanya di sini adalah bahawa daripada menghabiskan sepanjang hari menembak keropok, mari kita membina alat penyala roket Arduino yang dikendalikan oleh suara yang hebat dan menembak beberapa roket dengan gaya. Saya melihatnya sebagai win-win.
Ini roket Arduino akan menjadi sangat berbeza daripada orang lain. Ia mempunyai casis yang sangat kokoh yang terbuat dari papan lapis, mekanisme kawalan berasaskan relay yang boleh dipercayai, dan mekanisme yang sangat unik untuk melancarkan dan memuatkan roket, jadi tanpa berlengah lagi, mari masuk ke proses pembinaan.
Pelancar Roket Pengawal Suara berasaskan Alexa - Berfungsi
Mekanisme kerja litar sangat mudah, komponen utama yang bertanggungjawab untuk melancarkan roket adalah wayar nichrome, dan ia datang dalam bentuk gegelung pemanas. Kawat nichrome ini akan bertindak sebagai penyala roket. Bagaimana? Saya akan tunjukkan kemudian.
Seperti yang anda lihat dalam gambar di atas, wayar nichrome hadir dalam bentuk gegelung pemanas, bagi saya, ini adalah kaedah termudah untuk mendapatkannya. Kita harus menariknya lurus dan membengkokkannya untuk membentuk bentuk yang kelihatan seperti yang ditunjukkan dalam gambar di bawah.
Setelah kami melakukan ini, kami akan menghidupkannya dengan bateri asid plumbum 12V dan ia akan menyala merah. Ini akan cukup untuk menyalakan serbuk hitam di dalam roket dan ia akan berfungsi seperti dos sekering biasa. Perlu diketahui bahawa ini adalah pengawal pelancaran roket berkuasa tinggi, arus yang diperlukan untuk menjadikan wayar merah panas tinggi. Ikuti nasihat keselamatan semasa bekerja dengan arus tinggi.
Setelah pengujian selesai, satu-satunya perkara yang tersisa adalah proses pengendalian, yang akan kami lakukan ketika kami melanjutkan artikel ini.
Launchpad untuk Pengawal Pelancaran Roket NodeMCU kami
Untuk membina ini, mari buat pelancaran. Dengan pelancaran selesai, kita dapat memuatkan beberapa keropok dan melancarkannya dengan mudah. Saya telah membina peluncur yang kelihatan seperti yang ditunjukkan dalam gambar yang ditunjukkan di bawah.
Mari kita lalui proses langkah demi langkah membina peluncur. Untuk dua sisi bingkai, saya telah menggunakan kepingan papan lapis sepanjang dua (25X3X1.5) inci. Untuk bahagian atas, saya telah menggunakan papan lapis (20X3X1.5) inci panjang dan untuk alas, saya telah menggunakan sekeping papan lapis (20X6X1.5) inci panjang, yang akan memberikan sedikit kestabilan. Gambar di bawah akan memberi anda idea yang jelas.
Sekarang, sudah tiba masanya untuk membuat filamen berasaskan kawat nichrome, yang akan berfungsi sebagai sekering untuk roket kami. Untuk itu, saya telah membeli gegelung pemanas asas kawat nichrome 1000W, meluruskannya, dan membuat struktur yang ditunjukkan di bawah. Saya terpaksa menggunakan dua tang dan pemotong sisi untuk membentuk wayar nichrome seperti gambar di bawah.
Setelah ini selesai, saya membahagikan sekeping papan lapis 20 inci menjadi tujuh kepingan yang diukurnya, dan menggerudi lubang untuk memasukkan filamen berasaskan kawat nichrome, dan setelah selesai, gambar seperti gambar di bawah.
Tetapi sebelum meletakkan filamen, saya telah memasang wayar tembaga setebal 1 meter persegi di setiap terminal dan melewati lubang itu, setelah semuanya selesai, ia kelihatan seperti gambar di bawah.
Seperti yang anda lihat, saya juga meletakkan pelekat dua komponen untuk menahan wayar dan filamen di tempatnya. Dengan selesai, peluncur kami lengkap. Dan seperti yang anda lihat dari gambar pertama di bahagian ini, saya telah melampirkan kabel filamen secara langsung ke PCB kerana kami menghadapi arus yang sangat tinggi sehingga saya tidak bersusah payah meletakkan terminal skru, dan itu menandakan berakhirnya casis kami proses pembinaan.
Komponen Diperlukan untuk Pelancar Roket Terkawal Alexa
Untuk bahagian perkakasan, kami telah menggunakan bahagian yang sangat generik yang anda boleh dapatkan dengan mudah dari kedai hobi tempatan anda, senarai lengkap item diberikan di bawah.
- Relay 12V - 3
- Transistor BD139 - 3
- 1N4004 Diod - 3
- Terminal Skru 5.08 mm - 1
- LM7805 - Pengatur Voltan - 1
- Kapasitor Penguraian 100uF - 2
- 5.1V Zener Diode - 1
- Papan NodeMCU (ESP8266-12E) - 1
- Dotted Perf Board - ½
- Kawat Sambungan - 10
Diagram Litar Pelancar Roket Arduino
Skema lengkap untuk Alexa Controlled Rocket Launcher diberikan di bawah. Saya telah menggunakan tag untuk menghubungkan satu pin ke pin yang lain. Sekiranya anda kelihatan cukup dekat, tidaklah sukar untuk menafsirkan skema.
Pembinaan Litar cukup mudah, jadi saya tidak akan terperinci dengan terperinci.
Pertama, kita mempunyai IC1 yang merupakan pengatur voltan LM7805, dengan kapasitor decupling 100uF dilambangkan oleh C1 dan C2. Selepas itu, kami mempunyai teras projek kami, papan NodeMCU, yang menempatkan modul ESP-12E. Oleh kerana kita menggunakan bateri asid plumbum 12V untuk memberi kuasa kepada keseluruhan litar, itulah sebabnya kita harus menggunakan LM7805 untuk menukarnya terlebih dahulu menjadi 12V hingga 5V untuk menghidupkan papan NodeMCU. Kami melakukannya kerana pengatur voltan AMS1117 onboard tidak cukup untuk menukar 12V terus ke 3.3V, sebab itulah 7805 diperlukan.
Melanjutkan, kami mempunyai tiga relay 12V, untuk demonstrasi ini, kami menggunakan tiga relay, tetapi seperti yang telah kami sebutkan sebelumnya, peluncur mempunyai tempat letak untuk 7 roket. Anda boleh mengubah kod sedikit dan meletakkan semua tujuh roket untuk dilancarkan sama sekali. Ketiga relay digerakkan oleh T1, T2, dan T3 yang merupakan tiga transistor NPN, dan ia cukup mencukupi untuk mendorong beban sesungguhnya. Akhirnya, kami mempunyai tiga dioda freewheeling yang melindungi litar dari lonjakan voltan tinggi yang dihasilkan oleh geganti.
Membina Litar di PerfBoard
Seperti yang anda lihat dari gambar utama, idenya adalah untuk membuat litar sederhana yang dapat menangani sejumlah besar arus untuk jangka waktu pendek, seperti yang diuji oleh kami, 800 milisaat cukup untuk menyalakan sehelai kertas. Oleh itu, kami membina litar pada sekeping papan wangi dan menghubungkan semua sambungan utama dengan wayar tembaga setebal 1 meter persegi. Setelah selesai menyolder papan. Setelah kami selesai, ia kelihatan seperti sesuatu yang ditunjukkan di bawah.
Pengaturcaraan NodeMCU untuk Pelancar Roket Terkawal Alexa
Sekarang perkakasan sudah siap, sudah tiba masanya untuk memulakan pengekodan pelancar roket kawalan suara berasaskan Alexa kami. Kod lengkap boleh didapati di hujung halaman ini, tetapi sebelum kita memulakan, penting untuk menambahkan perpustakaan yang diperlukan ke Arduino IDE anda. Pastikan anda menambah pustaka yang betul dari pautan yang diberikan di bawah ini, kod akan menyebabkan kesalahan semasa disusun.
- Muat turun Perpustakaan Espalexa
Setelah menambahkan perpustakaan yang diperlukan, anda boleh memuat naik secara langsung kod yang diberikan di bahagian bawah halaman ini untuk memeriksa sama ada litar berfungsi. Sekiranya anda ingin mengetahui bagaimana kod tersebut berfungsi, teruskan membaca.
Seperti biasa, kami memulakan program dengan menambahkan fail tajuk yang diperlukan dan menentukan nama pin dan kelayakan untuk hotspot kami.
#sertakan
Melanjutkan kod kami, kami mempunyai prototaip fungsi dan definisi fungsi panggilan balik.
Fungsi connectToWiFi () digunakan untuk menyambung ke rangkaian Wi-Fi dan fungsi ini kembali berlaku apabila Wi-Fi berjaya disambungkan.
Selanjutnya, kita mempunyai fungsi panggilan balik , fungsi ini akan dipanggil ketika kita memberi perintah kepada Alexa, API espalexa menangani fungsi-fungsi ini
batal allrockets (kecerahan uint8_t); batal firstrocket (kecerahan uint8_t); batal secondrocket (kecerahan uint8_t); kekosongan poket ketiga (uint8_t brightness);
Seterusnya, kami menentukan Nama Peranti. Nama-nama peranti yang ditentukan ini akan dicerminkan pada aplikasi Alexa dan ketika kita mengatakan perintah, Alexa akan mengenali peranti dengan nama-nama ini. Jadi nama-nama ini sangat penting.
// Nama peranti String First_Device_Name = "Semua Roket"; String Secound_Device_Name = "Roket Satu"; String Third_Device_Name = "Roket Dua"; String Forth_Device_Name = "Roket Tiga";
Seterusnya, kami menentukan wifiStatus pemboleh ubah boolean , yang akan memegang status sambungan Wi-Fi. Akhirnya, kami membuat objek Espalexa espalexa. Kami akan menggunakan objek ini untuk mengkonfigurasi NodeMCU.
// periksa status wifi bifiean wifiStatus = false; // Objek Espalexa Espalexa espalexa;
Seterusnya, kita mempunyai bahagian persediaan kosong () . Di bahagian ini, kami menginisialisasi komunikasi bersiri untuk melakukan debug dengan fungsi Serial.begin () . Kami menetapkan semua pin yang ditentukan sebelumnya sebagai output dengan fungsi pinMode () , seterusnya kami memanggil fungsi connectToWiFi () , ia akan cuba menyambung ke Wi-Fi selama lima belas kali jika disambungkan, ia akan kembali benar jika tidak bersambung, ia akan kembali palsu dan kodnya akan menjalankan gelung sementara () selama-lamanya. Sekiranya sambungan Wi-Fi berjaya, kami menambahkan peranti yang telah ditentukan sebelumnya ke objek Alexa dengan menggunakan fungsi espalexa.addDevice (). Fungsi ini mengambil dua argumen, pertama adalah Nama Peranti, kedua adalah nama fungsi panggilan balik, ketika kita mengeluarkan perintah untuk Alexa, fungsi yang berdekatan akan dipanggil. Setelah selesai melakukannya untuk keempat-empat peranti kami, kami memanggil kaedah mula () untuk objek espalexa.
persediaan tidak sah () {Serial.begin (115200); // Dayakan Serial untuk debugging mesej pinMode (ROCKET_1_PIN, OUTPUT); // sediakan pin ESP sebagai output pinMode (ROCKET_2_PIN, OUTPUT); // sediakan pin ESP sebagai output pinMode (ROCKET_3_PIN, OUTPUT); // tetapkan pin ESP sebagai output wifiStatus = connectToWiFi (); // Sambungkan ke Rangkaian Wi-Fi tempatan jika (wifiStatus) {// siapkan semua peranti espalexa // Tentukan peranti anda di sini. espalexa.addDevice (First_Device_Name, allrockets); // definisi paling mudah, keadaan lalai dari espalexa.addDevice (Secound_Device_Name, firstrocket); espalexa.addDevice (Third_Device_Name, secondrocket); espalexa.addDevice (Forth_Device_Name, Thirdrocket); espalexa.begin (); } lain {sementara (1) {Bersiri. println ("Tidak dapat menyambung ke WiFi. Sila periksa data dan tetapkan semula ESP."); kelewatan (2500); }}}
Di bahagian gelung , kita memanggil kaedah gelung () objek espalexa yang akan selalu memeriksa sebarang perintah masuk dan memanggil fungsi panggilan balik jika ia benar.
gelung kosong () {espalexa.loop (); kelewatan (1); }
Seterusnya, kami menentukan semua fungsi panggilan balik kami, di bahagian ini, kami akan menentukan apa yang berlaku apabila fungsi panggilan balik ini dipanggil. Apabila fungsi allrockets () dipanggil, semua roket akan dilancarkan bersama. Untuk itu, kita akan menghidupkan relay selama 00 ms dan selepas itu, kita akan mematikan relay. Dalam ujian saya, saya mendapati bahawa untuk panjang wayar nichrome yang ditentukan, saya memerlukan kelewatan 800ms untuk memanaskan wayar sepenuhnya, ini mungkin berlaku atau tidak bagi anda. Oleh itu, pilih kelewatan yang sewajarnya.
batal allrockets (uint8_t brightness) {if (brightness == 255) {digitalWrite (ROCKET_1_PIN, TINGGI); digitalWrite (ROCKET_2_PIN, TINGGI); digitalWrite (ROCKET_3_PIN, TINGGI); kelewatan (800); digitalWrite (ROCKET_1_PIN, RENDAH); digitalWrite (ROCKET_2_PIN, RENDAH); digitalWrite (ROCKET_3_PIN, RENDAH); Serial.println ("Semua Roket Dilancarkan"); }}
Seterusnya, kita mempunyai roket pertama kita (), ini dipanggil ketika kita memanggil Alexa dan mengucapkan perintah untuk melancarkan roket pertama. Prosesnya sangat serupa, kami menghidupkan relay selama 800ms dan mematikannya.
batal firstrocket (kecerahan uint8_t) {if (brightness == 255) {digitalWrite (ROCKET_1_PIN, TINGGI); kelewatan (800); digitalWrite (ROCKET_1_PIN, RENDAH); Serial.println ("Roket Pertama Dilancarkan"); }}
Akhirnya, kami mempunyai fungsi connectToWiFi () kami . Fungsi ini cukup generik dan cukup jelas, jadi saya tidak akan menerangkan mengenai fungsi ini. Fungsi ini menghubungkan ESP ke Wi-Fi dan mengembalikan status sambungan.
boolean connectToWiFi () {boolean state = true; int i = 0; WiFi.mode (WIFI_STA); WiFi.begin (ssid, kata laluan); Serial.println (""); Serial.println ("Menyambung ke WiFi"); // Tunggu sambungan Serial.print ("Menyambung…"); sementara (WiFi.status ()! = WL_CONNECTED) {kelewatan (500); Cetakan bersiri ("."); jika (i> 15) {state = false; rehat; } saya ++; } Serial.println (""); jika (nyatakan) {Serial.print ("Connected to"); Serial.println (ssid); Serial.print ("Alamat IP:"); Serial.println (WiFi.localIP ()); } lain {Serial.println ("Sambungan gagal."); } keadaan kembali; }
Fungsi yang ditentukan ini menandakan akhir bahagian pengkodan.
Mengkonfigurasi Alexa dengan Aplikasi Android Alexa
Alexa hanya akan menerima arahan jika dan hanya jika mengenali peranti esp8866. Untuk itu, kita perlu mengkonfigurasi Alexa dengan bantuan aplikasi Alexa di Android. Satu perkara penting yang perlu dilakukan sebelum kita melangkah lebih jauh ialah kita perlu memastikan bahawa Alexa dikonfigurasi dengan aplikasi android kita.
Untuk melakukannya, pergi ke bahagian lebih banyak aplikasi Alexa dan klik pada pilihan Tambah Peranti, klik Cahaya, kemudian tatal ke bawah di bahagian bawah halaman dan klik Lain.
Seterusnya, klik pada DISCOVER DEVICE dan tunggu sebentar selepas itu Alexa akan menemui peranti baru. Setelah Alexa menemui peranti, anda perlu mengkliknya dan menambahkannya ke tempat / kategori masing-masing, dan anda sudah selesai.
Pelancar Roket Terkawal Alexa - Pengujian
Untuk proses ujian, saya pergi ke kebun saya, menarik semua sekering dari roket, meletakkannya di tempat masing-masing, dan saya menjerit Alexa…! Hidupkan semua Roket, dengan jari saya bersilang. Dan semua roket terbang dengan menandakan usaha saya sebagai kejayaan besar. Ia kelihatan seperti ini.
Akhirnya, sekali lagi saya katakan Alexa…! Hidupkan semua roket untuk mendapatkan gambaran epik filamen yang anda dapat lihat di bawah.
Untuk pengalaman yang lebih epik, saya sangat mengesyorkan anda menonton video tersebut.