Isi kandungan:
- Langkah 1: Matlamat
- Langkah 2: Bahan
- Langkah 3: Pengekodan Pra: Sambungkan Mikro Anda: Bit
- Langkah 4: Langkah 0: Aliran Kod
- Langkah 5: Langkah 1: Menentukan Pemboleh ubah
- Langkah 6: Langkah 2: Tukar Nilai Kecondongan ke Tahap
- Langkah 7: Langkah 3: Susun Tahap Kecondongan
- Langkah 8: Langkah 4: Tulis Fungsi LEDPlotList
- Langkah 9: Langkah 5: Plot LED Matriks untuk Setiap Kes
- Langkah 10: Langkah 6: Tulis Fungsi Penentukuran
- Langkah 11: Langkah 7: Tulis Fungsi Negeri
- Langkah 12: Langkah 8: Menyatukannya Bahagian 1
- Langkah 13: Langkah 9: Menggabungkan Semuanya Bahagian 2
- Langkah 14: Langkah 10: Perhimpunan
- Langkah 15: Sumber
Video: Buat Tahap Semangat Elektrik: 15 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Gunakan tahap semangat ini untuk memaparkan kecondongan objek yang dilekatkan dengan cepat dan mudah!
Dicipta oleh Kaitlyn dari Raffles Institution.
Langkah 1: Matlamat
Belajar membaca kecondongan dengan pecutan mikro: bit terbina dalam.
Belajar bekerja dengan paparan LED 5x5 mikro: bit!
Langkah 2: Bahan
1 x mikro BBC: bit
1 x kabel USB Mikro
2 x Bateri AA
1 x Pek Bateri AA Double
Langkah 3: Pengekodan Pra: Sambungkan Mikro Anda: Bit
- Sambungkan mikro BBC: bit ke komputer anda menggunakan kabel USB mikro.
- Akses editor javascript untuk mikro: bit di makecode.microbit.org.
Langkah 4: Langkah 0: Aliran Kod
Sebelum kita mula menulis kod, kita perlu memutuskan apa yang ingin kita capai dengan program dan mengikut urutan apa yang harus dijalankan setiap komponen.
Untuk tahap semangat elektrik, langkah-langkah yang akan kita ambil dalam kod untuk setiap gelung adalah:
- Baca bacaan kecondongan dari pecutan.
- Tukar bacaan kecondongan ke tahap kecondongan untuk dipaparkan pada matriks LED.
- Periksa perubahan bacaan tahap kecondongan dari gelung sebelumnya.
- Buat susunan koordinat LED untuk kes dan arah kecondongan yang berbeza.
- Petak koordinat LED ke matriks LED mikro: bit.
Beberapa fungsi tambahan yang perlu kita sertakan adalah:
- Penentukuran untuk kedudukan kecondongan awal.
- Kembali ke penentukuran kecondongan lalai.
Langkah 5: Langkah 1: Menentukan Pemboleh ubah
Kita mulakan dengan menentukan pemboleh ubah yang diperlukan seperti yang ditunjukkan. Pecahan beberapa pemboleh ubah adalah:
- tiltList: Array yang menyimpan tahap kecondongan dari nilai 0-4 mengikut urutan [Kiri, Kanan, Maju, Belakang]
- tiltBoundary: Batas tahap kecondongan pertama antara 0 (tanpa kemiringan) dan 1 (kecondongan sedikit)
- prevState: Array yang menyimpan nilai kecondongan mikro: bit dari gelung sebelumnya dalam format yang sama dengan tiltList, digunakan untuk memeriksa perubahan kecondongan antara lelaran
- ledPlotList: Susunan koordinat plot led dalam bentuk (x, y). Untuk menentukan array, kami menggunakan nombor jenis untuk menunjukkan susunan pemboleh ubah bersarang jenis: nombor.
Langkah 6: Langkah 2: Tukar Nilai Kecondongan ke Tahap
Oleh kerana matriks LED 5x5 hanya dapat memaparkan begitu banyak maklumat, nilai kemiringan sebenar tidak akan berguna untuk paparan.
Sebaliknya, fungsi tiltExtent () mengambil parameter num, yang merujuk kepada nilai kecondongan dari akselerometer, dan menukar nilai kecondongan ini (num) ke tahap kecondongan dari 0 hingga 4.
0 menunjukkan tidak condong ke arah yang diberikan dan 4 menunjukkan kemiringan yang sangat besar, sementara -1 dikembalikan apabila terdapat ralat.
Di sini, tiltBoundary dan tiltSensitivity digunakan sebagai nilai sempadan antara tahap kecondongan.
Langkah 7: Langkah 3: Susun Tahap Kecondongan
Dua fungsi checkRoll () dan checkPitch () menuliskan tahap kecondongan yang diperoleh dari tiltExtent () ke dalam tiltList untuk gulungan (kiri-kanan) dan sumbu pitch (maju-mundur) masing-masing.
Sebelum menggunakan nilai kecondongan, kami menentukurkannya menggunakan nilai sifar untuk kedua nada (zeroPitch) dan roll (zeroRoll) yang diperoleh dari fungsi penentukuran yang ditulis kemudian.
Oleh kerana pembacaan pecutan adalah negatif untuk kecondongan kiri dan depan, kita perlu menggunakan fungsi Math.abs () untuk mendapatkan modulus nilai negatif yang akan diberikan kepada fungsi tiltExtent () sebagai parameter untuk dua arah ini.
Langkah 8: Langkah 4: Tulis Fungsi LEDPlotList
Setelah memperoleh tahap kecondongan dalam tiltList, kita sekarang dapat menulis fungsi plot plot yang dipimpin untuk kes yang berbeza yang boleh timbul, yaitu
- plotSingle (): Miringkan hanya dalam satu arah, mengambil tahap kecondongan ke arah yang diberikan sebagai parameter.
- plotDiagonal (): Miringkan dalam dua arah dengan magnitud yang sama, dengan tahap kecondongan pada kedua-dua arah sebagai parameter.
- plotUnequal (): Miringkan dalam dua arah dengan magnitud yang berbeza, mengambil tahap kecondongan pada setiap arah sebagai parameter. Menggunakan plotDiagonal () terlebih dahulu dan menambah array ledPlotList selepas itu.
Fungsi plot ini menulis susunan koordinat led ke ledPlotList yang akan diplot di kemudian hari.
Langkah 9: Langkah 5: Plot LED Matriks untuk Setiap Kes
Dengan menggunakan fungsi plot dari tiga kes pada langkah 4, kita sekarang dapat memplot matriks LED sebenar untuk kemungkinan kombinasi tahap kemiringan yang berbeza. Oleh kerana ketiga fungsi di langkah 4 tidak membeza-bezakan arah, kita perlu menyesuaikan nilai koordinat yang diteruskan ke matriks LED untuk memplot LED ke arah yang betul.
PlotResult () mengandungi beberapa jika keadaan yang memeriksa jenis kemiringan dan plot matriks LED dengan sewajarnya menggunakan led.plot (x, y). Kemungkinan kombinasi kecondongan adalah:
Arah tunggal: Hanya Kiri atau Kanan Sahaja
Arah tunggal: Ke Hadapan Sahaja atau Ke Belakang Sahaja
Dua arah: Depan-kiri atau Belakang-kiri
Dua arah: Depan-kanan atau Belakang-kanan
Catatan: Untuk kecondongan dalam dua arah, setiap kombinasi boleh mempunyai magnitud yang sama atau berbeza (diperiksa dengan membandingkan maxX dan maxY), dan dengan itu diplot menggunakan plotDiagonal () atau plotUnequal () masing-masing.
Langkah 10: Langkah 6: Tulis Fungsi Penentukuran
Setelah menyelesaikan sebahagian besar kod, kami sekarang menambah fungsi calibTilt () dan resetTilt ().
calibTilt () membolehkan pengguna mengetepikan kecondongan ke sifar pada kedudukan semasa mikro: bit
resetTilt () menetapkan semula penentukuran papan ke keadaan asalnya.
Langkah 11: Langkah 7: Tulis Fungsi Negeri
Kami menambah fungsi ringkas CheckState () untuk memeriksa sama ada tahap kecondongan telah berubah dari lelaran sebelumnya.
Sekiranya tidak ada perubahan pada tahap kemiringan dari lelaran sebelumnya iaitu stateChange == 0, kita dapat terus beralih ke lelaran berikutnya dan melangkau plot matrik LED, mengurangkan pengiraan yang diperlukan.
Langkah 12: Langkah 8: Menyatukannya Bahagian 1
Sekarang kita akhirnya dapat memasukkan semua fungsi yang diperlukan ke dalam gelung mikro: bit tak terhingga untuk menjalankannya berulang kali.
Pertama, kami menetapkan butang A dan B pada fungsi mikro: bit ke calibTilt () dan resetTilt () masing-masing menggunakan input.onButtonPressed (), dan plotkan tanda centang pada matriks LED apabila penentukuran selesai.
Langkah 13: Langkah 9: Menggabungkan Semuanya Bahagian 2
Selanjutnya jalankan fungsi yang diperlukan mengikut aliran kod kami di Langkah 0 dan periksa perubahan keadaan (bermaksud bahawa terdapat perubahan kecondongan mikro: bit sejak lelaran terakhir).
Sekiranya terdapat perubahan tahap kemiringan iaitu stateChange == 1, kod akan diperbaharui prevState ke level tilt baru dan tetapkan stateChange kembali ke 0 untuk lelaran seterusnya, dan plotkan tahap kemiringan yang dikemas kini pada matriks LED menggunakan PlotResult ().
Langkah 14: Langkah 10: Perhimpunan
Flash kod yang telah dilengkapkan ke mikro: bit anda.
Pasang mikro: bit dan pek bateri anda dengan selamat ke objek apa pun dan ia siap digunakan!
Hebat
Bersenang-senang dengan tahap semangat elektrik anda! Dan semasa anda mengetahuinya, mengapa tidak cuba memperluas kemampuan sensor kecondongan atau menjadikannya permainan?
Artikel ini berasal dari TINKERCADEMY.
Langkah 15: Sumber
Artikel ini berasal dari:
Jika ada pertanyaan, Anda dapat menghubungi: [email protected].
Disyorkan:
Tahap Semangat Digital Berasaskan Arduino & MPU6050: 3 Langkah
Tahap Semangat Digital Berasaskan Arduino & MPU6050: Selamat datang ke arahan pertama saya! Saya harap anda dapati maklumat ini. Jangan ragu untuk memberikan maklum balas sama ada positif atau negatif. Projek ini adalah untuk membuat arduino & Tahap semangat digital berasaskan MPU6050. Walaupun reka bentuk selesai dan
Tahap Semangat Digital DIY: 5 Langkah (dengan Gambar)
Tahap Semangat Digital DIY: Dalam projek ini kita akan melihat IC akselerometer dengan lebih dekat dan mengetahui bagaimana kita dapat menggunakannya dengan Arduino. Selepas itu kami akan menggabungkan IC seperti itu dengan beberapa komponen pelengkap dan lampiran bercetak 3D untuk membuat digital
Buat Petunjuk Tahap Bateri LED Anda Sendiri: 4 Langkah
Buat Petunjuk Tahap Bateri LED Anda Sendiri: Dalam projek ini saya akan menunjukkan kepada anda bagaimana kita dapat menggunakan IC LM3914 klasik untuk membuat Petunjuk Tahap Bateri LED. Sepanjang perjalanan saya akan menunjukkan kepada anda bagaimana IC berfungsi dan menerangkan mengapa ia bukan litar paling tepat untuk pek bateri Li-Ion. Dan di en
Semangat Digital Meningkatkan Modul Projek DIY oleh Pencinta Elektronik: 6 Langkah
Semangat Digital Meningkatkan Modul Projek DIY oleh Pencinta Elektronik: Ada masanya anda perlu memasang perabot atau sesuatu yang serupa di rumah anda dan untuk pemasangan lurus, setiap orang biasanya menggunakan tingkat semangat. ElectronicsLovers Tech Team membina modul ini, yang mempunyai satu perbezaan dari yang biasa: i
Petunjuk Tahap Air Tanpa Wayar Jarak Jauh Dengan Penggera - Julat Hingga 1 Km - Tujuh Tahap: 7 Langkah
Petunjuk Tahap Air Tanpa Wayar Jarak Jauh Dengan Penggera | Julat Hingga 1 Km | Tujuh Tingkat: Tonton di Youtube: https://youtu.be/vdq5BanVS0YAnda mungkin pernah melihat banyak Petunjuk Paras Air Berwayar dan Tanpa Wayar yang dapat menyediakan jarak antara 100 hingga 200 meter. Tetapi dalam arahan ini, anda akan melihat Indeks Tahap Air Tanpa Wayar Jarak Jauh