Inhaltsverzeichnis:
- Schritt 1: Verwendete Teile und Software
- Schritt 2: Der Code
- Schritt 3: Ein Code für einen Temperatursensor (Feuchtigkeit, Druck) mit Min/Max-Kennzeichen
Video: Micro:bit Rauschpegeldetektor - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Dies ist nur ein kurzes Beispiel für einen Rauschpegeldetektor basierend auf dem micro:bit und dem Pimoroni enviro:bit.
Das Mikrofon am enviro:bit erfasst den Schallpegel, aus dem resultierenden Wert wird eine Position auf der 5x5 LED-Matrix berechnet und die entsprechende LED aktiviert. Die gemessenen Maximalwerte werden gespeichert und bleiben auf der LED-Matrix angezeigt.
Die Werte können auch in Zahlen angezeigt werden.
Es handelt sich also im Grunde genommen um ein sehr einfaches Werkzeug zur Erkennung des Geräuschpegels, z. für Klassenraumexperimente.
Die beschriebene Methode zur Anzeige von Ist- und Maximalwerten, die von einem Sensor auf der micro:bits 5x5 LED-Matrix erfasst werden, könnte auch für andere Parameter wie Temperatur, Feuchte oder Druck verwendet werden.
Schritt 1: Verwendete Teile und Software
Hardware:
- Ein Mikro:Bit
- Ein Pimoroni enviro:bit - kommt mit drei Sensoren für Ton, Licht und Farbe sowie Druck/Temperatur/Feuchtigkeit (20 GBP bei Pimoroni)
- Ein Pimoroni power:bit - um das Gerät mit Batterien zu betreiben (optional oder auf andere Weise, um das Microbit zu betreiben, 6 GBP bei Pimoroni)
Software:
- Microsoft MakeCode
- Die Pimoroni enviro:bit MakeCode-Erweiterung
Um das Skript in Ihr micro:bit zu laden, kopieren Sie einfach die mitgelieferte Hex-Datei mit einem angehängten enviro:bit auf Ihr micro:bit.
Schritt 2: Der Code
Der Code wurde mit Microsoft MakeCode im Blockmodus unter Verwendung der Enviro:Bit-Erweiterung geschrieben. Unten finden Sie den entsprechenden JavaScript-Code.
Die Funktion envirobit.getSoundLevel() liest den Schallpegel vom Sensor und gibt einen Wert von 0 bis 443 zurück.
Die Konstante signal_max definiert einen Maximalwert des auf der LED-Matrix anzuzeigenden Dynamikbereichs, obige Werte werden als signal_max behandelt. Dadurch können Sie die Empfindlichkeit des Geräts für Ihre Anwendung optimieren.
Die in einem Messkreis erfassten Maximalwerte werden in der Variante Noise_max gespeichert und bleiben auf der LED-Matrix angezeigt.
Durch Drücken der Taste „A“wird Noise_max zurückgesetzt und der Bildschirm gelöscht, durch Drücken der Taste „B“wird der gemessene Rauschwert als aktuelle Zahl angezeigt.
Um den Wert anzuzeigen, werden die Werte unterhalb von signal_max in 25 "Bins" platziert, die durch eine LED dargestellt werden, beginnend von 0 (oben links) bis 24 (unten rechts). Anschließend wird die x/y-Position berechnet und die entsprechende LED eingeschaltet. Werte oberhalb von signal_max werden in Bin 24 abgelegt. Liegt der Wert unterhalb von noise_max, werden die LEDs wieder ausgeschaltet.
let noise_x = 0let signal_max = 0 let noise_5 = 0 let noise_25 = 0 let 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 } })
Schritt 3: Ein Code für einen Temperatursensor (Feuchtigkeit, Druck) mit Min/Max-Kennzeichen
Hier finden Sie einen Code für die enviro:bit Temperaturfunktion.
Die Parameter signal_min und signal_max legen die auf der LED-Matrix angezeigten minimalen und maximalen Temperaturen (*C) fest. Hier führt die Einstellung von signal_main=5 und signal_max=30 dazu, dass 5 und 6*C durch die obere linke LED (0, 0) und 28/29*C durch die untere rechte LED (4, 4) dargestellt werden.
Es gibt Raum für Optimierungen: Mit dem aktuellen Code hinterlassen steigende und fallende Temperaturen eine Spur von LEDs, die entweder ein- oder ausgeschaltet sind. Auf der anderen Seite lässt sich damit die aktuelle Temperaturtendenz (fallend/steigend) ablesen, da der aktuelle Wert durch die blinkende LED angezeigt wird.
Das Ersetzen von getTemperature() durch getHumidity() oder getPressure() und die entsprechende Anpassung der signal_min- und signal_max-Werte (z. B. 0/100 % bzw. 950/1150 hPA) würde es ermöglichen, diese Parameter auf der LED-Matrix anzuzeigen.
let Temp_x = 0 lass Temp_5 = 0 lass signal_delta = 0 lass Temp_25 = 0 lass Temp_Min = 0 lass signal_min = 0 lass Temp_Max = 0 lass 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 } })
Empfohlen:
Schrittzähler - Micro:Bit: 12 Schritte (mit Bildern)
Schrittzähler - Micro:Bit: Dieses Projekt wird ein Schrittzähler sein. Wir werden den Beschleunigungssensor verwenden, der im Micro:Bit eingebaut ist, um unsere Schritte zu messen. Jedes Mal, wenn das Micro:Bit wackelt, addieren wir 2 zur Zählung und zeigen sie auf dem Bildschirm an
Aktualisieren Sie das Zen Micro 5 GB auf 8 GB günstig – wikiHow
Rüsten Sie das Zen Micro 5 GB auf 8 GB auf dem Billig: Guten Tag! Ich bin heute hier, um Ihnen zu zeigen, wie ich mein Zen Micro auseinandergenommen, die 5 GB-Festplatte darin durch eine 8 GB-CF-Karte ersetzt, das Gerät wieder zusammengebaut und gelebt habe erzählen Sie davon. Warum sollten Sie das tun? Zwei Gründe: 1. Solid-State-Speicher bedeutet
Micro:bit Zauberstab! (Anfänger): 8 Schritte (mit Bildern)
Micro:bit Zauberstab! (Anfänger): Während es für uns nicht-magische Menschen etwas schwierig ist, Objekte mit unseren Gedanken, Worten oder Zauberstäben schweben zu lassen, können wir Technologie verwenden, um (im Grunde) die gleichen Dinge zu tun! Dieses Projekt verwendet zwei micro:bits, a ein paar kleine elektronische Teile und einige Alltagsgegenstände
Micro:bit Zauberstab! (Mittelstufe): 8 Schritte
Micro:bit Zauberstab! (Mittelstufe): "Jede ausreichend fortgeschrittene Technologie ist von Magie nicht zu unterscheiden." (Arthur C. Clarke). Verdammt ja, das ist es! Worauf warten wir noch, nutzen wir die Technologie, um unsere eigene Art von Magie zu erschaffen! Dieses Projekt verwendet zwei micro:bit-Mikrocontroller, eine
Winziger Micro:bit-Roboter - Teil 1: 7 Schritte
Tiny Micro:bit Robot - Teil 1: Ich fand kleine Roboter immer großartig und es wäre ideal, einen mit dem kostengünstigen Microbit zu erstellen. Ich wollte einen Roboter entwickeln, der keine vorgefertigten IO-Boards verwendet, wie ich es in der Vergangenheit verwendet habe, um Motoren anzutreiben oder Sensoreingänge zu erhalten, ich möchte