Inhaltsverzeichnis:

Project Oasis: Voice Terrarium – Gunook
Project Oasis: Voice Terrarium – Gunook

Video: Project Oasis: Voice Terrarium – Gunook

Video: Project Oasis: Voice Terrarium – Gunook
Video: Voice Experiments: Project Oasis 2024, Juli
Anonim

Project Oasis ist ein Voice Terrarium, mit dem Sie sprechen können. Es ist ein autarkes geschlossenes Ökosystem, das das Wetter draußen nachahmt, aber in einer Box. Sie können das Terrarium nach "Wetter in Seattle" fragen, als Reaktion darauf, dass es in der Box anfangen könnte zu strömen. Das Terrarium kann auch Wolken erzeugen, Nebel erzeugen oder die Beleuchtung ändern, um andere Wetterbedingungen darzustellen.

Schritt 1: Motivation

Das Medium unseres Gesprächs mit der Natur ist so visuell und multimodal, im Gegensatz zu dem, was wir heute mit Technologie tun. Wetter auf Telefonen oder Computern weckt nicht die gleichen Sinne wie das buchstäbliche Sehen oder Fühlen des Wetters. Darüber habe ich während meiner Zeit bei Google Creative Lab nachgedacht und Project Oasis gegründet.

Es ist ein Terrarium, mit dem Sie über den Google Assistant sprechen können. Sie können ihn bitten, bestimmte Bedingungen zu schaffen oder Ihnen das Wetter an einem bestimmten Ort anzuzeigen. Dieses Experiment erweitert unser Gespräch mit Technologie und der Natur. Wir leben zwischen Natur und Technik und betrachten sie traditionell als zwei sehr unterschiedliche Welten. Oasis ist ein ökologisches Gespräch, aber auf natürliche Weise; weder programmiert noch chaotisch. Im Folgenden finden Sie die Schritte zum Erstellen eines Ihrer eigenen aktiven Terrarien.

Schritt 2: Allgemeiner Mechanismus

Das Terrarium schafft wie erwähnt Regen-, Nebel- und Lichtverhältnisse. Die Oberseite des Terrariums verfügt über LEDs, eine Regenschale sowie ein kleines Gehäuse mit keramischen Resonatoren in Kontakt mit Wasser. Diese kleinen Scheiben schwingen bei ~1-1,7Mhz, um Wasser zu zerstäuben, was wie Nebel aussieht.

Der Boden des Terrariums beherbergt zwei peristaltische Pumpen und andere Elektronik. Ein Reservoir am Boden des Terrariums hält überschüssiges Wasser. Das Wasser wird recycelt/filtriert und mit einer der leisen Schlauchpumpen zur Regenwanne gepumpt.

Schritt 3: Gehäusedesign

Image
Image

Link zu CAD

Liste der Werkzeuge/Materialien:

  1. Acryl-/Plexiglasplatten 0,25" dick (24" x 18" - Menge: 4)
  2. Acrylkleber
  3. Bohrer-Set mit 1/4" und abgestuften unteren Bits
  4. Maßband + Messschieber
  5. Epoxidkleber (~15 Minuten süße Zeit)
  6. GE Sealant zur Abdichtung
  7. Durchsichtiger PVC-Schlauch 1/4" AD + Widerhaken-Anschlüsse

Die Gestaltungsrichtlinien für dieses Terrarium sind flexibel und keine festen Regeln. Ich entschied mich, einen zu bauen, den ich auf meinem Schreibtisch aufbewahren konnte oder einen, der auf einer Arbeitsplatte gut aussehen würde. Außerdem hatte ich eine ungefähre Vorstellung davon, wie viel Platz meine Elektronik, Pflanzen und mein Wasserreservoir einnehmen würden. Ich entschied mich für das gesamte Gehäuse H: 15" B: 6" L: 10"

Die CAD-Maße in der obigen Abbildung zeigen die allgemeine Aufteilung; im Großen und Ganzen nehmen die obere und die untere Elektronik jeweils 4" Höhe ein. Der Behälter nimmt unten 4" L ein und lässt 6" L für die Elektronik übrig (mehr zur Elektronik später).

Ich habe mich für Acryl/Plexiglas für diese Terrarienversion entschieden, da es leicht erhältlich ist, sehr einfach mit dem Laser zu bearbeiten ist und die Teile mit einer Vielzahl von Acrylzementen verklebt/verschweißt werden können. Glas oder transparenter Kunststoff sind gute Kandidaten, je nachdem, wie weit Sie mit der Optik gehen möchten, insbesondere wenn das Terrarium Kurven haben soll. Darüber hinaus sind in vielen Geschäften auch kratzfeste Versionen von Plexiglas erhältlich, so dass es immer noch eine ideale Wahl sein könnte.

Ich habe das 3D-Modell für mein Terrarium in Fusion 360 entworfen, nur weil ich es ausprobieren wollte. Die CAD-Dateien für dieses Projekt werden mit diesem Schritt angehängt. Ich habe alle Skizzen abgeflacht, um Lasermaschinendateien zu erhalten, und der Standard-Laserbearbeitungsprozess folgt. Richten Sie den Laser ein (in meinem Fall Epilog), öffnen Sie die Dateien in Corel Draw und führen Sie die Bearbeitung aus.

Sie sollten jetzt die Acrylteile haben, die für die Gehäusemontage benötigt werden. Beziehen Sie sich auf CAD und von unten nach oben gehen Sie die Teile mit Acrylzement zusammen, um eine Box zu erhalten, mit Gerüst oben / unten. Verwenden Sie Bremssättel und Linealmatte (da Ihre Box transparent ist) als Leitfaden für einen einfacheren Montageprozess.

Schritt 4: Elektronikdesign

Elektronikdesign
Elektronikdesign
Elektronikdesign
Elektronikdesign
Elektronikdesign
Elektronikdesign

Liste der Komponenten / Elektronik:

  1. 5V/10A Netzteil (Anzahl: 1)
  2. 3V-35V Aufwärtswandler (Anzahl: 2)
  3. 12-V-DC-Dosierschlauchpumpe (Anzahl: 1)
  4. 2200 ml/min Peristaltikpumpe (Anzahl: 1)
  5. Icstation 20mm Keramikscheiben Freq = 113KHz, mit Treiberplatinen (Anzahl: 2)
  6. RGB-LED-Streifen (Anzahl: 1)
  7. 18 AWG und 24 AWG Kabelsatz
  8. Kabelbaum 1/4"
  9. Raspberry Pi 3 + Google Voice Hat (du brauchst hier nur den Voice Hat + Mikrofon und nicht den Lautsprecher selbst)
  10. Arduino Nano mit Mini-USB-Kabel
  11. ~3-24V Spannungsbelastung durch Loch SSR-Relais
  12. Halbgroßes Protoboard

Sie benötigen für diesen gesamten Vorgang auch ein Netzteil mit variabler Spannung, ein Multimeter, ein Lötkolben und eine Heißklebepistole.

Hinweis: Dies ist ein schneller Prototyp und es gibt bessere Alternativen zu einigen der Komponenten und Verbindungen. Wenn Sie wissen, was Sie tun, können Sie mit praktikablen Alternativen wechseln.

Ich habe das 5V/10A-Netzteil mit einem Ausgang in ein Netzteil mit mehreren Ausgängen gehackt, indem ich den Stecker abgezogen und meine eigenen mehradrigen Kabel für einzelne Komponenten hinzugefügt habe.

  • 5V-Leitung für Icstation-Treiberplatinen
  • 5V Leitung für RGB LEDs
  • 5V Leitung für Raspberry Pi 3
  • 12V Leitung (variabel über Boost Converter) zur Dosierung der Schlauchpumpe
  • 24V Leitung (variabel über Boost Converter) für Regenperistaltikpumpe mit hohem Durchfluss

