Inhaltsverzeichnis:
- Schritt 1: Ziele
- Schritt 2: Materialien
- Schritt 3: Vorcodierung: Verbinden Sie Ihr Micro:Bit
- Schritt 4: Schritt 0: Codefluss
- Schritt 5: Schritt 1: Variablen definieren
- Schritt 6: Schritt 2: Neigungswerte in Ebenen umwandeln
- Schritt 7: Schritt 3: Neigungsebenen kompilieren
- Schritt 8: Schritt 4: Schreiben Sie LEDPlotList-Funktionen
- Schritt 9: Schritt 5: LED-Matrix für jeden Fall zeichnen
- Schritt 10: Schritt 6: Kalibrierfunktionen schreiben
- Schritt 11: Schritt 7: Zustandsfunktion schreiben
- Schritt 12: Schritt 8: Alles zusammenfügen Teil 1
- Schritt 13: Schritt 9: Alles zusammenfügen Teil 2
- Schritt 14: Schritt 10: Montage
- Schritt 15: Quelle
Video: Erstellen Sie eine elektrische Wasserwaage - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Verwenden Sie diese Wasserwaage, um schnell und einfach die Neigung jedes angebrachten Objekts anzuzeigen!
Erstellt von Kaitlyn von Raffles Institution.
Schritt 1: Ziele
Lernen Sie die Neigung mit dem integrierten Beschleunigungsmesser von micro:bit zu lesen.
Lernen Sie, mit dem 5x5-LED-Display von micro:bit zu arbeiten!
Schritt 2: Materialien
1 x BBC-Mikro: Bit
1 x Micro-USB-Kabel
2 x AA-Batterien
1 x Doppel-AA-Batteriepack
Schritt 3: Vorcodierung: Verbinden Sie Ihr Micro:Bit
- Verbinden Sie das BBC micro:bit über ein Micro-USB-Kabel mit Ihrem Computer.
- Greifen Sie auf den Javascript-Editor für micro:bit unter makecode.microbit.org zu.
Schritt 4: Schritt 0: Codefluss
Bevor wir mit dem Schreiben des Codes beginnen, müssen wir uns entscheiden, was wir mit dem Programm erreichen wollen und in welcher Reihenfolge die einzelnen Komponenten ausgeführt werden sollen.
Für die elektrische Wasserwaage sind die Schritte, die wir im Code für jede Schleife ausführen werden:
- Lesen Sie die Neigungsmesswerte vom Beschleunigungsmesser ab.
- Wandeln Sie Neigungsmesswerte in Neigungsniveaus um, die auf der LED-Matrix angezeigt werden.
- Überprüfen Sie, ob sich die Neigungspegel-Messwerte gegenüber der vorherigen Schleife geändert haben.
- Erstellen Sie eine Reihe von LED-Koordinaten für verschiedene Neigungsfälle und -richtungen.
- Zeichnen Sie die LED-Koordinaten auf die micro:bit LED-Matrix.
Einige zusätzliche Funktionen, die wir einschließen müssen, sind:
- Kalibrierung für die anfängliche Neigungsposition.
- Rückkehr zur Standard-Neigungskalibrierung.
Schritt 5: Schritt 1: Variablen definieren
Wir beginnen mit der Definition der benötigten Variablen wie gezeigt. Eine Aufschlüsselung einiger Variablen ist:
- TiltList: Array, das das Ausmaß der Neigung von den Werten 0-4 in der Reihenfolge [Links, Rechts, Vorwärts, Rückwärts] speichert
- TiltBoundary: Grenze der ersten Neigungsebene zwischen 0 (keine Neigung) und 1 (leichte Neigung)
- prevState: Array, das die Tilt-Werte des micro:bit aus einer vorherigen Schleife im gleichen Format wie TiltList speichert, um zu überprüfen, ob sich die Neigung zwischen den Iterationen ändert
- ledPlotList: Zeichnen Sie LED-Koordinaten-Arrays in der Form (x, y). Um ein Array zu definieren, verwenden wir den Typ number, um ein verschachteltes Array von Variablen des Typs: number anzugeben.
Schritt 6: Schritt 2: Neigungswerte in Ebenen umwandeln
Da die 5x5 LED-Matrix nur eine begrenzte Menge an Informationen anzeigen kann, sind die tatsächlichen Neigungswerte für die Anzeige nicht nützlich.
Stattdessen nimmt eine Funktion TiltExtent() den Parameter num, der sich auf den Neigungswert vom Beschleunigungsmesser bezieht, und wandelt diese Neigungswerte (num) in Neigungsstufen von 0 bis 4 um.
0 bedeutet keine Neigung in die angegebene Richtung und 4 bedeutet eine sehr große Neigung, während -1 zurückgegeben wird, wenn ein Fehler auftritt.
Hier werden TiltBoundary und TiltSensitivity als Grenzwerte zwischen Tilt-Levels verwendet.
Schritt 7: Schritt 3: Neigungsebenen kompilieren
Die beiden Funktionen checkRoll() und checkPitch() schreiben die von TiltExtent() erhaltenen Tilt-Level in TiltList für die Roll- (links-rechts) bzw. die Nick- (vorwärts-rückwärts) Achsen.
Bevor wir die Neigungswerte verwenden, kalibrieren wir sie mit einem auf Null gesetzten Wert für Nick (zeroPitch) und Roll (zeroRoll), der aus einer später geschriebenen Kalibrierungsfunktion erhalten wird.
Da die Messwerte des Beschleunigungsmessers sowohl für die linke als auch für die Vorwärtsneigung negativ sind, müssen wir die Funktion Math.abs() verwenden, um den Modul des negativen Werts zu erhalten, der der Funktion TiltExtent() als Parameter für diese beiden Richtungen übergeben wird.
Schritt 8: Schritt 4: Schreiben Sie LEDPlotList-Funktionen
Nachdem wir die Neigungsniveaus in TiltList erhalten haben, können wir nun die LED-Plotfunktionen für die verschiedenen auftretenden Fälle schreiben, nämlich
- plotSingle(): Neigung nur in eine Richtung, wobei das Ausmaß der Neigung in der angegebenen Richtung als Parameter verwendet wird.
- plotDiagonal(): Neigung in zwei Richtungen gleicher Größe, wobei das Ausmaß der Neigung in beide Richtungen als Parameter verwendet wird.
- plotUnequal(): Neigung in zwei Richtungen unterschiedlicher Größe, wobei das Ausmaß der Neigung in jede Richtung als Parameter verwendet wird. Verwendet zuerst plotDiagonal() und fügt danach das ledPlotList-Array hinzu.
Diese Plotting-Funktionen schreiben ein Array von LED-Koordinaten in ledPlotList, um später geplottet zu werden.
Schritt 9: Schritt 5: LED-Matrix für jeden Fall zeichnen
Mit den Plotfunktionen aus den drei Fällen in Schritt 4 können wir nun die tatsächliche LED-Matrix für die verschiedenen möglichen Kombinationen von Neigungsniveaus darstellen. Da die drei Funktionen in Schritt 4 nicht die Richtung unterscheiden, müssen wir die an die LED-Matrix übergebenen Koordinatenwerte anpassen, um die LEDs in die richtigen Richtungen zu zeichnen.
PlotResult() enthält mehrere if-Bedingungen, die die Art der Neigung prüfen und die LED-Matrix entsprechend mit led.plot(x, y) darstellen. Die möglichen Neigungskombinationen sind:
Einzelrichtung: Nur Links oder Nur Rechts
Einzelrichtung: Nur vorwärts oder Nur rückwärts
Zwei Richtungen: Vorwärts-links oder Rückwärts-links
Zwei Richtungen: Vorwärts-rechts oder Rückwärts-rechts
Hinweis: Für die Neigung in zwei Richtungen kann jede Kombination die gleiche oder unterschiedliche Größe haben (überprüft durch Vergleich von maxX und maxY) und daher mit plotDiagonal() bzw. plotUnequal() geplottet werden.
Schritt 10: Schritt 6: Kalibrierfunktionen schreiben
Nachdem wir den Großteil des Codes fertiggestellt haben, fügen wir nun die Funktionen calibTilt() und resetTilt() hinzu.
calibTilt() ermöglicht es Benutzern, die Neigung an der aktuellen Position des micro:bit auf Null zu tarieren
resetTilt() setzt die Kalibrierung des Boards auf den ursprünglichen Zustand zurück.
Schritt 11: Schritt 7: Zustandsfunktion schreiben
Wir fügen eine einfache Funktion checkState() hinzu, um zu überprüfen, ob sich die Neigungsstufen gegenüber einer vorherigen Iteration geändert haben.
Wenn sich die Neigungsstufen gegenüber einer vorherigen Iteration nicht ändern, d. h. stateChange == 0, können wir direkt zur nächsten Iteration übergehen und das Zeichnen der LED-Matrix überspringen, wodurch der Rechenaufwand reduziert wird.
Schritt 12: Schritt 8: Alles zusammenfügen Teil 1
Jetzt können wir endlich alle notwendigen Funktionen in die Endlosschleife von micro:bit einfügen, um sie wiederholt auszuführen.
Zuerst setzen wir die Tasten A und B auf dem micro:bit mit input.onButtonPressed() auf die Funktionen calibTilt() bzw. resetTilt() und zeichnen einen Tick auf der LED-Matrix, wenn die Kalibrierung abgeschlossen ist.
Schritt 13: Schritt 9: Alles zusammenfügen Teil 2
Führen Sie als nächstes die erforderlichen Funktionen gemäß unserem Codefluss in Schritt 0 aus und prüfen Sie, ob eine Zustandsänderung vorliegt (d. h., dass sich die Neigung von micro:bit seit der letzten Iteration geändert hat).
Wenn sich die Neigungsstufen ändern, d.
Schritt 14: Schritt 10: Montage
Flashen Sie den fertigen Code in Ihr micro:bit.
Befestigen Sie Ihr micro:bit und das Akkupack sicher an jedem Gegenstand und schon ist es einsatzbereit!
Fantastisch
Viel Spaß mit Ihrer elektrischen Wasserwaage! Und wenn Sie schon dabei sind, warum versuchen Sie nicht, die Fähigkeiten des Neigungssensors zu erweitern oder sogar in ein Spiel zu verwandeln?
Dieser Artikel ist von TINKERCADEMY.
Schritt 15: Quelle
Dieser Artikel ist von:
Bei Fragen wenden Sie sich bitte an: [email protected].
Empfohlen:
So erstellen Sie eine einfache Nintendo LABO-Zielübung – wikiHow
So erstellen Sie eine einfache Nintendo LABO-Zielübung: Meine Schwester und ich haben kürzlich einen Nintendo Switch gekauft. Natürlich haben wir auch ein paar Spiele dazu. Und einer davon war das Nintendo LABO Variety Kit. Dann bin ich schließlich über die Toy-Con-Garage gestolpert. Ich habe einiges ausprobiert und da habe ich
So erstellen Sie eine 4G LTE Doppel-BiQuade-Antenne in einfachen Schritten: 3 Schritte
So erstellen Sie eine 4G LTE-Doppel-BiQuade-Antenne Einfache Schritte: Die meiste Zeit, in der ich konfrontiert war, habe ich keine gute Signalstärke für meine täglichen Arbeiten. So. Ich suche und probiere verschiedene Antennentypen aus, aber es funktioniert nicht. Nach verschwendeter Zeit habe ich eine Antenne gefunden, die ich hoffentlich herstellen und testen kann, weil sie vom Bauprinzip nicht
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
So erstellen Sie eine Website (eine Schritt-für-Schritt-Anleitung): 4 Schritte
So erstellen Sie eine Website (eine Schritt-für-Schritt-Anleitung): In dieser Anleitung zeige ich Ihnen, wie die meisten Webentwickler ihre Websites erstellen und wie Sie teure Website-Builder vermeiden können, die für eine größere Website oft zu begrenzt sind helfen Ihnen, einige Fehler zu vermeiden, die ich am Anfang gemacht habe
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für