Partysicher in diesem Sommer mit einem Arduino Blutalkohol-reaktiven LED-Becher - Gunook
Partysicher in diesem Sommer mit einem Arduino Blutalkohol-reaktiven LED-Becher - Gunook

Video: Partysicher in diesem Sommer mit einem Arduino Blutalkohol-reaktiven LED-Becher - Gunook

Video: Partysicher in diesem Sommer mit einem Arduino Blutalkohol-reaktiven LED-Becher - Gunook
Video: Meine Schwester Hatte Genug Von Meiner Schönheit 2025, Januar
Anonim
Partysicher in diesem Sommer mit einem Arduino Blut-Alkohol-reaktiven LED-Becher
Partysicher in diesem Sommer mit einem Arduino Blut-Alkohol-reaktiven LED-Becher

Schwierigkeitsgrad des Projekts: Mittel

Benötigte Fähigkeiten:

- Lesen und Replizieren eines Diagramms

- Löten, wenn Sie keine vorgelöteten Teile kaufen möchten

Projektvorstellung

In den Vereinigten Staaten und auf der ganzen Welt stellt Alkohol bei unverantwortlichem Konsum schwere Gesundheitsgefahren dar. Durch unverantwortlichen Alkoholkonsum können Todesfälle durch Autofahren und Leberschäden sowie Spätfolgen wie mögliche Hirn- und Nierenschäden entstehen. Allein in den Vereinigten Staaten gingen 250 Milliarden Dollar durch Alkoholmissbrauch (NIAAA, 2010) sowie über 88.000 Menschen verloren, was Alkohol zur dritthäufigsten vermeidbaren Todesursache im Land macht. Die Frage für dieses Projekt ist, wie wir als Macher dieses Problem angehen und sicherstellen können, dass lustige Feiern mit Alkohol wie Partys sicher und unterhaltsam bleiben?

Meine Antwort auf diese Frage war, einen Weg zu finden, den prognostizierten BAC des Benutzers zu schätzen und dann zu visualisieren, damit er besser verstehen kann, in welchem Zustand er sich befindet. Für dieses Projekt habe ich den Arduino-Mikrocontroller mit einem Wasserstandssensor, einem LED-Ring und einem LCD-Bildschirm verwendet, um zu verfolgen, wie viele Getränke eine Person konsumiert hat, und dann einen Weg zu finden, den Blutalkoholgehalt (BAC) von zu schätzen der Benutzer nach Geschlecht und Gewicht. Der geschätzte BAC bestimmt, je nachdem in welchem Bereich er sich befand, die Animation des LED-Rings unten. Die Bereiche liegen zwischen vier verschiedenen Bereichen: Sicher, beeinträchtigt, berauscht und tödlich. Ich hoffe, dass Sie durch die Erstellung dieses Projekts nicht nur ein brauchbares Arduino-Projekt erstellt haben, sondern auch ein besseres Verständnis dafür gewonnen haben, wie wir Alkohol metabolisieren und möglicherweise sogar einige grundlegende Programmierungen, wenn Sie sich den kommentierten Code ansehen.

Woher weiß die Tasse, wie viele Getränke ich getrunken habe?

Wenn der Analogwert des Wasserstandssensors 300 überschreitet, wird ein boolescher Wert, der die Tasse repräsentiert, als HOCH (voll) aufgezeichnet. Wenn der Analogwert des Sensors unter 300 liegt, wird der boolesche Wert, der die Tasse repräsentiert, als LOW (leer) aufgezeichnet. Um aufzuzeichnen, dass ein Getränk in die Tasse eingefüllt wird, muss sich dieser boolesche Wert von leer auf voll ändern.

Wie haben Sie BAC bestimmt?

Um dieses Projekt so genau wie möglich zu gestalten, habe ich Daten von der Saint Benedict & Saint John's University verwendet, um zu erfahren, wie stark der BAC einer Person pro konsumiertem Getränk zugenommen hat. Dieses Programm berücksichtigt nicht nur das Gewicht, sondern auch das Geschlecht des Benutzers bei der Berechnung des BAC des Benutzers. Dies liegt daran, dass BAC darauf basiert, wie schnell ein Körper in der Lage ist, Alkohol zu verstoffwechseln, was zwischen Männern und Frauen und Menschen mit unterschiedlichem Gewicht unterschiedlich ist. Die Diagramme können hier eingesehen werden.

Warum sind die BAC-Bereiche für verschiedene Personen unterschiedlich?

Die BAC-Bereiche basieren direkt auf den Daten der SBSJ University, die berücksichtigt, wie viel Alkohol ein Benutzer in seinem System haben muss, damit er in einem von vier Bereichen liegt:

- Sicher: Der einzige sichere Bereich, in dem ein Fahrzeug betrieben werden kann (dargestellt durch Regenbogenanimation)

- Beeinträchtigt: Wenn Sie ein Fahrzeug in dieser Reichweite betreiben (dargestellt durch orangefarbene Animation) können strafrechtliche Anklagen erhoben werden.

- Betrunken: Wenn Sie ein Fahrzeug in dieser Reichweite (dargestellt durch rote Ampeln) betreiben, wird eine Strafanzeige erstattet.

- Tödlich: Wenn Sie noch nicht ohnmächtig geworden sind, befinden Sie sich in diesem Bereich in unmittelbarer medizinischer Gefahr (dargestellt durch blinkende rote und weiße Lichter)

Aber ich kann gut Alkohol vertragen, ist diese Tasse also ungenau?

Wie gut Sie nach dem Konsum von Alkohol handlungsfähig sind, spielt keine große Rolle, wenn Sie beim Autofahren die gesetzliche Grenze überschreiten. Die in diesem Projekt verwendeten Daten berücksichtigen die gesetzlichen und medizinischen Bereiche des BAC eines Benutzers, während auch das Gewicht und das Geschlecht des Benutzers berücksichtigt werden.

Lieferungen

Allgemeine Elektronikbedarf für dieses Projekt umfassen:

- Zwei Drucktasten

- Überbrückungsdrähte

- 10k Potentiometer

- 2 10k Widerstände

- 1 220 Widerstand

Sonderteile/Module:

- Ein Arduino (ich habe für dieses Projekt ein Uno verwendet, aber es gibt viele billigere Alternativen)

- Ein Wasserstandssensor (HINWEIS: Diese Sensoren sind oft ungenau und korrodieren schnell, was eine große Frustration bei der Entwicklung dieses Projekts war. Ich konnte jedoch eine Lösung finden, damit sich meine Schwierigkeiten bei diesem Projekt nicht in Ihren Schwierigkeiten niederschlugen mit diesem Projekt.)

- Ein LED-Ring (12 LEDs)

- Ein LCD-Bildschirm

Werkzeuge:

- Lötkolben (Nur beim Kauf eines LED-Rings ohne Header erforderlich)

- 3D-Drucker (optional)

Schritt 1: Arduino IDE herunterladen und erforderlichen Code kopieren

Für dieses Projekt ist keine Computerprogrammierung erforderlich, Sie müssen lediglich den Code von hier kopieren und in die Arduino IDE einfügen. So laden Sie die Arduino-IDE herunter:

Herunterladen und Konfigurieren der Arduino-IDE:

- Besuchen Sie die Arduino-Website und wählen Sie den Download für Ihr System

- Sobald der Download abgeschlossen ist, rufen Sie die COM-Portnummer für das Arduino ab. Schließen Sie das Arduino an und navigieren Sie zu Ihrem Geräte-Manager. Suchen Sie unter Ports nach Ihrem Arduino und notieren Sie sich die Portnummer. Es sollte ungefähr so aussehen: COMx (wobei x eine Zahl von 1-9) ist

- Konfigurieren Sie mit der COM-Portnummer die IDE für Ihr Board und Ihren Port, indem Sie die Arduino IDE öffnen und in der oberen Leiste "Tools" auswählen. Wählen Sie "Board" und wählen Sie Ihr Modell. Als nächstes wählen Sie "Port" und wählen Sie den Port aus, den Sie für Ihr Arduino im Geräte-Manager gesehen haben.

Projektcode erhalten

- Kopieren Sie den Code aus diesem Schritt und fügen Sie ihn in den weißen Abschnitt der Arduino IDE ein. Stellen Sie sicher, dass Sie zuerst alles in der Skizze löschen, z. B. die Routinen loop() und void(), da diese in dem Code implementiert sind, den Sie kopieren und einfügen.

Schritt 2: Erforderliche Bibliotheken von Arduino IDE herunterladen

Die in diesem Projekt verwendeten Bibliotheken umfassen "Wire", "LiquidCrystal" und "Adafruit Neopixel". Die Skizze benötigt diese Bibliotheken, um mit den in diesem Projekt verwendeten Komponenten zu kommunizieren. So laden Sie diese Bibliotheken herunter:

- Wählen Sie "Skizze" in der oberen Leiste

- Wählen Sie "Bibliothek einschließen" aus dem Dropdown-Menü

- Wählen Sie "Bibliotheken verwalten"

- Suchen Sie nach den drei Bibliotheken (Wire, Flüssigkristall und Adafruit Neopixel), die in diesem Projekt verwendet werden, und laden Sie jede herunter.

Bitte beachten Sie, dass das Herunterladen dieser Bibliotheken beim Kompilieren der Skizze zu einem Fehler führt. Schließen Sie nach diesem Schritt das Kabel von Ihrem Arduino an Ihren Laptop an und drücken Sie die Pfeiltaste in der oberen linken Ecke der IDE. Dadurch wird die Skizze kompiliert und auf den Arduino hochgeladen. Nachdem wir nun mit allen programmierungsbezogenen Schritten fertig sind, kommen wir zur Verdrahtung!

Schritt 3: (Optional) Lötstifte auf Teile löten

Wenn Sie sich für den Kauf von Teilen für dieses Projekt entschieden haben, auf die noch keine Stiftleisten gelötet sind, müssen Sie dies selbst tun. Machen Sie sich keine Sorgen um diesen Teil, das Löten für dieses Projekt ist sehr einfach.

- Schaffen Sie eine belüftete Umgebung zum Löten, vorzugsweise mit einem Ventilator mit Filter. Wenn Sie keinen solchen Ventilator haben, können Sie tun, was ich mache und die Fenster öffnen und den Ventilator einschalten oder in die Garage gehen, während sie geöffnet ist.

- Erhitzen Sie Ihren Lötkolben und stellen Sie sicher, dass Sie auch einen nassen Schwamm haben, um überschüssiges Lötmittel abzuwischen.

- Richten Sie die Header und das Teil, an dem Sie die Header befestigen möchten, mit einer helfenden Hand oder einem anderen Werkzeug ein, mit dem Sie die Teile anordnen können, während Sie den Lötkolben halten können.

- Berühren Sie das Lötmittel mit dem Lötkolben, während Sie die Verbindung zwischen dem Kopfstift und dem Teil, an dem Sie die Stifte löten, herstellen. Nehmen Sie das Bügeleisen ab, wenn sich genug Lot gebildet hat, um den elektrischen Kontakt zwischen den Kopfstiften und dem Teil sicherzustellen. Wischen Sie überschüssiges Lot vom Schwamm ab und wiederholen Sie diesen Vorgang für alle Pins.

- Nachdem alle Pins gelötet sind, stellen Sie den Lötkolben in den Ständer, drehen Sie den Knopf auf "off" und ziehen Sie den Stecker aus der Steckdose. Warten Sie, bis das Bügeleisen vollständig abgekühlt ist, um es wegzulegen.

Schritt 4: Folgen Sie dem Bild und verdrahten Sie Arduino mit den Komponenten

Folgen Sie Bild und verdrahten Sie Arduino zu Komponenten
Folgen Sie Bild und verdrahten Sie Arduino zu Komponenten

In diesem Schritt müssen Sie Jumperdrähte verwenden, um die für das Projekt erforderlichen Teile mit dem Arduino zu verbinden. Ich habe dazu eine Fritzing-Datei bereitgestellt, die in diesem Schritt zu sehen ist. Nachfolgend finden Sie eine Liste der häufigsten Fragen, die ich mir stelle, wenn ich auf ein Problem mit der Verkabelung stoße:

- Sind meine Masse- und Stromschienen richtig miteinander und mit den 5V- und GND-Pins des Arduino verbunden?

- Habe ich an meinem Potentiometer herumgespielt, wenn das LCD-Display nicht angezeigt wird? (Versuchen Sie, das Potentiometer umzudrehen, um den Widerstand zu ändern, wenn die weißen Zeichen nicht richtig angezeigt werden)

- Sind GND und VCC an jedem Teil richtig mit dem richtigen Pin verbunden? Wird die 5-Volt-Einstellung verwendet? (Alle Sensoren und Komponenten in diesem Projekt verwenden 5 Volt, nicht 3,3 Volt.

- Wurde ein Kabel versehentlich eine Verbindung von der Stelle entfernt platziert, an der es sein sollte?

HINWEIS: Achten Sie bei der Arbeit mit Elektronik immer darauf, dass der Stromkreis während des Wechsels nicht mit Strom versorgt wird. Andernfalls können Teile beschädigt werden und beim Arbeiten mit höheren Spannungen kann es zu Körperverletzungen kommen

Schritt 5: Projekt "Coaster" zusammenbauen

Projekt zusammenstellen
Projekt zusammenstellen

Möglicherweise stellen Sie fest, dass die Header des LED-Rings herausragen und Sie die Tasse nicht flach auf eine Oberfläche stellen können. Um dieses Problem zu lösen, befestigen wir den LED-Ring an einem 3D-gedruckten Teil, mit dem der Ring flach auf einem Tisch platziert werden kann. Die 3D-Datei finden Sie in diesem Schritt. Wenn Sie keinen 3D-Drucker haben, machen Sie sich keine Sorgen, dieser Druck kostet 1,40 in meiner örtlichen Bibliothek. Wenn Ihre lokale Bibliothek keinen 3D-Drucker hat, sind weitere Optionen wie Staples und Online-Verkäufer. Es sollte auch beachtet werden, dass das bestimmte Teil, das ich angehängt habe, nicht das einzige kompatible ist, sondern nur der Weg, um ein Modell für mich zu erstellen. Wenn Sie also mit Holzbearbeitung oder anderen Handwerken gut sind, wären diese mehr als akzeptabel!

Wenn Sie das Teil für dieses Projekt drucken möchten:

- Laden Sie die STL-Datei herunter, um sie in einen Slicer wie Cura. zu importieren

- Messen Sie den Durchmesser eines Bodens einer Tasse Ihrer Wahl

- Passen Sie den Maßstab des Modells (in Millimetern bei Verwendung von Cura) an Ihre Messung an

Schritt 6: Befestigen Sie Untersetzer und Sensor an der Tasse Ihrer Wahl

Befestigen Sie Untersetzer und Sensor an einer Tasse Ihrer Wahl
Befestigen Sie Untersetzer und Sensor an einer Tasse Ihrer Wahl

Als nächstes nehmen Sie Ihren Untersetzer und befestigen ihn mit Klebstoff am Boden des gemessenen Bechers. Jetzt können die Überbrückungsdrähte auf den Wasserstandssensor und den LED-Ring zugreifen und liegen auch flach auf dem Tisch. Jetzt müssen Sie den Sensor anbringen. Bei der Platzierung des Sensors ist sehr vorsichtig zu sein, da diese Sensoren, obwohl sie als analog vermarktet werden, wirklich nur zwei Signale ausgeben – Wasser oder kein Wasser. Dies hat mir sehr viele Probleme bereitet, aber ich konnte einen Weg finden, es zu lösen, damit andere nicht die gleichen Frustrationen mit diesem Projekt erleben. Der Schlüssel ist, den Sensor in der Nähe der Spitze zu platzieren, wo sich die Flüssigkeit befindet, wenn die Tasse voll ist. Dadurch wird sichergestellt, dass der Sensor einen „leeren“Zustand registriert und somit das nächste eingeschenkte Getränk zählen kann.

Schritt 7: Projekt verschönern und Drähte schützen

Projekt verschönern und Drähte schützen
Projekt verschönern und Drähte schützen

An dieser Stelle bleibt wahrscheinlich ein Bündel Drähte und Teile übrig, die wie auf dem beigefügten Foto aussehen. Was Sie tun, um das Projekt besser aussehen zu lassen, liegt ganz bei Ihnen, solange Sie diese Kriterien im Hinterkopf behalten:

- Sie müssen in der Lage sein, ein Ladegerät an die Stromversorgung des Arduino anzuschließen

- Sie müssen Löcher ausschneiden oder Freiräume schaffen, damit der Benutzer auf den LCD-Bildschirm, die Tasten, den Wasserstandssensor und den LED-Ring zugreifen kann.

- Sie müssen die elektronischen Komponenten vor Nässe schützen, da dies möglich ist, da sich das Projekt auf Getränke konzentriert.

Einige Optionen zum Einschließen des Projekts sind:

- Ein Schuhkarton oder Karton

- Ein wasserdichtes Elektronikprojektgehäuse wie das hier gefundene

- Ein 3D-gedrucktes Design (Dies ist die Option, die ich verfolgen wollte, es war jedoch zu teuer, ein solches Design in meiner Bibliothek zu drucken)

Schritt 8: Trinken Sie verantwortungsbewusst

Verantwortungsvoll trinken!
Verantwortungsvoll trinken!

Nachdem Sie Ihre Tasse am Untersetzer und dem Wassersensor befestigt haben, können Sie loslegen! Sie wissen, dass alles richtig funktioniert, wenn der LCD-Bildschirm Sie nach Ihrem Geschlecht und Gewicht fragt. Ein Knopf entspricht dem Gewicht, der andere dem Geschlecht. Sie können auf jeden klicken, um zu sehen, welcher es ist, bevor Sie ihn beschriften. Nachdem Sie Ihr richtiges Gewicht (Werte in 20er Schritten) und Geschlecht ausgewählt haben, klicken Sie gleichzeitig auf beide Schaltflächen. Dadurch wird der Rest des Programms gestartet und Sie sehen, wie der LED-Ring ein Regenbogenmuster blinkt. Die Tasse ist nun bereit, um ein Getränk einzuschenken. Wenn Sie mehr Getränke konsumieren und einschenken, verwendet das Programm die in der Einführung besprochene BAC-Tabelle, um einen BAC zu bestimmen. Bitte beachten Sie, dass dieses Programm ein Standardgetränk für jede Tasse voraussetzt. Sehen Sie sich das Bild (University of South Alabama) an oder besuchen Sie hier, um zu sehen, wie Ihr Lieblingsgetränk übersetzt wird. Beachten Sie auch, dass das Ziel dieses Projekts nicht darin besteht, illegale Aktivitäten zu fördern, sondern sicheres Trinken für diejenigen zu fördern, die alt genug sind, um Alkohol zu konsumieren. Auch wenn ich sehr zufrieden mit der Genauigkeit der BAC-Schätzung bin, die von einem Standardgetränk ausgeht, ist dieses Projekt ein Werkzeug, das Ihnen hilft, sicher zu trinken, übernimmt jedoch keine Haftung, wenn Sie sich entscheiden, nach dem Konsum von Alkohol Auto zu fahren.

Schritt 9: (Optional) Fehlerbehebung

(Optional) Fehlerbehebung
(Optional) Fehlerbehebung

- Fehler "Problem beim Hochladen auf das Board": Wenn Sie versuchen, den Sketch zu kompilieren und auf den Arduino hochzuladen, tritt dieser Fehler auf, wenn Ihr COM-Port nicht richtig konfiguriert ist (siehe Schritt eins zum Finden und Einstellen des richtigen COM-Ports) oder Ihr Platine ist nicht eingesteckt.

- LCD-Bildschirm zeigt keine weißen Zeichen: Wenn das blaue Licht Ihres LCDs leuchtet, Sie aber nach dem Hochladen der Skizze keine weißen Zeichen sehen, liegt dies höchstwahrscheinlich an Kontrastproblemen. Um dies zu beheben, drehen Sie einfach Ihr Potentiometer nach rechts (drehen Sie sich nach links, wenn Sie weiße Blöcke mit Ihren Charakteren sehen).

- Das Projekt zählt Getränke nicht richtig: Dieser Fehler ist ein Problem mit dem Wasserstandssensor. Wasserstandssensormodule korrodieren schnell und sind dafür bekannt, sehr ungenau zu sein. Das sollte Sie für dieses Projekt jedoch nicht interessieren, da ich den Sensor als digitalen Sensor und nicht als analogen Sensor behandelt habe. Siehe Schritt sechs zum korrekten Anbringen des Wasserstandssensors.

- Ein Modul ist extrem heiß und sendet nicht die richtigen Werte: Dies ist das Ergebnis einer Unterbrechung einer GND- oder VCC-Verbindung, wahrscheinlich während der Arbeit mit anderen Drähten. Stellen Sie sicher, dass die GND- und VCC-Verbindungen zum Sensor vollständig sind und folgen Sie ihnen zu den GND- und 5V-Pins von der Komponente zum Steckbrett zum Arduino, um nach Fehlern zu suchen.

- Ich habe aus Versehen mein Gewicht überschritten: Keine Sorge, die Gewichtseinstellung kehrt nach 240 auf 100 zurück, sodass Sie einfach durch die Optionen wechseln können, um wieder zu Ihrem Gewicht zu gelangen.

Wenn die Probleme weiterhin bestehen, schließen Sie das Kabel vom Arduino an den Laptop an, öffnen Sie die IDE und führen Sie die Skizze aus. Während der Sketch läuft, werden im seriellen Monitor mehrere Werte angezeigt, sodass Sie sehen können, was nicht so funktioniert, wie es soll. Um auf den seriellen Monitor zuzugreifen, führen Sie das Programm und "Tools" und dann "Serial Monitor" aus dem Dropdown-Menü aus.

Schritt 10: Reflexion

Auf der Programmierseite bin ich sehr zufrieden mit dem Verlauf dieses Projekts. Es dauerte eine Weile, bis ich schrieb, da ich noch ein Anfänger bin, aber ich konnte viele neue Bibliotheken lernen und das Ziel erreichen, BAC vorherzusagen, und ich habe das Gefühl, dass ich bei der Schätzung des BAC keine Abkürzungen genommen habe, da ich sowohl Sex als auch verwendet habe Gewicht (Dies machte einen Großteil der Skizze aus). Allerdings muss ich das Design genehmigen. Obwohl ich keinen 3D-Drucker besitze oder mich mit Holzbearbeitung auskenne, wollte ich mein Projekt wirklich besser präsentieren. Ich beabsichtige, bald einen Ender 3 zu bekommen, und das erste, was ich tun werde, ist, direkt zu diesem gleichen instructable zurückzukehren, um das Design zu verbessern. Als mein erstes instructable überhaupt habe ich das Gefühl, dass der Prozess gut gelaufen ist und ich bin sehr zufrieden mit dem Ausmaß, in dem dieses Projekt die Aufforderung adressiert hat, die ich für die Party Challenge erstellt habe, aber entwerfe etwas, zu dem ich später zurückkehren möchte, wenn ich die Ressourcen habe.