Ich habe die einzelnen Linien genommen und sie in einem Kabelbaum für einen aufgeräumten Look zusammengefügt. Ich habe auch eine Kappe in der 5V-Leitung hinzugefügt, um Stromwelligkeiten zu verhindern, da diese direkt mit dem Raspberry Pi verbunden sind.

Grundlegende Verbindungen:

Ich habe eine der 5V-Leitungen direkt an Raspberry Pi angeschlossen - Rückseite der Platine an PP1 und PP6, um aus Platzgründen kein Mini-USB-Kabel zu verwenden. Auf dem Pi sitzt ein Google Voice Hat. Ich habe ein bereits vorhandenes Programm für die serielle Umschaltung genommen und auf einen Arduino Nano portiert. Dieser Nano wird über ein kurzes Mini-USB-Kabel mit dem Pi 3 verbunden. Der Arduino Nano hat Verbindungen zu einem Protoboard zum Ein- und Ausschalten von Relais, die wiederum Pumpen / Nebelerzeuger ein- / ausschalten.

Das Protoboard verfügt über drei Relais mit jeweils 5V, 12V und 24V Lastleitungen. Jedes Relais ist auch mit einem separaten Pin auf Arduino (D5, D7 und D8) verbunden. Informationen zum Verdrahten der Relaiskontakte für einige Schaltvorgänge finden Sie im Relaisdiagramm. A1/A2 sind die Leitungen von Arduino, während 13+, 14 Ihre Leitungen sind, um die Schaltung für die Last zu vervollständigen. Ich verwende Relais für eine gute Isolierung, aber Sie können sie auch durch Transistoren ersetzen. Denken Sie daran, eine gemeinsame Erdung zwischen der Last und dem Arduino zu haben, damit die Schaltung funktioniert.

Keramische Resonatoren

Die Keramikresonatoren/Piezos werden mit je einer Treiberplatine geliefert, die Sie einzeln an einer variablen Stromversorgung überprüfen können. Die obere Keramikoberfläche muss mit Wasser in Kontakt kommen, damit Nebel entsteht. Nachdem Sie die Treiberplatinen getestet haben, verdrahten Sie sie direkt mit einer 5-V-Stromleitung, mit einem Relais dazwischen (wie oben). Wenn das Relais eingeschaltet und der Stromkreis geschlossen ist, sehen Sie, wie das Wasser in Nebel umgewandelt wird.

LEDs

Neopixel-LEDs von Adafruit werden direkt mit einer Steuerleitung zum Arduino gesteuert, ohne irgendwelche Relais zu verwenden. Ich schneide diesen langen Streifen in mehrere Abschnitte von jeweils ~ 15 LEDs. Informationen zum Schneiden und Anschließen dieser LEDs finden Sie auf dieser Seite. Nachdem ich mehrere Abschnitte von LEDs erstellt hatte (wie auch auf dem Bild zu sehen), behielt ich die Silikonabdeckung an und fügte Heißkleber an den Enden hinzu, um alles wasserdicht zu machen. Für eine schöne und gleichmäßige Lichtverteilung habe ich einzelne Abschnitte auf den Boden der Regenwanne geklebt.

Schlauchpumpen

Wie bereits erwähnt, befinden sich in diesem Terrarium zwei Schlauchpumpen. Die Dosierperistaltik liefert nur geringe Wassermengen für den Nebelerzeuger. Der Nebelbehälter hat zwei Keramikresonatoren in Kontakt mit Wasser, aber das Wasser ist nicht sehr schnell leer. Infolgedessen läuft diese Pumpe nicht sehr oft, um den Nebelbehälter mit Wasser zu füllen. (Tatsächlich habe ich es sogar aus dem Code entfernt und den Nebelbehälter manchmal manuell aufgefüllt, indem ich einfach den oberen Deckel des Terrariums angehoben habe)

Die 24V, 2200mL/min Peristaltik hingegen wird für Regen verwendet und wird daher für dieses hohe Volumen gewählt. Während 24 V selbst eine zu hohe Durchflussrate für das Terrarium erzeugen, können Sie die Spannung am Boost Converter ändern, um die Durchflussrate dieser Pumpe auf eine optimale Einstellung zu ändern.

Schritt 5: Montage und Prüfung

Image
Image

Montage

Bohren

Die Elektronik (2 Peristaltikpumpen, RPi + Voice Hat/Microphone, Nano, Piezo Driver Boards, Relay Protoboard) bleibt in den unteren 6" L des Terrariums. Ich habe den Zusammenbau von unten nach oben gemäß dem 3D-Modell vorgenommen. Bohrer zwei Löcher (jeweils ca. 1/4") an der Rückseite der unteren Elektronikteile - eines der Löcher ist für die Stromleitungen aller Komponenten und das andere für die Schläuche der Peristaltikpumpen.

Bohren Sie ein Loch, das 1/4 von der oberen Abdeckung entfernt bleibt, damit der Regenwasserschlauch hineinkommen kann. Bohren Sie ein weiteres kleines Loch, damit die LED-Verkabelung herauskommt und in den Nano an der Unterseite einsteigt. Testen Sie die gesamte Elektronik ein letztes Mal zuvor legen Sie sie in die Schachtel.

Platzierung und Abdichtung

Inzwischen sollten alle Acrylabschnitte aus dem Schritt des Gehäusedesigns an Ort und Stelle geklebt worden sein. Legen Sie die oben genannte Elektronik in das untere Gehäuse und legen Sie den Deckel darauf. Es ist wichtig, diesen Deckel sorgfältig zu verschließen, damit er wasserdicht ist. Der Deckel ist nicht in die Schachtel eingepreßt, damit der Leim leicht fließen und die Lücken schließen kann. Ich benutzte Epoxy, goss es über die Seiten des Deckels und ließ es auf dem Gerüst laufen, das den Deckel hielt. Der Kleber sollte verlaufen und die Lücken nahtlos schließen. Lassen Sie es über Nacht aushärten und machen Sie dann möglicherweise eine weitere Schicht Wasserabdichtung mit dem GE Sealant.

Regen- und Nebelmontage

Die Montage der Regenwanne mit Nebelbehälter (mit Keramikscheiben an der Unterseite) sollte im Entwurfsschritt des Gehäuses zusammengekommen sein. Die LEDs sollten auch an der Unterseite der Regenschale aus dem vorherigen Schritt geklebt werden und die Drähte für Keramikresonatoren kommen aus dem jeweiligen Loch oben / hinten an der Box. Sie können diese Regen- und Nebelmaschine auf dem Gerüst oben in der Box sitzen lassen. Führen Sie vor dem Schließen des oberen Deckels den Schlauch der Pumpe durch das zuvor dafür gebohrte Loch über der Regenwanne. Schneiden Sie kleine Schlauchabschnitte ab und verwenden Sie Steckverbindungen, um mehrere Auslässe für eine gleichmäßige Verteilung des Wassers zu schaffen, wenn es in die Wanne kommt. Der Regen wird so im Terrarium ein einheitliches Aussehen haben. Sie können eine Wasserspenderflasche verwenden, um Wasser in den Nebelbehälter zu füllen, bevor Sie den Deckel zum Testen aufsetzen, sobald sich alles in der Box befindet.

Testen

Ich habe den Strom angeschlossen, der das RPi online gehen lässt. Es war zuvor so konfiguriert, dass es mit meinem lokalen WLAN-Netzwerk verbunden wird. Ich kann das Netzwerk nach der IP von Pi abfragen, woraufhin ich die integrierte Bildschirmfreigabe auf dem Mac verwende, um mich beim Pi anzumelden. Dies ermöglicht es mir, Dinge aus der Ferne zu testen und auszuführen, ohne ein HDMI-Kabel in die Box stecken zu müssen. Ich verwende meine voreingestellten Programme (siehe Software-Schritt für Programme, die auf Pi/Arduino für verschiedene Komponenten laufen), um zu testen, ob alles vorhanden ist, bevor ich mit den nächsten Schritten fortfahre.

