Es wird ein bisschen heiß, Sommer und so. Ich habe einen chinesischen Ventilator auf meinem Schreibtisch, aber ich arbeite an verschiedenen Enden meines neuen großen Schreibtisches, und der Ventilator bläst fast immer vorbei, und es ist irgendwie traurig, ihn jedes Mal umzudrehen. Also werden wir heute einen Fan mit automatischem Zielen auf das Ziel machen.
Wir müssen also die Position des Ziels unter Berücksichtigung der Situation auf dem Tisch verfolgen, damit der Lüfter nicht auf andere Objekte zielt. Idealerweise können Sie natürlich einen Himbeer-Pi-Minicomputer mit einer Kamera nehmen und mithilfe einer Bildverarbeitungsbibliothek Bewegungen oder ein helles T-Shirt erkennen.
Dies ist jedoch eine ziemlich schwierige Aufgabe, und das Board selbst kostet mehr als das Zehnfache der Plattform Arduino, die mit der Kamera nicht umgehen können. Neben der Kamera gibt es aber auch andere Möglichkeiten, das Ziel zu bestimmen, beispielsweise einen Penny-Ultraschall-Abstandssensor.
Als ich im Internet auf ein interessantes Projekt "Radar" stieß, das auf Arduino und diesem Sensor basiert. Das Projekt selbst ist ziemlich nutzlos, aber die Idee selbst ist wunderbar - den Abstandssensor zu drehen und den Raum abzutasten, der an den Drehwinkel gebunden ist.
Lassen Sie uns dieses Projekt zum Spaß wiederholen, und dann werden wir weitermachen.
Dies bedeutet, dass der Sensor gedreht werden muss, dafür wird das übliche Modellservo verwendet (wer nicht weiß, das Servo ist ein Motor mit einem Getriebe und Rückmeldung zum Winkel, dh wir können den Drehwinkel einstellen und er schaltet ihn ein).
Seien wir nicht schlau und befestigen Sie den Sensor einfach mit dem Ring aus der Fahrradkammer.
Wir montieren die Schaltung auf einem Steckbrett.
Das ist alles, es bleibt, um die Firmware in Arduino herunterzuladen. Diese Version verwendet eine schnellere Bibliothek.
Sie können die Quellen auf der Projektseite herunterladen, den Link finden Sie in der Beschreibung unter dem Video. Dort finden Sie alle detaillierten Anweisungen, insbesondere einen großen Artikel für diejenigen, die das Arduino zum ersten Mal aufgenommen haben. Im Allgemeinen laden wir die Firmware in das Board und unser Radar wird zum Leben erweckt. Jetzt müssen Sie auf dem Computer ein Programm ausführen, das Daten vom Radar empfängt (es befindet sich ebenfalls im Projektordner, aber Sie benötigen eine Verarbeitungsumgebung, um es zu starten. Sie können es auf der offiziellen Website herunterladen).
Wir starten es und hier müssen Sie nur einen Moment konfigurieren - die Portnummer, mit der Arduino verbunden ist. Dies ist die gleiche Nummer, die im arduino ide-Programm ausgewählt wurde, nur müssen wir sie manuell eingeben.
Wir fangen an.
Das war's, unser Radar funktioniert hervorragend und zeigt die Entfernung zu den gefundenen Hindernissen an. Wie Sie sehen können, funktioniert es mit ausreichender Genauigkeit, um nicht nur ein großes Ziel in Form einer Person oder eines Kopfes zu erkennen, sondern auch kleine Dinge zu bewältigen, die für interessante Experimente zu einem ganzen Feld werden können. Während alle Spaß mit Himbeer-Pi haben, habe ich mich entschlossen, mich selbst herauszufordern und ein buchstäblich blindes System zu lehren, um das Ziel zu erkennen und darauf zu zielen. Dies wird ein großartiges einfaches Projekt sein, das auch mit Hilfe des Arduino Starter Kits wiederholt werden kann. Lassen Sie es uns tun und über den Algorithmus der Arbeit nachdenken.
Die Fähigkeiten des Systems sind also ziemlich begrenzt. Wir erhalten nur die Entfernung vom Radar, aber wir wissen, welchem Winkel jede Dimension entspricht. Das erste, was mir in den Sinn kommt, ist das Erstellen einer Arbeitsbereichskarte. Das heißt, wir machen einen Durchgang und erinnern uns, in welchem Winkel welche Entfernung war. In nachfolgenden Durchgängen können wir nun den Unterschied für jeden Winkel gemäß unserer Karte ermitteln. Und so können wir ein neues Objekt sehen, das sich vor dem Hintergrund bereits bekannter Werte abhebt. Jetzt müssen Sie dem System beibringen, Ziele zu definieren. Versuchen wir diese Option: Wir betrachten die Anzahl der nacheinander liegenden markierten Punkte, dh im Leben ist dies ein bestimmter Bereich, den das Radar abtastet.
Wir werden das Ziel betrachten - die Fläche ist größer als eine bestimmte Größe. Dadurch werden alle Messgeräusche sofort herausgefiltert. Ich schlage auch vor, dem System mehrere Fehler beim Scannen eines Bereichs zu verzeihen, da der Ultraschallsensor nicht perfekt ist.
Das Radar kann einen großen Bereich erkennen, dh es kennt den Winkel des Anfangs dieser Region und den Winkel seines Endes in seinem Koordinatensystem. Es bleibt nur die Mitte dieses Bereichs zu berechnen und das Radar dorthin zu lenken und es nicht mehr bewegen zu lassen. Dies ist ein Haltemodus.
Wir werden weiterhin die Entfernung messen. Wenn der gemessene Punkt plötzlich den Sichtbereich des Radars verlässt, wechseln wir nach einer Weile wieder in den Zielsuchmodus. Das ist alles, was nicht verstanden hat, der Computer wird hier nicht mehr benötigt, Arduino wird alles selbst machen. Es reicht aus, es nur über ein 5-Volt-Netzteil mit Strom zu versorgen. Die Firmware befindet sich im Projektordner. Es gibt eine Reihe von Einstellungen, mit denen Sie herumspielen und alles für sich selbst konfigurieren können.
Also starten wir das System. Erstens geht die Kalibrierung von Kante zu Kante. Das System merkt sich den Abstand im Kalibrierungsarray in seinem Koordinatensystem. Dann beginnt die Arbeit sofort, wir scannen den Bereich, wenn wir das Ziel bemerken, dann finden wir seine Winkelgröße und zielen in der Mitte. Es funktioniert wie eine Uhr und ist fast auf die Mitte des Ziels gerichtet.
Übrigens sind alle Zeitverzögerungen konfigurierbar, insbesondere die Zeit zwischen dem Verlust von Zielen und dem Start eines neuen Scans. Andernfalls könnten Sie denken, dass das System langsamer wird - nichts dergleichen, richten Sie es einfach ein. Im Allgemeinen sind die Gehirne für den Ventilator bereit, sammeln wir Eisen.
Dieser Lüfter wurde vor ca. 5 Jahren von aliexpress gekauft. Es ist kompakt, wird über USB betrieben und eignet sich hervorragend für dieses Projekt. Sie können auch nach einem USB-Lüfter zum Festpreis oder in Haushaltswaren suchen.
Werfen wir einen Blick auf diesen Lüfter und sehen, ob in seinem Gehäuse freier Speicherplatz vorhanden ist, der mit seiner eigenen Elektronik vollgestopft werden kann.
Arduino Nano passt leider nicht hierher, aber es gibt einen Arduino Pro Mini, das gleiche, aber kleiner und ohne Programmierer an Bord, aber es passt perfekt.
Und warum nicht die Leistung des Lüfters mit dem Arduino steuern und den nativen Knopf wegwerfen? Es ist nicht genügend Platz vorhanden, das Relais passt nicht, daher verwenden wir einen Feldeffekttransistor.
Er braucht noch zwei Widerstände von 100 Ohm und 10 kOhm. Wir entfernen den Knopf vollständig, damit er nicht stört. Das Anschlussdiagramm sieht folgendermaßen aus:
Verbinden wir den Entfernungsmesser mit einem Kabel von der Festplatte.
Wir haben auch einen Kondensator in der Schaltung, der nicht erforderlich, aber sehr wünschenswert ist, da der Servoantrieb für USB ziemlich merkliche Stromspitzen liefert, und dies kann Entfernungsmessungen beeinflussen.
Um die Firmware in Pro Mini herunterzuladen, benötigen Sie einen externen Programmierer, der die Chinesen wie eine Dose Bier kostet und wie folgt verbindet:
Sie müssen nichts weiter tun, klicken Sie auf den Download-Button und die Firmware wird wie gewohnt auf das Nano-Board geladen.Das Gehäuse schließt sich und alle Drähte treten durch die Löcher aus dem Schalter aus.
Als nächstes müssen Sie das Servo reparieren. Es wurde beschlossen, den Ventilator an ein Regal zu hängen und das Servo an einer Ecke zu befestigen.
Um zu verhindern, dass sich die Ecke dreht, verwenden wir doppelseitiges Klebeband, aber das Gummiband der Fahrradkamera wäre besser.
Der Platz für den Sensor muss leicht erweitert werden. Befestigen Sie es an den Schrauben, die mit dem Servo geliefert wurden.
Der letzte Schliff, alles, schalten Sie sich ein und warten Sie, bis die Kalibrierung abgeschlossen ist, und genießen Sie den Homing-Fan.
Sehr lustige Sache stellte sich heraus. Es war ursprünglich als Modell konzipiert, aber dank der Chinesen und eines großen leeren Fachs im Inneren des Lüfters war es möglich, ein fertiges Gerät mit fast keinen hervorstehenden Drähten und Rotz herzustellen, was sehr erfreulich war. Übrigens, wenn der Lüfter das Ziel einige Zeit nicht finden kann, steigt er in die Mitte und schaltet sich aus. Um es einzuschalten, müssen Sie nur Ihre Hand heben, und der Lüfter ist bereit, auf das Ziel zu zielen und es erneut abzukühlen.
Das Servo stellte sich als billiger Kunststoff heraus, das Getriebe ist locker, die Bewegung zuckt, aber was können Sie tun? Auf der Projektseite gibt es einen Link zu einem besseren Servo, es hat ein Metallgetriebe. Das Projekt erwies sich aufgrund seiner Einfachheit als ziemlich cool und interessant - ein Sensor, ein Laufwerk, aber als Ergebnis eine vollwertige Referenzierung auf der Karte der Region und Touch-Steuerung.
Danke für die Aufmerksamkeit. Bis bald!
Video: