Daftar Isi:
- Langkah 1: Bagian dan Perangkat Lunak yang Digunakan
- Langkah 2: Kode
- Langkah 3: Kode untuk Sensor Suhu (Kelembaban, Tekanan) Dengan Pengenal Min/Maks
Video: Mikro:bit Detektor Tingkat Kebisingan: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Ini hanyalah contoh singkat untuk pendeteksi tingkat kebisingan berdasarkan mikro:bit dan enviro:bit Pimoroni.
Mikrofon pada enviro:bit mendeteksi tingkat suara, dan dari nilai yang dihasilkan, posisi pada matriks LED 5x5 dihitung dan LED yang sesuai diaktifkan. Nilai maksimum yang diukur disimpan dan tetap ditampilkan pada matriks LED.
Nilai juga dapat ditampilkan dalam angka.
Jadi pada dasarnya ini adalah alat pendeteksi tingkat kebisingan yang sangat sederhana, mis. untuk eksperimen ruang kelas.
Metode yang dijelaskan untuk menampilkan nilai aktual dan maksimum yang terdeteksi oleh sensor pada matriks LED mikro:bit 5x5 juga dapat digunakan untuk parameter lain seperti suhu, kelembaban, atau tekanan.
Langkah 1: Bagian dan Perangkat Lunak yang Digunakan
Perangkat keras:
- Sebuah mikro: bit
- A Pimoroni enviro:bit - dilengkapi dengan tiga sensor untuk suara, cahaya dan warna, dan tekanan/suhu/kelembaban (20 GBP di Pimoroni)
- Daya Pimoroni:bit - untuk memberi daya pada perangkat dari baterai (opsional, atau cara lain apa pun untuk memberi daya pada mikrobit, 6 GBP di Pimoroni)
Perangkat lunak:
- Microsoft MakeCode
- Enviro Pimoroni: bit ekstensi MakeCode
Untuk memuat skrip ke mikro:bit Anda, cukup salin file hex yang disediakan ke mikro:bit Anda dengan enviro:bit terlampir.
Langkah 2: Kode
Kode telah ditulis menggunakan Microsoft MakeCode dalam mode blok, menggunakan ekstensi Enviro:Bit. Di bawah ini Anda menemukan Kode JavaScript yang sesuai.
Fungsi envirobit.getSoundLevel() membaca tingkat suara dari sensor, mengembalikan nilai dari 0 hingga 443.
Signal_max konstan mendefinisikan nilai maksimum rentang dinamis yang akan ditampilkan pada matriks LED, nilai di atas akan diperlakukan sebagai signal_max. Ini memungkinkan Anda untuk mengoptimalkan sensitivitas perangkat untuk aplikasi Anda.
Nilai maksimum yang terdeteksi dalam lingkaran pengukuran disimpan dalam varian noise_max dan tetap ditampilkan pada matriks LED.
Menekan tombol "A" mengatur ulang noise_max dan membersihkan layar, menekan tombol "B" menampilkan nilai kebisingan yang diukur sebagai angka sebenarnya.
Untuk menampilkan nilai, nilai di bawah signal_max ditempatkan di 25 "bins" yang diwakili oleh satu LED, mulai dari 0 (kiri atas) hingga 24 (kanan bawah). Kemudian posisi x/y dihitung dan LED yang sesuai dinyalakan. Nilai di atas signal_max ditempatkan di bin 24. Jika nilainya di bawah noise_max, LED akan dinyalakan kembali.
biarkan noise_x = 0biarkan signal_max = 0 biarkan noise_5 = 0 biarkan noise_25 = 0 biarkan noise_max = 0 basic.showString("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever(function () { while (input.buttonIsPressed(Button. B)) { basic.showNumber(envirobit.getSoundLevel()) basic.showString("--") } if (input.buttonIsPressed(Button. A)) { noise_max = 0 basic.clearScreen() } noise_25 = Math.floor(envirobit.getSoundLevel() / signal_max * 25) if (noise_25 > 24) { noise_25 = 24 } noise_5 = Math.floor(noise_25 / 5) noise_x = noise_25 - noise_5 * 5 led.plot(noise_x, noise_5) basic.pause(200) if (noise_25 noise_max) { noise_max = noise_25 } })
Langkah 3: Kode untuk Sensor Suhu (Kelembaban, Tekanan) Dengan Pengenal Min/Maks
Di sini Anda menemukan kode untuk fungsi enviro:bit temperature.
Parameter signal_min dan signal_max mengatur suhu minimum dan maksimum (*C) yang ditampilkan pada matriks LED. Di sini pengaturan signal_main=5 dan signal_max=30 menghasilkan 5 dan 6*C yang diwakili oleh LED kiri atas (0, 0) dan 28/29*C oleh LED kanan bawah (4, 4).
Ada ruang untuk pengoptimalan: dengan kode saat ini naik dan turun, suhu meninggalkan jejak LED yang dihidupkan atau dimatikan. Di sisi lain ini memungkinkan untuk membaca kecenderungan suhu saat ini (turun/naik), karena nilai arus ditunjukkan oleh LED yang berkedip.
Mengganti getTemperature() dengan getHumidity() atau getPressure() dan menyesuaikan nilai signal_min dan signal_max yang sesuai (misalnya 0/100 % masing-masing 950/1150 hPA) akan memungkinkan untuk menampilkan parameter ini pada matriks LED.
biarkan Temp_x = 0 biarkan Temp_5 = 0 biarkan signal_delta = 0 biarkan Temp_25 = 0 biarkan Temp_Min = 0 biarkan signal_min = 0 biarkan Temp_Max = 0 biarkan signal_max = 0 basic.showString("Temp") signal_max = 30 signal_min = 5 signal_delta = signal_max - signal_min Temp_Max = 0 Temp_Min = 24 basic.forever(function () { if (input.buttonIsPressed(Button. A)) { Temp_Max = 0 Temp_Min = 24 basic.clearScreen() } while (input.buttonIsPressed(Button. B)) { basic.showNumber(Math.round(envirobit.getTemperature())) basic.showString("C ") } Temp_25 = Math.floor((envirobit.getTemperature() - signal_min) / signal_delta * 25) if (Temp_25 > 24) { Temp_25 = 24 } if (Temp_25 < 0) { Temp_25 = 0 } Temp_5 = Math.floor(Temp_25 / 5) Temp_x = Temp_25 - Temp_5 * 5 led.plot(Temp_x, Temp_5) basic.pause(100) if (Temp_25 Temp_Min) { led.unplot(Temp_x, Temp_5) } if (Temp_25 > Temp_Max) { Temp_Max = Temp_25 } if (Temp_25 < Temp_Min) { Temp_Min = Temp_25 } })
Direkomendasikan:
Mikro:Bot - Mikro:Bit: 20 Langkah
Mikro:Bot - Mikro:Bit: Buat sendiri Mikro:Bot! Ini adalah robot yang dikendalikan Mikro:Bit dengan sonar bawaan untuk mengemudi secara otonom, atau jika Anda memiliki dua Mikro:Bit, mengemudi yang dikendalikan radio
Pengukur atau Tanda Tingkat Kebisingan Tidak Aman: 4 Langkah (dengan Gambar)
Pengukur atau Tanda Tingkat Kebisingan Tidak Aman: Saya suka melihat proyek kreatif orang. Alat modern & teknologi memberi kita begitu banyak pilihan kreatif. Saya mengajarkan materi sulit kepada siswa sekolah menengah di sebuah sekolah menengah di Selandia Baru jadi saya selalu berkembang & mencoba hal-hal baru. ini
Sistem Peringatan Tingkat Kebisingan Tidak Aman: 11 Langkah (dengan Gambar)
Sistem Peringatan Tingkat Kebisingan yang Tidak Aman: Oshman Engineering Design Kitchen (OEDK) adalah ruang pembuat terbesar di Rice University, menyediakan ruang bagi semua siswa untuk merancang dan membuat prototipe solusi untuk tantangan dunia nyata. Untuk memenuhi tujuan ini, OEDK menampung sejumlah perkakas listrik
Detektor Aritmia Berbasis Tingkat Menggunakan Arduino: 7 Langkah
Detektor Aritmia Berbasis Tingkat Menggunakan Arduino: Aritmia jantung menimpa sekitar empat juta orang Amerika setiap tahun (Texas Heart Institute, par. 2). Sementara setiap jantung mengalami permutasi dalam ritme dan kecepatan, aritmia jantung kronis bisa berakibat fatal bagi korbannya. Banyak gangguan jantung
Dengarkan Lagu Anda untuk Bekerja di Tingkat Kebisingan Tinggi.: 16 Langkah
Dengarkan Lagu Anda untuk Bekerja di Tingkat Kebisingan Tinggi.: Ini adalah retakan pertama saya dalam hal ini. Masalah: di tempat kerja kami tidak diperbolehkan memakai headphone dan karena ada aturan perlindungan pendengaran 100%, inilah cara saya mengalahkan sistem. Kami diizinkan radio tetapi kami berada di gedung baja dan