Schritt 6: Terrariendesign (Landschaftsbau)

Terrariengestaltung (Landschaftsbau)
Terrariengestaltung (Landschaftsbau)

Dies ist wahrscheinlich der lustigste Teil des gesamten Prozesses. Sie können Pflanzen jagen oder kaufen! Ich ging in lokalen Gartencentern herum, einschließlich dem im örtlichen Home Depot, in der Nähe von Pflanzengeschäften und ging sogar einfach in meiner Nachbarschaft spazieren, die viele Grünflächen hat. Da das Klima im Terrarium feucht, geschlossen ist und sich stark verändert, habe ich versucht, widerstandsfähige tropische Klimapflanzen zu finden. Sie benötigen die folgenden Gegenstände, um das Beet zum Bepflanzen bereit zu haben:

  • Schwarze Erde
  • Perlit
  • Kies
  • Aktivkohle

Das Wasser filtert durch das Erdbett bis zum Reservoir, um als Regen wieder recycelt zu werden. Verwenden Sie ein feines Drahtgewebe (z. B. Glasfasergewebe) als Unterlage, bevor Sie das Erdbett aufsetzen. Legen Sie Aktivkohle als unterste Schicht in das Terrarium. Dies verhindert Schimmelbildung im Terrarium und hält auch unangenehme Gerüche in Schach. Bedecken Sie diese Schicht mit etwas Kies, damit das Wasser eine weitere Filterschicht hat und der Schmutz nicht ungehindert in das Reservoir fließt. Mischen Sie Schwarzerde und Perlit im Verhältnis 1:1, damit Sie ein wirklich luftiges und durchlässiges Kultursubstrat haben. Sie sind jetzt bereit zum Pflanzen.

Hinweis: Um all dieses Zeug in die Schachtel fallen zu lassen, ohne die Wände zu berühren, habe ich eine trichterartige Form mit einem Papier gemacht und Material durch diese Öffnung in die Schachtel gegossen und nicht direkt hineingeworfen.

Ich sammelte kleine Stämme und Moos von Baumstämmen in meiner Nachbarschaft und mehr Auswahl an kleinen tropischen Pflanzen in örtlichen Pflanzenläden. Bei Home Depot fand ich einen Bonsai-Orangenbaum, der meinem Aussehen entsprach und etwas, das in einem aktuellen Klima überleben würde. Ich verwende etwas Blattmoos und etwas Spanisches Moos (beide häufig in Gartencentern zu finden) für ein natürliches grünes Aussehen über der Erde im Terrarium.

Bei der Bepflanzung gehe ich von klein bis groß über. Ich benutze eine Pinzette, um die kleinen Pflanzen hineinzustecken und Moos / Baumstämme nur mit den Händen zu platzieren, bevor ich den Look erreiche, mit dem ich endlich zufrieden war. Sie sollten das Terrarium einmal leicht gießen und ein oder zwei Tage stehen lassen, damit sich die Pflanzen akklimatisieren und in diesem neuen Beet Wurzeln bilden können.

Schritt 7: Software

Diese Anweisungen stammen zum größten Teil aus dem Github hier mit dem gesamten Code. Ich werde sie immer noch hier lassen, damit sie fertig sind. Während ich Google Assistant wie im Video zu sehen nutze, ist das Terrarium auch ein Google Voice Hat mit einem Mikrofon im Terrarium selbst, das Befehle abhört. Sie können den AIR Voice Hat einfach gemäß den Anweisungen hier verwenden.

Bevor du anfängst

DialogFlow / Aktionen bei Google

Führen Sie die hier beschriebenen Schritte aus, um einen Dialogflow-Agenten zu erstellen. Wir verwenden eine Willkommensabsicht, die es dem Benutzer ermöglicht, mit dem Terrarium zu sprechen. Es gibt zusätzliche Absichten für den Benutzer, das Wetter an einem bestimmten Ort oder zu einer bestimmten Zeit abzufragen (z. B.: „Zeige mir das Wetter in Seattle“) oder eine explizite Aktion aufzurufen (z. B. „lass es regnen“).

Sie müssen Ihre Cloud-Funktionen bereitstellen, die den Aktionen des Benutzers zugeordnet sind.

-> Folgen Sie den Anweisungen hier, um die Cloud-Funktionen für Firebase zu aktivieren. -> Schritte zum Bereitstellen der Funktionen über die CLI finden Sie unter Deploy Your Functions with the Firebase CLI unter dem gleichen Link wie oben

Cloud PubSubEinrichten eines Cloud PubSub-Projekts wie in diesem Link

Befolgen Sie die Schritte zum Erstellen eines Themas. Wir haben in unserem Projekt ein Thema namens 'Wetter' erstellt, zu dem wir unsere Abonnements hinzugefügt haben. Wir verwenden in diesem Projekt nur Pull-Abonnements. Das Abo war Terrarium wurde als Wetter-Detail benannt

Notieren Sie sich die Projekt-ID für dieses Projekt, da es praktisch ist, den Listener-Client später auszuführen.

Openweather APIHolen Sie sich Ihren API-Schlüssel von openweathermap.org. Fügen Sie diesen Schlüssel in den Cloud-Funktionen hinzu, damit diese Funktionen die Wetterserver anpingen können, wenn der Benutzer nach bestimmten Informationen fragt. Installieren Sie NodeJS

Installieren Sie NodeJS auf Ihrem RPi

So führen Sie diese Module aus

Bereitstellung der Dialogflow Cloud-Funktion

Navigieren Sie zum Verzeichnis Ihrer Funktionen und führen Sie die folgenden Schritte der Reihe nach aus

$ npm installieren

$ Firebase-Login

$ Firebase-Init

Führen Sie abschließend Folgendes aus, um Ihre Funktionen bereitzustellen:

$ Firebase bereitstellen

Der Link der bereitgestellten Funktionen wird zur Webhook-URL für Dialogflow. Cloud PubSub

Navigieren Sie zum Verzeichnis der Datei "subscription.js & package.json" und führen Sie npm install aus, um die Abhängigkeiten zu installieren. Wenn Sie fertig sind, führen Sie den Knoten subscritpions.js listen-messages weather-detail aus, wobei weather-detail das Abonnement ist, das Sie in einem vorherigen Schritt erstellt haben. Google Assistant / AIY Voice Kit Testbereitstellung

Sie können entweder ein Google Home oder ein AIY Voice Kit verwenden, um mit dem Terrarium zu interagieren. Das obige App-Setup bleibt für beide gleich.

Befolgen Sie die Anweisungen hier, um Ihre App in Google Assistant zu testen und bereitzustellen. Sie können dann einen mit Ihrem Konto verknüpften Google Assistant verwenden, indem Sie mit ihm sprechen, um das Terrarium auszulösen und nach dem Wetter zu fragen.

Schritt 8: Führen Sie das Terrarium aus

Diesem ganzen Setup zu folgen scheint mühsam, macht aber tatsächlich Spaß und ist fesselnd bei der Arbeit mit den Pflanzen. Wenn du es richtig gemacht hast, solltest du endlich in der Lage sein, so etwas zu sagen wie

'Hey Google, wie ist das Wetter in Seattle?', 'Hey Google, mach es regnen' usw. und sieh dir die magische Leistung in deinem Terrarium an.

Genießen Sie Ihr neues Terrarium und zeigen Sie es Ihren Freunden!

Schritt 9: Mitwirkende / HINWEIS

  • Erstellt von Harpreet Sareen und Freunden im Google Creative Lab.
  • Dieses Projekt folgt den Open-Source-Community-Richtlinien von Google. Hier finden Sie Lizenz- und andere Richtlinien.
  • Hinweis: Dies ist kein offiziell unterstütztes Google-Produkt.

Empfohlen: