Inhaltsverzeichnis:

Autsch: 6 Schritte
Autsch: 6 Schritte

Video: Autsch: 6 Schritte

Video: Autsch: 6 Schritte
Video: Autsch: 5 häufige Gründe, warum Ex dich ignoriert! 🤐 2024, November
Anonim
AUTSCH
AUTSCH
AUTSCH
AUTSCH

Autsch ist Ihr persönlicher omnidirektionaler nutzloser Katarakthelfer. Da Gesichtserkennung den Zeitgeist trifft, trifft OUCH Sie! OUCH weiß nicht nur, wie du aussiehst, es weiß auch, wie man sehr nervig ist! Im Gegensatz zum großen Bruder ist diese Maschine sehr sichtbar und erfüllt nur einen Zweck: Dein Leben ein bisschen beschissener zu machen. Haben Sie schon einmal Ihre Sonnenbrille zu Hause vergessen und wurden von einem hellen Spiegelbild überrascht? OUCH lässt Sie diesen Moment immer wieder neu erleben. Indem Sie das Licht der hellsten Lichtquelle um Sie herum direkt in Ihr Gesicht reflektieren, wird sichergestellt, dass Sie keinen einzigen Moment in ihrer Nähe genießen.

Passen Sie auf, oder OUCH könnte das Letzte sein, was Sie jemals sehen werden!

Das Projekt wurde im Rahmen des Seminars Computational Design and Digital Fabrication im Masterstudiengang ITECH durchgeführt.

August Lehrecke | Max Zorn

Lieferungen

Elektronische Teile:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • 4x Fotowiderstände
    • 4x 10k Widerstände
    • 2x Potentiometer
    • 1x USB-Druckerkabel

Himbeer-Pi

  • Raspberry Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-Kanal-12-Bit-PWM-Servotreiber
    • 5V DC externes Netzteil
    • 1x Rasberry Pi 5.1V - 3Amp Netzteil (oder externes Äquivalent)
    • 1x MAKERFACTORY HC-SR05 Ultraschallsensor (MF-6402156)
    • 1x 470 Ohm Widerstand
    • 1x 320 Ohm Widerstand

3D-gedruckte Teile:

OUCH's gibt es in verschiedenen Formen und Größen. Für diese Version haben wir einen 3D-Drucker verwendet, um benutzerdefinierte Mechanismen zu drucken.

  • 4 x Ständer
  • 2 x Basis S
  • 1 x Basis L
  • 2 x Rotationsbasis Doppel
  • 1 x Drehbasis Single
  • 1 x Satz Achsenunterstützung S
  • 1 x Satz Achsenunterstützung M
  • 1 x Satz Achsenunterstützung L
  • 1 x Kamerahalterung
  • 1 x Lichthalterung
  • 1 x Spiegelhalterung

Optional können Sie das mitgelieferte Tower-Design verwenden, um die Komponenten zu montieren an:

  • 1 x Turm (statt 4 x Ständer)
  • 1 x Base S & 1x Base M (statt 2 x Base S)

Andere Teile:

  • Mylar
  • 1 x Gummiband
  • 1 x Kabelbinder
  • 12 M5 x 160 Flachkopfschrauben
  • 2 M5 x 80 Flachkopfschrauben

Werkzeuge:

  • 3D Drucker
  • H3.0 Schraubendreher
  • Heißklebepistole

Schritt 1: Schritt 1: Drucken der Teile

Wenn Sie Zugang zu einem 3D-Drucker haben, können Sie benutzerdefinierte Mechanismen drucken, um die Servos unterzubringen und die drei Hauptkomponenten zu montieren.

Für die Face-Komponente benötigen wir:

  • 2 x Ständer
  • 1 x Basis L
  • 1 x Drehsockel Doppel
  • 1 x Satz Achsenunterstützung M
  • 1 x Kamera- und Entfernungssensorhalterung

Die Light-Komponente erfordert:

  • 1 x Ständer
  • 1 x Basis S
  • 1 x Drehsockel Doppel
  • 1 x Satz Achsenunterstützung S
  • 1 x Lichthalterung

Die Mirror-Komponenten bestehen aus:

  • 1 x Ständer
  • 1 x Basis S
  • 1 x drehbare Basis einzeln
  • 1 x Satz Achsenunterstützung L
  • Spiegelhalterung

Schließlich können Sie auch den mitgelieferten Turm ausdrucken.

Wenn Sie es als Basis für alle drei Komponenten verwenden möchten, müssen Sie die Vektormathematik im Code entsprechend anpassen. Verbinden Sie außerdem die Face-Komponente mit Base M statt Base L mit dem Turm.

Schritt 2: Schritt 2: Den Spiegel herstellen

Schritt 2: Den Spiegel herstellen
Schritt 2: Den Spiegel herstellen
Schritt 2: Den Spiegel herstellen
Schritt 2: Den Spiegel herstellen

Um Ihre eigene Spiegelkomponente herzustellen, schneiden Sie ein kreisförmiges Stück Mylar und legen Sie es auf das 3D-gedruckte Spiegelteil. Dann zuerst mit einem Gummiband fixieren. Das Gummiband sollte in die Nut um das Bauteil passen. Verwenden Sie dann einen Kabelbinder, um die Verbindung vorsichtig zu sichern, ziehen Sie sie noch nicht zu fest an. Jetzt können Sie beginnen, das Mylar zu dehnen, bis Sie eine glänzende, spiegelnde Oberfläche erhalten. Ziehen Sie zum Schluss den Kabelbinder fest und genießen Sie das Spiegelbild Ihres schönen Gesichts!

Schritt 3: Schritt 3: Zusammenbau der Komponenten

Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten
Schritt 3: Zusammenbau der Komponenten

Gesichtskomponente

  1. Kleben Sie das Faust-Servo in die entsprechende Aussparung des Drehfußes
  2. Kleben Sie den Servostecker in die Nut, die sich an der Unterseite des Basisteils befindet
  3. Setzen Sie die beiden Basisteile zusammen, so dass der Servo mit dem Stecker verrastet
  4. Verwenden Sie die Schraube des Servos, um den Stecker am Servo zu befestigen
  5. Kleben Sie das zweite Verbindungsstück in die entsprechende Nut, die sich oben am Achsträger befindet
  6. Schrauben Sie den Achsträger mit 4 M5-Schrauben an die Drehbasis
  7. Heißklebe das zweite Servo auf die Halterung
  8. Schieben Sie die Kamera auf die Stifte
  9. Befestigen Sie den Ultraschall-Distanzsensor an der Halterung, entweder durch Verschrauben oder Heißkleben
  10. Verbinden Sie die Kamera / Sensorhalterung mit dem Achsträger, das Servo muss wieder in das Anschlussstück gleiten
  11. Verwenden Sie die Schraube des Servos, um den Stecker am Servo zu befestigen
  12. Schrauben Sie den Raspberry Pi und den Servotreiber auf ein Stück Sperrholz (Achten Sie darauf, dass der Abstand zu den Löchern der Basis L passt)
  13. Schrauben Sie die Face-Komponente mit M5-Schrauben an die Ständer

Spiegelkomponente

  1. Befolgen Sie die Schritte 1 bis 7
  2. Verbinden Sie den Spiegel mit dem Achsträger
  3. Kleben Sie einen Spiegelständer auf Sperrholz, so dass die Spiegel- und Gesichtskomponente ausgerichtet sind
  4. Schrauben Sie die Spiegelkomponente mit M5-Schrauben an den Ständer

Lichtkomponente

  1. Befolgen Sie die Schritte 1 bis 7 von oben
  2. Fädeln Sie die Lichtsensoren durch die Befestigungslöcher an der Unterseite des Beschattungskreuzes
  3. Verbinden Sie das Beschattungskreuz mit dem Achsträger, das Servo muss wieder in das Verbindungsstück gleiten
  4. Verwenden Sie die Schraube des Servos, um den Stecker am Servo zu befestigen
  5. Kleben Sie einen Ständer auf Sperrholz, so dass die Komponenten Licht, Spiegel und Gesicht ausgerichtet sind und sich der Spiegel zwischen den Komponenten Gesicht und Licht befindet
  6. Schrauben Sie die Face-Komponente mit M5-Schrauben an die Ständer

*Alle Komponenten können auch am Tower befestigt werden, bitte beachten Sie jedoch den erhöhten Codierungs- und Verdrahtungsaufwand sowie die Druckzeit. Wenn Sie den Turm verwenden möchten, verwenden Sie anstelle des Sockels L für die Face-Komponente das Basisteil M und schrauben Sie die Basisteile mit den Ösen und M5-Schrauben am Turm fest.

Schritt 4: Schritt 4: Konfigurieren Sie die Boards

Schritt 4: Konfigurieren Sie die Boards
Schritt 4: Konfigurieren Sie die Boards
Schritt 4: Konfigurieren Sie die Boards
Schritt 4: Konfigurieren Sie die Boards
Schritt 4: Konfigurieren Sie die Boards
Schritt 4: Konfigurieren Sie die Boards

Hier ist der Schaltplan für die drei Komponenten. Der Sonnentracker wirkt auf eine eigene Schleife auf dem Arduino und sendet seine Servopositionen über den seriellen USB-Port an den Rasberry Pi. Ein optionaler Distanzsensor kann an der Vorderseite der Schwenk-/Neige-piCamera angeschlossen werden, um eine robustere Triangulation des Ziels zu erreichen. Hier werden wir sie in einer geraden Linie aneinanderreihen und nur die Vektoren mitteln, damit dies nicht erforderlich ist.

Vier Servos sind an den PCA9685-Servotreiber angeschlossen, der von einem externen 5-V-Netzteil gespeist wird. Zwei der Servos steuern das Schwenken und Neigen für die Gesichtsverfolgungskamera, während die restlichen beiden das Schwenken und Neigen für den Spiegel steuern.

Schritt 5: Der Code:

Der Code
Der Code

Der Code für dieses Projekt kann in zwei Teile unterteilt werden: Der Arduino-Lichtverfolgungscode und der Python-Gesichtsverfolgungs- / Spiegelpositionscode.

Arduino-Code:

Dieser Code ist eine leicht modifizierte Version des Sonnennachführungsprojekts von geobruce. Es ist eine großartige Referenz, um mehr über die Solar-Tracking-Komponente zu erfahren. Weitere Details finden Sie auf dieser Anleitungsseite. Die Lichtintensitätswerte werden von den 4 Fotowiderständen aufgenommen und gemittelt, um den hellsten Bereich zu finden und die Servos entsprechend einzustellen. Wir schreiben dann die Servowinkelwerte an den seriellen Port aus.

Python-Code:

Dieser Code integriert Open CV, um einen Schwenk-Neige-Mechanismus mit Gesichtsverfolgung zu erstellen und die Servos für den Spiegel anzutreiben. Sie müssen einige Schritte ausführen, um den offenen Lebenslauf auf Ihren Raspberry Pi herunterzuladen. Es gibt viele Ressourcen dafür, aber ich mag die von pyimagesearch sehr. Eine vollständige Anleitung dieses Prozesses finden Sie hier. Hinweis: Wir haben die offenen CV-Bibliotheken in eine virtuelle Umgebung heruntergeladen, in der wir den gesamten Code ausführen. Wenn Sie sich dafür entschieden haben, stellen Sie sicher, dass Sie alle Abhängigkeiten in die virtuelle Umgebung herunterladen, in der Sie das Programm ausführen, und nicht der Pi selbst.

Sobald Sie Open CV heruntergeladen haben, benötigt dieser Code auch einige weitere Abhängigkeiten (installiert in der spezifischen Umgebung, die Sie ausführen), um ausgeführt zu werden:

  • Adafruit ServoKit: Eine vollständige Seite zum Download auf dem Raspberry Pi finden Sie hier.
  • imutils
  • numpy
  • gpiozero (bei Verwendung eines Distanzsensors)

Für die Gesichtsverfolgung benötigt das Skript ein Argument (--faces), das eine.xml-Datei ist, die openCv verwendet, um Gesichter zu finden. Sie müssen diese Datei im selben Verzeichnis wie das Python-Skript ablegen. Ich habe es in den Downloads bereitgestellt und ist auch hier zu finden.

Schritt 6: Ausführen des Codes

Ausführen des Codes
Ausführen des Codes
Ausführen des Codes
Ausführen des Codes

Sobald Sie den gesamten Code in dasselbe Verzeichnis heruntergeladen und Ihre virtuelle Umgebung mit Open CV eingerichtet haben, können Sie ihn ausführen.

  1. Öffnen Sie die Eingabeaufforderung auf Ihrem Bild
  2. Geben Sie workon cv ein (oder einen beliebigen Namen für Ihre virtuelle Umgebung)
  3. Ändern Sie das Verzeichnis, in dem Sie Ihre Dateien gespeichert haben (cd (Pfad zu Dateien))
  4. Die letzte Zeile führt das Programm aus und spezifiziert die Haarkaskadendatei. (python Face3.py --faces haarcascade_frontalface_default.xml)

Wenn Sie es ausführen, sollten Sie einen Videostream vom Picam-Popup auf dem Bildschirm sehen und die Eingabeaufforderung beginnt mit dem Ausdrucken der Servowerte von allen sechs Servos.

Und Sie sind fertig! Abhängig von der Qualität der Servos, die Sie haben, möchten Sie diese möglicherweise einzeln kalibrieren, um die Genauigkeit Ihres Systems zu verbessern. Am Ende mussten wir alle PWM-Bereiche optimieren, damit sie richtig funktionieren.

Empfohlen: