Inhaltsverzeichnis:

Intelligentes Desinfektionsmittel mit Magicbit - Gunook
Intelligentes Desinfektionsmittel mit Magicbit - Gunook

Video: Intelligentes Desinfektionsmittel mit Magicbit - Gunook

Video: Intelligentes Desinfektionsmittel mit Magicbit - Gunook
Video: intelligent disinfection tunnel /Интеллектуальный канал дезинфекции 2024, November
Anonim

In diesem Tutorial erfahren Sie, wie Sie mit Magicbit ein automatisches Desinfektionsmittel mit zusätzlichen Funktionen erstellen. In diesem auf ESP32 basierenden Projekt verwenden wir magicbit als Entwicklungsboard. Daher kann jedes ESP32-Entwicklungsboard in diesem Projekt verwendet werden.

Lieferungen

Magicbit

  • Ultraschallsensor - HC-SR04 (Generic)
  • MG945 Metall-Servo
  • DFRobot Gravity: Analoger kapazitiver Bodenfeuchtesensor – korrosionsbeständig
  • USB-A-zu-Micro-USB-Kabel

Schritt 1: Geschichte

Geschichte
Geschichte

Hallo Leute, heute erfahren wir, wie man mit Magicbit mit Arduino IDE ein intelligentes Desinfektionsmittel herstellt.

Heutzutage ist alles, was Sie wissen, ein globales Thema, das Corona ist. Hygiene ist in dieser Situation also eines der wichtigsten Dinge. Deshalb haben wir Desinfektionsmittel verwendet, um unsere Hände zu reinigen. Aber um Desinfektionsflüssigkeit auszugeben, müssen wir den Kopf der Desinfektionsflasche drücken. Wenn jeder versucht, diesen Kopf zu drücken, kann dies dazu führen, dass sich Keime verbreiten. Um dieses Problem zu lösen, haben wir mit magicbit eine sehr einfache Lösung eingeführt. Das ist dieses intelligente Desinfektionsmittel.

Schauen wir uns an, wie wir das gemacht haben.

Schritt 2: Theorie und Methodik

Die Theorie ist einfach. Wenn Sie die Desinfektionsflasche erreichen, erkennt sie Sie mithilfe eines Ultraschallsensors. Wenn Sie ihn auf eine bestimmte Entfernung schließen, gibt der Magicbit dem Servomotor das Signal, sich zu drehen. Wenn sich der Servomotor dreht, wird der Kopf der Flasche gedrückt und die Desinfektionsflüssigkeit wird aus der Flasche ausgestoßen. Wenn die Flüssigkeit in der Flasche unter ein bestimmtes Niveau sinkt, erkennt es das Magicbit mithilfe des Bodenfeuchtigkeitssensors. Dieser Sensor ist kapazitiv. Daher können wir den Flüssigkeitsstand messen, indem wir die Flaschenwand berühren, anstatt den Sensor in die Flüssigkeit zu bringen. Dies ist eine zusätzliche Funktion.

Unter folgendem Link können Sie mehr über Sonar, Servo, Bodenfeuchtigkeit und Magicbit-Entwicklung erfahren. Planke.

magicbit-arduino.readthedocs.io/en/latest/

Schritt 3: Hardware-Setup

Hardware-Setup
Hardware-Setup
Hardware-Setup
Hardware-Setup
Hardware-Setup
Hardware-Setup

Dieses hat zwei Abschnitte. Erstens baut man die Schaltung auf und zweitens baut man den Mechanismus auf. Wir schließen zwei Sensoren und einen Servomotor an drei Erweiterungsports des Magicbit an. Der komplette Schaltplan ist unten dargestellt.

Wenn Sie die komplette Schaltung aufbauen, müssen Sie zum zweiten Abschnitt gehen. Um den Kopf der Flasche zu drücken, haben wir einen Servomotor mit seinen Armclips verwendet. Dieser Clip dreht sich und trifft mit dem Kopf der Flasche. Der Kopf drückt also nach unten. In diesem Mechanismus wandeln wir die Drehbewegung des Servos in die Linearbewegung des Flaschenkopfs um. Sie können jede Art von Mechanismus verwenden, der Servo verwendet, um diesen Bedarf zu erfüllen. Die folgenden Bilder zeigen unseren Mechanismus. Das kannst du dir selbst bauen.

Hinweis: Wenn Sie kleine mg90-Servos verwendet haben, hat es möglicherweise nicht genug Drehmoment (Kraft, um den Flaschenkopf nach unten zu drücken. Stellen Sie also bei der Auswahl des Servomotors sicher, dass Sie über genügend Drehmoment verfügen).

Um die Feuchtigkeit zu messen, haben wir einen kapazitiven Feuchtigkeitssensor verwendet, der in Magicbit dev enthalten ist. Bausatz. Aber das bekommst du von extern. Wenn Sie es in die Flaschenoberfläche einstecken, stellen Sie sicher, dass es die Wandoberfläche der Flasche kaum berührt. Ansonsten gibt es keine hohe Abweichung, wenn der Flüssigkeitsstand sinkt.

Um die Hände zu erkennen, stellen wir den Ultraschallsensor in der Nähe der Flasche so ein, dass er mit einem kleinen Winkel zur Oberseite zeigt.

Schritt 4: Software-Setup

Software-Setup
Software-Setup

Um das Magicbit zu programmieren, haben wir die Arduino IDE verwendet. Der Algorithmus ist einfach. Wenn wir das Magicbit einschalten, wird es die Entfernung zum nächsten Objekt vom Sonar erhalten. Dann prüft es, ob sich das nächste Objekt in der Nähe eines bestimmten Niveaus befindet. In diesem Fall wird überprüft, ob die Flasche geöffnet oder geschlossen ist. Wenn es geöffnet ist, tun Sie nichts. Ansonsten Flasche öffnen. Wir haben eine gewisse Verzögerung verwendet, um die Geräusche zu unterdrücken und die Genauigkeit der Messwerte zu verbessern.

Stellen Sie bei Verwendung des Bodenfeuchtigkeitssensors sicher, dass dieser kalibriert ist. Dazu setzen wir den Sensor zuerst der Luft aus. Zu diesem Zeitpunkt markieren wir den analogen Read, der von Magicbit empfangen wird. Dann erhalten wir einen weiteren Messwert, wenn der Sensor die Flaschenoberfläche berührt. Stellen Sie in diesem Fall sicher, dass die Flasche vollständig mit Flüssigkeit gefüllt ist. Holen Sie sich die mittlere dieser beiden Zahlen als Schwellenwert. Wenn der Messwert höher als dieser Wert ist, bedeutet dies, dass die Flasche zu Ende ist, indem ein Ton vom Summer erzeugt wird.

Um den Code hochzuladen, verbinden Sie Magicbit über ein Datenkabel mit dem Computer. Wählen Sie den richtigen COM-Port und Kartentyp aus und laden Sie den Code hoch. Viel Spaß.

Schritt 5: Code

#enthalten

#include #define TRIGGER_PIN 21 #define ECHO_PIN 22 #define MAX_DISTANCE 200 #define SENSOR 32; NewPing Sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); int Ausgabewert; int-Abstand; int-Zählung = 0; bool Open=false; Servo-Servo; Void setup () { Serial.begin (115200); Servo.attach (26); // Definiert, an welchem Pin sich die Verzögerung des Servomotors befindet (3000); PinMode (32, INPUT); // Feuchtigkeitssensor angeschlossen Pin PinMode (25, OUTPUT); // Summer angeschlossener Pin} Void Schleife () { Output_value = AnalogRead (SENSOR); if (output_value0 && distance=90; i--) {//Kopf drücken Servo.write (i); Verzögerung(5); } zählen = 0; Open=true;} else if((distance>60 || distance==0) && Open==true){ for(int i=90;i

Empfohlen: