Daftar Isi:
- Langkah 1: Tujuan
- Langkah 2: Bahan
- Langkah 3: Pra Pengodean: Hubungkan Mikro Anda: Bit
- Langkah 4: Langkah 0: Alur Kode
- Langkah 5: Langkah 1: Mendefinisikan Variabel
- Langkah 6: Langkah 2: Ubah Nilai Kemiringan ke Level
- Langkah 7: Langkah 3: Kompilasi Tingkat Kemiringan
- Langkah 8: Langkah 4: Tulis Fungsi LEDPlotList
- Langkah 9: Langkah 5: Plot Matriks LED untuk Setiap Kasus
- Langkah 10: Langkah 6: Tulis Fungsi Kalibrasi
- Langkah 11: Langkah 7: Tulis Fungsi Status
- Langkah 12: Langkah 8: Menyatukan Semuanya Bagian 1
- Langkah 13: Langkah 9: Menyatukan Semuanya Bagian 2
- Langkah 14: Langkah 10: Perakitan
- Langkah 15: Sumber
Video: Buat Level Roh Listrik: 15 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Gunakan level semangat ini untuk menampilkan kemiringan objek apa pun yang terpasang dengan cepat dan mudah!
Dibuat oleh Kaitlyn dari Raffles Institution.
Langkah 1: Tujuan
Belajar membaca kemiringan dengan akselerometer bawaan mikro:bit.
Belajar bekerja dengan Tampilan LED 5x5 mikro:bit!
Langkah 2: Bahan
1 x BBC mikro: bit
1 x kabel USB Mikro
2 x Baterai AA
1 x Paket Baterai AA Ganda
Langkah 3: Pra Pengodean: Hubungkan Mikro Anda: Bit
- Hubungkan BBC micro:bit ke komputer Anda menggunakan kabel micro USB.
- Akses editor javascript untuk mikro:bit di makecode.microbit.org.
Langkah 4: Langkah 0: Alur Kode
Sebelum kita mulai menulis kode, kita perlu memutuskan apa yang ingin kita capai dengan program dan dalam urutan apa setiap komponen harus dijalankan.
Untuk level spirit listrik, langkah-langkah yang akan kita ambil dalam kode untuk setiap loop adalah:
- Baca pembacaan kemiringan dari akselerometer.
- Ubah pembacaan kemiringan ke tingkat kemiringan untuk ditampilkan pada matriks LED.
- Periksa perubahan pembacaan tingkat kemiringan dari loop sebelumnya.
- Buat susunan koordinat LED untuk berbagai kasus kemiringan dan arah.
- Plot koordinat LED ke matriks LED mikro:bit.
Beberapa fungsi tambahan yang perlu kita sertakan adalah:
- Kalibrasi untuk posisi miring awal.
- Kembali ke kalibrasi kemiringan default.
Langkah 5: Langkah 1: Mendefinisikan Variabel
Kita mulai dengan mendefinisikan variabel yang dibutuhkan seperti yang ditunjukkan. Rincian dari beberapa variabel adalah:
- tiltList: Array yang menyimpan tingkat kemiringan dari nilai 0-4 dalam urutan [Kiri, Kanan, Maju, Mundur]
- tiltBoundary: Batas tingkat kemiringan pertama antara 0 (tidak miring) dan 1 (sedikit miring)
- prevState: Array yang menyimpan nilai kemiringan mikro:bit dari loop sebelumnya dalam format yang sama dengan tiltList, digunakan untuk memeriksa perubahan kemiringan antar iterasi
- ledPlotList: Plot led koordinat array dalam bentuk (x,y). Untuk mendefinisikan sebuah array, kita menggunakan tipe number untuk menunjukkan array bersarang dari variabel tipe: number.
Langkah 6: Langkah 2: Ubah Nilai Kemiringan ke Level
Karena matriks LED 5x5 hanya dapat menampilkan begitu banyak informasi, nilai kemiringan yang sebenarnya tidak akan berguna untuk tampilan.
Sebagai gantinya, fungsi tiltExtent() mengambil parameter num, yang mengacu pada nilai kemiringan dari akselerometer, dan mengonversi nilai kemiringan ini (num) ke tingkat kemiringan dari 0 hingga 4.
0 menunjukkan tidak ada kemiringan pada arah yang diberikan dan 4 menunjukkan kemiringan yang sangat besar, sedangkan -1 dikembalikan ketika ada kesalahan.
Di sini, tiltBoundary dan tiltSensitivity digunakan sebagai nilai batas antara tingkat kemiringan.
Langkah 7: Langkah 3: Kompilasi Tingkat Kemiringan
Dua fungsi checkRoll() dan checkPitch() menulis tingkat kemiringan yang diperoleh dari tiltExtent() ke dalam tiltList untuk sumbu guling (kiri-kanan) dan pitch (maju-mundur).
Sebelum menggunakan nilai kemiringan, kami mengkalibrasinya menggunakan nilai nol untuk pitch (zeroPitch) dan roll (zeroRoll) yang diperoleh dari fungsi kalibrasi yang ditulis kemudian.
Karena pembacaan akselerometer negatif untuk kemiringan ke kiri dan ke depan, kita perlu menggunakan fungsi Math.abs() untuk mendapatkan modulus nilai negatif yang akan diberikan ke fungsi tiltExtent() sebagai parameter untuk dua arah ini.
Langkah 8: Langkah 4: Tulis Fungsi LEDPlotList
Setelah memperoleh tingkat kemiringan di tiltList, sekarang kita dapat menulis fungsi plot yang dipimpin untuk berbagai kasus yang dapat muncul, yaitu:
- plotSingle(): Miringkan hanya dalam satu arah, mengambil tingkat kemiringan ke arah tertentu sebagai parameter.
- plotDiagonal(): Miringkan ke dua arah dengan besaran yang sama, mengambil tingkat kemiringan di kedua arah sebagai parameter.
- plotUnequal(): Miringkan ke dua arah dengan besaran yang berbeda, mengambil tingkat kemiringan di setiap arah sebagai parameter. Menggunakan plotDiagonal() terlebih dahulu dan menambahkan ke array ledPlotList sesudahnya.
Fungsi plotting ini menulis array koordinat led ke ledPlotList untuk diplot nanti.
Langkah 9: Langkah 5: Plot Matriks LED untuk Setiap Kasus
Dengan menggunakan fungsi plot dari tiga kasus pada langkah 4, sekarang kita dapat memplot matriks LED aktual untuk kemungkinan kombinasi level kemiringan yang berbeda. Karena ketiga fungsi pada langkah 4 tidak membedakan arah, kita perlu menyesuaikan nilai koordinat yang diteruskan ke matriks LED untuk memplot LED ke arah yang benar.
PlotResult() berisi beberapa kondisi if yang memeriksa jenis kemiringan dan memplot matriks LED yang sesuai menggunakan led.plot(x, y). Kemungkinan kombinasi kemiringan adalah:
Arah tunggal: Kiri Saja atau Kanan Saja
Arah tunggal: Hanya Maju atau Mundur Saja
Dua arah: Maju-kiri atau Mundur-kiri
Dua arah: Maju-kanan atau Mundur-kanan
Catatan: Untuk kemiringan dalam dua arah, setiap kombinasi dapat memiliki magnitudo yang sama atau berbeda (diperiksa dengan membandingkan maxX dan maxY), dan karenanya diplot menggunakan plotDiagonal() atau plotUnequal() masing-masing.
Langkah 10: Langkah 6: Tulis Fungsi Kalibrasi
Setelah menyelesaikan sebagian besar kode, sekarang kita menambahkan fungsi calibTilt() dan resetTilt().
calibTilt() memungkinkan pengguna untuk menyesuaikan kemiringan ke nol pada posisi mikro:bit saat ini
resetTilt() mengatur ulang kalibrasi papan ke keadaan semula.
Langkah 11: Langkah 7: Tulis Fungsi Status
Kami menambahkan fungsi sederhana checkState() untuk memeriksa apakah tingkat kemiringan telah berubah dari iterasi sebelumnya.
Jika tidak ada perubahan tingkat kemiringan dari iterasi sebelumnya yaitu stateChange == 0, kita dapat langsung melanjutkan ke iterasi berikutnya dan melewatkan plot dari matriks LED, mengurangi perhitungan yang diperlukan.
Langkah 12: Langkah 8: Menyatukan Semuanya Bagian 1
Sekarang kita akhirnya dapat menempatkan semua fungsi yang diperlukan ke dalam infinite loop mikro:bit untuk menjalankannya berulang kali.
Pertama, kita menetapkan tombol A dan B pada mikro:bit ke fungsi calibTilt() dan resetTilt() masing-masing menggunakan input.onButtonPressed(), dan memplot tanda centang pada matriks LED saat kalibrasi selesai.
Langkah 13: Langkah 9: Menyatukan Semuanya Bagian 2
Selanjutnya jalankan fungsi yang diperlukan sesuai dengan alur kode kita pada Langkah 0 dan periksa perubahan status (artinya ada perubahan kemiringan mikro:bit sejak iterasi terakhir).
Jika ada perubahan tingkat kemiringan yaitu stateChange == 1, kode akan memperbarui prevState ke tingkat kemiringan baru dan mengatur stateChange kembali ke 0 untuk iterasi berikutnya, dan memplot tingkat kemiringan yang diperbarui pada matriks LED menggunakan PlotResult().
Langkah 14: Langkah 10: Perakitan
Flash kode yang sudah selesai ke micro:bit Anda.
Pasang micro:bit dan baterai Anda dengan aman ke objek apa pun dan siap digunakan!
Luar biasa
Bersenang-senang dengan tingkat semangat listrik Anda! Dan selagi Anda melakukannya, mengapa tidak mencoba memperluas kemampuan sensor kemiringan atau bahkan mengubahnya menjadi game?
Artikel ini dari TINKERCADEMY.
Langkah 15: Sumber
Artikel ini dari:
Jika Anda memiliki pertanyaan, Anda dapat menghubungi: [email protected].
Direkomendasikan:
Buat Indikator Level Baterai LED Anda Sendiri: 4 Langkah
Buat Indikator Level Baterai LED Anda Sendiri: Dalam proyek ini saya akan menunjukkan kepada Anda bagaimana kita dapat menggunakan IC LM3914 klasik untuk membuat Indikator Level Baterai LED. Sepanjang jalan saya akan menunjukkan cara kerja IC dan menjelaskan mengapa itu bukan rangkaian yang paling tepat untuk paket baterai Li-Ion. Dan pada saat
Raspberry Pi RF Soket Listrik yang Dikendalikan Jarak Jauh (colokan Listrik): 6 Langkah
Raspberry Pi RF Soket Listrik yang Dikendalikan Jarak Jauh (colokan Listrik): Kontrol soket listrik murah 433MHz (outlet dinding) menggunakan Raspberry Pi. Pi dapat mempelajari output kode kontrol dari remote kontrol soket dan menggunakannya di bawah kontrol program untuk mengaktifkan salah satu atau semua soket jarak jauh di seluruh rumah
Indikator Level Air Nirkabel Jarak Jauh Dengan Alarm - Jangkauan Hingga 1 Km - Tujuh Level: 7 Langkah
Indikator Level Air Nirkabel Jarak Jauh Dengan Alarm | Jangkauan Hingga 1 Km | Tujuh Level: Tonton di Youtube: https://youtu.be/vdq5BanVS0YAnda mungkin telah melihat banyak Indikator Level Air Berkabel dan Nirkabel yang akan memberikan jangkauan hingga 100 hingga 200 meter. Tetapi dalam instruksi ini, Anda akan melihat Indi
Ide DIY Baru untuk Menjalankan ALAT LISTRIK Motor Universal Tanpa Listrik: 4 Langkah (dengan Gambar)
Ide DIY Baru untuk Menjalankan ALAT LISTRIK Motor Universal Tanpa Listrik: Hai Guys!!!! Dalam instruksi ini Anda akan belajar cara membuat opsi listrik darurat untuk menjalankan Anda perkakas listrik motor universal ketika tidak ada listrik di rumah. Pengaturan ini adalah pikiran bertiup untuk mengoperasikan alat-alat listrik di daerah terpencil atau bahkan di
Cara Membongkar Skuter Listrik untuk Suku Cadang Listrik.: 6 Langkah
Cara Membongkar Skuter Listrik untuk Suku Cadang Listrik.: Ini adalah cara saya membongkar skuter listrik bekas untuk kebutuhan suku cadang untuk membangun papan gunung listrik.(Ide berasal dari >> https://www .instructables.com/id/Electric-Mountain-Board/)Alasan saya membeli yang bekas adalah