Inhaltsverzeichnis:

Coronavirus EXTER-MI-NATION mit Micro:bit und Daleks - Gunook
Coronavirus EXTER-MI-NATION mit Micro:bit und Daleks - Gunook

Video: Coronavirus EXTER-MI-NATION mit Micro:bit und Daleks - Gunook

Video: Coronavirus EXTER-MI-NATION mit Micro:bit und Daleks - Gunook
Video: Night 2024, November
Anonim
Image
Image

Dies ist ein zweites Projekt in Reihe zum Coronavirus-Schutz von TinkerGen. Den ersten Artikel finden Sie hier. Wir glauben fest daran, dass die aktuelle Epidemie mit den gemeinsamen Bemühungen der Menschheit bald ein Ende finden wird. Aber auch nach dem Ende von COVID-19 sollten wir wachsam bleiben und die guten Gewohnheiten beibehalten, die wir (hoffentlich) in diesen schwierigen Zeiten entwickelt haben. Der vorherige Artikel konzentrierte sich darauf, mit Micro:bit mehr darauf zu achten, dass wir unbewusst unsere Gesichter berühren und so die Ausbreitung von Keimen zu verhindern. In diesem Artikel entwerfen und bauen wir eine einfache, aber mächtige Waffe gegen Mikroben - ein kleines Gerät, mit dem wir die Zeit messen können, die wir mit dem Händewaschen verbringen.

Lieferungen

Bitmaker Lite

1/8 (3mm) Sperrholz für das Gehäuse

Zwei M4 * 8 + 5 Einzelkopf-KupfersäulenZwei M4-Muttern

Zwei M4 * 8 Innensechskantschrauben

Zwei weiße Nylonnieten R480

Zwei M2 * 15 Doppelpass-Aluminiumsäulen

Zwei M2 * 8 mechanische Schrauben

Schritt 1: Gehäusemontage

Gehäusemontage
Gehäusemontage
Gehäusemontage
Gehäusemontage
Gehäusemontage
Gehäusemontage

Laden Sie die.dxf-Dateien von Thingverse herunter und schneiden Sie sie dann aus 1/8 (3 mm) Sperrholz. Das Gehäuse hat ein selbstsicherndes Design, aber Sie müssen möglicherweise beim Zusammenbau der Box ein wenig Klebstoff auftragen. Verwenden Sie zwei M4 * 8 + 5 Einzelkopf-Kupfersäulen, zwei M4-Muttern und zwei M4 * 8-Innensechskantschrauben zur Befestigung des Grove Ultrasonic Ranger an der Gehäuseinnenwand. Auf der gegenüberliegenden Seite des Gehäuses befestigen Sie das Servo mit 2 M2 * 15-Doppelpass-Aluminiumsäulen. Verwenden Sie zwei mechanische M2 * 8-Zahnschrauben, um den Kunststoff-Servoarm am Pfeil zu installieren. Verbinden Sie den Ultrasonic Ranger und das Servo mit BitMaker Lite und befestigen Sie es dann im Gehäuse mit zwei weißen R480-Nylonnieten. Befestigen Sie den Pfeil am Servo und setzen Sie beide oben und untere Abdeckungen auf Die Montage ist abgeschlossen, lass uns jetzt codieren!

Schritt 2: Makecode-Programm

Makecode-Programm
Makecode-Programm
Makecode-Programm
Makecode-Programm
Makecode-Programm
Makecode-Programm

Ich habe zwei Versionen des Codes für dieses Projekt erstellt: eine einfachere, die mit Microsoft Makecode erstellt wurde, eine grafische Programmierumgebung und eine schwierigere, in Micropython geschrieben - diese enthält auch Dalek-Stimme, die mit dem Micro:bit-Sprachmodul synthetisiert wurde. Wir beginnen mit einem einfacheren Programm.

Bevor Sie mit dem Schreiben von Code beginnen, müssen Sie Makecode die BitMaker lite-Erweiterung hinzufügen. Konsultieren Sie hier, wie es geht.

Innerhalb des Startblocks löschen wir den Bildschirm, setzen die beiden Variablen start_time und stage auf 0, setzen den Servowinkel auf 90 und warten 500 ms, bevor wir den Hauptschleifencode starten. Die Codelogik innerhalb der Hauptschleife ist ziemlich einfach - vor allem, unabhängig davon, ob Hände erkannt werden oder nicht, wenn Stufe 0 ist, stellen wir das Servo auf 90 Grad ein, dies ist ein Standardzustand.

Wenn wir feststellen, dass sich ein Objekt in einer Entfernung von weniger als 10 cm von unserem Gerät befindet (wir gehen davon aus, dass es sich um die Hände einer Person handelt), prüfen wir, ob seit dem letzten Wechsel zur nächsten Stufe 1 Sekunde vergangen ist. 1 Sekunde ist für Debugging-Zwecke eingestellt, eigentlich sollte es näher an 4 Sekunden liegen (laut CDC-Empfehlungen ist die ziemlich gute Dauer für das Händewaschen 20 Sekunden, wir haben 5 Stufen, also 20/5 = 4). Jedes Mal, wenn 1 Sekunde vergangen ist, seit wir zu einer Stufe vorgerückt sind und die Hände immer noch in der Nähe des Geräts erkannt werden, gehen wir zur nächsten Stufe, setzen den Timer zurück und spielen eine Melodie. Wir haben auch den digitalen Pin1 auf LOW gesetzt, damit die PWM-Erzeugung für den Sound das Servo nicht stört. Wenn Sie dies nicht tun, werden Sie feststellen, dass das Servo beim Abspielen von Musik verrückt wird. Dies ist eine bekannte Einschränkung von Micro:bit.

Dann stellen wir für jede Stufe den Servowinkel in einer Folge von if-Blöcken ein. Wenn schließlich keine Hände erkannt werden (Abstand zum Gerät ist größer als 10 cm) und die Stufe nicht 0 ist - was bedeutet, dass der Benutzer das Händewaschen vorzeitig unterbrochen hat, spielen wir ein trauriges Geräusch ab und setzen die Stufe auf 0 zurück.

Wenn Sie Probleme mit dem Code haben, können Sie die.hex-Datei in unserem GitHub-Repository für dieses Projekt herunterladen.

Schritt 3: Micropython-Programm

Micropython-Programm
Micropython-Programm

Wenn Sie gerne programmieren und eine kleine Herausforderung begrüßen möchten, ist es möglicherweise interessanter, dasselbe Projekt in Micropython zu erstellen. Außerdem macht diese Version mehr Spaß!

Der Hauptcode der Micropython-Version folgt derselben Logik. Ein wesentlicher Unterschied besteht darin, dass wir Ultrasonic Ranger oder Servo nicht direkt verwenden können - dafür gibt es keine Standardmodule in der Micro:bit Micropython-Firmware. Also werden wir diese Servo-Klasse in unseren Code einfügen und den leicht modifizierten Grove Ultrasonic Ranger Python-Code für die Entfernungsmessung verwenden. Ein besserer Weg wäre, zwei eigenständige.py-Dateien zu erstellen und sie als Module zu importieren - eine für die Servo-Klasse, die andere für den Ultrasonic-Ranger. Aber wir werden der Einfachheit halber alles an einem Ort aufbewahren.

Der andere Hauptunterschied ist die Verwendung des Sprachmoduls, mit dem wir die vertraute Dalek-Stimme synthetisieren können:) Wir verwenden die Parameter aus dieser Dokumentation für das Sprachmodul, um eine Stimme zu erzeugen, die wie die Dalek-Stimme klingt.

Gehen Sie zum GitHub-Repository dieses Projekts, um den vollständigen Micropython-Code herunterzuladen.

Schritt 4: Machen Sie es sich zu eigen

Machen Sie es sich zu eigen
Machen Sie es sich zu eigen
Machen Sie es sich zu eigen
Machen Sie es sich zu eigen

Wir haben ein interessantes und nützliches Projekt mit der Erweiterung Micro:bit und Bitmaker Lite erstellt, das sowohl ein reines Bildungsprojekt sein kann als auch im Badezimmer verwendet werden kann, um die Menschen daran zu erinnern, sich gründlicher die Hände zu waschen. Natürlich hört das Experimentieren und Verbessern hier nicht auf - Sie können sich Möglichkeiten vorstellen, das Gehäuse und den Aufbau stabiler und für den Einsatz in öffentlichen Schulen oder Kindergärten geeigneter zu machen. Oder Sie können einen externen Lautsprecher anschließen, um die Lautstärke zu erhöhen.

Die Möglichkeiten sind endlos und die Umsetzung eigener Ideen in Hard- und Software ist die Seele der Maker-Bewegung. Wenn Sie neue und interessante Möglichkeiten haben, dieses Projekt zu verbessern, teilen Sie uns dies bitte in den Kommentaren unten mit. Außerdem enthält Bitmaker Lite einen Online-Kurs, auf den Sie kostenlos auf der Online-Kursplattform von TinkerGen https://make2learn.tinkergen.com/ zugreifen können!

Weitere Informationen zu Bitmaker Lite und anderer Hardware für Hersteller und MINT-Lehrer finden Sie auf unserer Website https://tinkergen.com/ und abonnieren Sie unseren Newsletter.

Empfohlen: