Isi kandungan:

Buat Tahap Semangat Elektrik: 15 Langkah
Buat Tahap Semangat Elektrik: 15 Langkah

Video: Buat Tahap Semangat Elektrik: 15 Langkah

Video: Buat Tahap Semangat Elektrik: 15 Langkah
Video: 15 LANGKAH MEMBANGUN BRAND UNTUK UMKM, AGAR CEPAT TERKENAL! STEP BY STEP DIAJARIN PAK BI 2024, Julai
Anonim
Buat Tahap Semangat Elektrik
Buat Tahap Semangat Elektrik

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

  1. Sambungkan mikro BBC: bit ke komputer anda menggunakan kabel USB mikro.
  2. 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: