สารบัญ:
- ขั้นตอนที่ 1: ชิ้นส่วนและซอฟต์แวร์ที่ใช้
- ขั้นตอนที่ 2: รหัส
- ขั้นตอนที่ 3: รหัสสำหรับเซ็นเซอร์อุณหภูมิ (ความชื้น ความดัน) พร้อมตัวระบุค่าต่ำสุด/สูงสุด
วีดีโอ: Micro:bit เครื่องตรวจจับระดับเสียง: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
นี่เป็นเพียงตัวอย่างสั้นๆ สำหรับเครื่องตรวจจับระดับเสียงที่อิงจาก micro:bit และ Pimoroni enviro:bit
ไมโครโฟนบน enviro:bit ตรวจจับระดับเสียง และจากค่าผลลัพธ์ ตำแหน่งบนเมทริกซ์ LED 5x5 จะถูกคำนวณและไฟ LED ที่เกี่ยวข้องจะเปิดใช้งาน ค่าสูงสุดที่วัดได้จะถูกจัดเก็บและยังคงแสดงบนเมทริกซ์ LED
ค่ายังสามารถแสดงเป็นตัวเลขได้
ดังนั้นโดยพื้นฐานแล้วเป็นเครื่องมือตรวจจับระดับเสียงที่ง่ายมากเช่น สำหรับการทดลองในห้องเรียน
วิธีการที่อธิบายเพื่อแสดงค่าจริงและค่าสูงสุดที่เซ็นเซอร์ตรวจพบในเมทริกซ์ LED micro:bits 5x5 ยังใช้สำหรับพารามิเตอร์อื่นๆ เช่น อุณหภูมิ ความชื้น หรือความดัน
ขั้นตอนที่ 1: ชิ้นส่วนและซอฟต์แวร์ที่ใช้
ฮาร์ดแวร์:
- ไมโคร:บิต
- Pimoroni enviro:bit - มาพร้อมกับเซ็นเซอร์สามตัวสำหรับเสียง แสงและสี และความดัน/อุณหภูมิ/ความชื้น (20 GBP ที่ Pimoroni)
- พลังงาน Pimoroni:บิต - เพื่อจ่ายไฟให้กับอุปกรณ์จากแบตเตอรี่ (ตัวเลือกหรือวิธีอื่นใดในการจ่ายไฟให้กับ microbit, 6 GBP ที่ Pimoroni)
ซอฟต์แวร์:
- Microsoft MakeCode
- ส่วนขยาย Pimoroni enviro:bit MakeCode
ในการโหลดสคริปต์ไปยัง micro:bit ของคุณ เพียงคัดลอกไฟล์ hex ที่ให้มาไปยัง micro:bit โดยแนบ enviro:bit
ขั้นตอนที่ 2: รหัส
โค้ดนี้เขียนขึ้นโดยใช้ Microsoft MakeCode ในโหมดบล็อก โดยใช้ส่วนขยาย Enviro:Bit คุณจะพบกับโค้ด JavaScript ที่เกี่ยวข้อง
ฟังก์ชัน envirobit.getSoundLevel() จะอ่านระดับเสียงจากเซ็นเซอร์ โดยคืนค่าจาก 0 ถึง 443
ค่าคงที่ signal_max กำหนดค่าสูงสุดของช่วงไดนามิกที่จะแสดงบนเมทริกซ์ LED ค่าด้านบนจะถือเป็นสัญญาณ_max วิธีนี้ช่วยให้คุณปรับความไวของอุปกรณ์ให้เหมาะสมสำหรับแอปพลิเคชันของคุณ
ค่าสูงสุดที่ตรวจพบในวงกลมการวัดจะถูกเก็บไว้ในตัวแปร noise_max และยังคงแสดงอยู่บนเมทริกซ์ LED
การกดปุ่ม "A" จะรีเซ็ต noise_max และล้างหน้าจอ การกดปุ่ม "B" จะแสดงค่าเสียงรบกวนที่วัดได้เป็นตัวเลขจริง
ในการแสดงค่า ค่าด้านล่าง signal_max จะถูกวางไว้ใน 25 "bins" ซึ่งแสดงโดย LED หนึ่งดวง โดยเริ่มจาก 0 (ซ้ายบน) ถึง 24 (ขวาล่าง) จากนั้นคำนวณตำแหน่ง x/y และไฟ LED ที่เกี่ยวข้องจะเปิดขึ้น ค่าที่สูงกว่า signal_max จะถูกวางไว้ใน bin 24 หากค่าต่ำกว่า noise_max ไฟ LED จะถูกเปลี่ยนอีกครั้ง
ให้ noise_x = 0let signal_max = 0 ให้ noise_5 = 0 ให้ noise_25 = 0 ให้ noise_max = 0 basic.showString("Noise") noise_max = 0 noise_25 = 0 noise_5 = 0 signal_max = 250 basic.forever (ฟังก์ชัน () { ในขณะที่ (อินพุต.buttonIsPressed (Button. B)) { basic.showNumber (envirobit.getSoundLevel ()) basic.showString ("--") } ถ้า (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) ถ้า (noise_25 noise_max) { noise_max = noise_25 } })
ขั้นตอนที่ 3: รหัสสำหรับเซ็นเซอร์อุณหภูมิ (ความชื้น ความดัน) พร้อมตัวระบุค่าต่ำสุด/สูงสุด
ที่นี่คุณจะพบโค้ดสำหรับฟังก์ชัน enviro:bit temperature
พารามิเตอร์ signal_min และ signal_max ตั้งค่าอุณหภูมิต่ำสุดและสูงสุด (*C) ที่แสดงบนเมทริกซ์ LED ที่นี่การตั้งค่า signal_main=5 และ signal_max=30 ส่งผลให้ 5 และ 6*C แสดงโดย LED บนซ้าย (0, 0) และ 28/29*C โดย LED ขวาล่าง (4, 4)
มีที่ว่างสำหรับการเพิ่มประสิทธิภาพ: ด้วยรหัสปัจจุบันที่เพิ่มขึ้นและอุณหภูมิที่ลดลงจะทิ้งร่องรอยของไฟ LED ไว้ไม่ว่าจะเปิดหรือปิด ในอีกด้านหนึ่ง จะช่วยให้อ่านแนวโน้มอุณหภูมิปัจจุบัน (ลดลง/เพิ่มขึ้น) เนื่องจากค่าปัจจุบันจะแสดงด้วยไฟ LED ที่กะพริบ
การแทนที่ getTemperature() ด้วย getHumidity() หรือ getPressure() และการปรับค่า signal_min และ signal_max ตามลำดับ (เช่น 0/100 % ตามลำดับ 950/1150 hPA) จะอนุญาตให้แสดงพารามิเตอร์เหล่านี้บนเมทริกซ์ LED
ให้ Temp_x = 0 ให้ Temp_5 = 0 ให้ signal_delta = 0 ให้ Temp_25 = 0 ให้ Temp_Min = 0 ให้ signal_min = 0 ให้ Temp_Max = 0 ให้ 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 (ฟังก์ชัน () { if (input.buttonIsPressed (Button. A)) { Temp_Max = 0 Temp_Min = 24 basic.clearScreen () } ในขณะที่ (input.buttonIsPressed (Button. B)) { basic.showNumber(Math.round(envirobit.getTemperature())) basic.showString("C ") } Temp_25 = Math.floor((envirobit.getTemperature() - signal_min) / signal_delta * 25) ถ้า (Temp_25 > 24) { Temp_25 = 24 } ถ้า (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) ถ้า (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 } })
แนะนำ:
Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: 4 ขั้นตอน
Arduino Nano - MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Tutorial: MMA8452Q เป็นเครื่องวัดความเร่งแบบไมโครแมชชีนแบบไมโครแมชชีนที่ชาญฉลาด ใช้พลังงานต่ำ สามแกน คาปาซิทีฟ พร้อมความละเอียด 12 บิต ตัวเลือกที่ตั้งโปรแกรมได้สำหรับผู้ใช้ที่ยืดหยุ่นนั้นมาพร้อมกับฟังก์ชั่นฝังตัวในมาตรความเร่ง ซึ่งสามารถกำหนดค่าเป็นสองอินเตอร์รัป
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: 7 ขั้นตอน (พร้อมรูปภาพ)
วิธีเรียกใช้เซอร์โวมอเตอร์โดยใช้ Moto:bit ด้วย Micro:bit: วิธีหนึ่งในการขยายฟังก์ชันการทำงานของ micro:bit คือการใช้บอร์ดชื่อ moto:bit โดย SparkFun Electronics (ประมาณ 15-20 เหรียญสหรัฐ) มันดูซับซ้อนและมีคุณสมบัติมากมาย แต่ก็ไม่ยากที่จะเรียกใช้เซอร์โวมอเตอร์จากมัน Moto:bit ช่วยให้คุณ
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: 4 ขั้นตอน
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Python Tutorial: MMA8452Q เป็นเครื่องวัดความเร่งแบบไมโครแมชชีนที่ชาญฉลาด ใช้พลังงานต่ำ สามแกน capacitive พร้อมความละเอียด 12 บิต ตัวเลือกที่ตั้งโปรแกรมได้สำหรับผู้ใช้ที่ยืดหยุ่นนั้นมาพร้อมกับฟังก์ชั่นฝังตัวในมาตรความเร่ง ซึ่งสามารถกำหนดค่าเป็นสองอินเตอร์รัป
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: 11 ขั้นตอน
การเขียนโปรแกรม Micro:Bit Robot & Joystick:Bit Controller ด้วย MicroPython: สำหรับ Robocamp 2019 ค่ายหุ่นยนต์ภาคฤดูร้อนของเรา คนหนุ่มสาวอายุ 10-13 ปีกำลังบัดกรี ตั้งโปรแกรม และสร้าง 'หุ่นยนต์น้ำหนักเกิน' ของ BBC micro:bit ตลอดจนการเขียนโปรแกรม micro:bit เพื่อใช้เป็นรีโมตคอนโทรล หากคุณอยู่ที่ Robocamp ให้เล่นสกี
การวัดแสงและสีด้วย Pimoroni Enviro:bit สำหรับ Micro:bit: 5 ขั้นตอน
การวัดแสงและสีด้วย Pimoroni Enviro:bit สำหรับ Micro:bit: ฉันเคยทำงานกับอุปกรณ์บางตัวที่อนุญาตให้วัดแสงและสีได้ก่อนหน้านี้ และคุณอาจพบมากเกี่ยวกับทฤษฎีที่อยู่เบื้องหลังการวัดดังกล่าวในคำแนะนำต่างๆ ที่นี่และที่นี่ Pimoroni มี เพิ่งเปิดตัว enviro:bit ซึ่งเป็นส่วนเสริมสำหรับ m