Indholdsfortegnelse:

Project Oasis: Voice Terrarium: 9 trin (med billeder)
Project Oasis: Voice Terrarium: 9 trin (med billeder)

Video: Project Oasis: Voice Terrarium: 9 trin (med billeder)

Video: Project Oasis: Voice Terrarium: 9 trin (med billeder)
Video: Genji needs healing 2024, Juli
Anonim

Project Oasis er et Voice Terrarium, du kan tale med. Det er et selvforsynende lukket økosystem, der efterligner vejr udefra, men inde i en kasse. Du kan spørge terrariet om 'Weather in Seattle' som et svar, som det kan begynde at hælde inde i kassen. Terrariet kan også generere skyer, tåge eller ændre belysning for at repræsentere andre vejrforhold.

Trin 1: Motivation

Mediet i vores samtale med naturen er så visuelt og multimodalt, i modsætning til hvad vi gør med teknologi i dag. Vejret på telefoner eller computere påkalder ikke de samme sanser som bogstaveligt at se eller mærke vejret. Jeg tænkte på dette i min tid på Google Creative Lab og oprettede Project Oasis.

Det er et terrarium, du kan tale med det ved hjælp af Google Assistant. Du kan bede den om at skabe bestemte betingelser eller vise dig vejret et bestemt sted. Dette eksperiment udvider vores samtale med teknologi og den naturlige verden. Vi lever mellem natur og teknologi og ser traditionelt på dem som to meget forskellige verdener. Oasis er en økologisk samtale, men på en naturlig måde; hverken programmeret eller kaotisk. Følgende er trinene til, hvordan du opretter et af dine egne aktive terrarier.

Trin 2: Generel mekanisme

Terrariet skaber som nævnt regn, tåge og lysforhold. Toppen af terrariet har lysdioder, et regnbakke plus et lille kabinet med keramiske resonatorer i kontakt med vand. Disse små diske resonerer ved ~ 1-1,7 Mhz for at forstøve vand til det, der ligner tåge.

Bunden af terrariet huser to peristaltiske pumper og anden elektronik. Et reservoir i bunden af terrariet rummer overskydende vand. Vandet genanvendes/monteres og pumpes op til regnbakken ved hjælp af en af de stille peristaltiske pumper.

Trin 3: Kabinetdesign

Image
Image

Link til CAD

Liste over værktøjer/materialer:

  1. Akryl/plexiglasark 0,25 "tykke (24" x 18 " - Antal: 4)
  2. Akryllim
  3. Boresæt med 1/4 "og graduerede lavere bits
  4. Målebånd + calipre
  5. Epoxylim (~ 15 min. Sød tid)
  6. GE fugemasse til vandtætning
  7. Klar PVC -rør 1/4 "OD + stikpinde

Designretningslinjerne for dette terrarium er fleksible og ikke hårde og hurtige regler. Jeg valgte at bygge en, som jeg kunne beholde på mit skrivebord eller en, der ville se pæn ud på en bordplade. Derudover havde jeg en generel idé om den plads, min elektronik, planter og vandreservoir ville tage. Jeg besluttede at hele kabinettet skulle være H: 15 "W: 6" L: 10"

CAD -dimensionerne i ovenstående figur viser den generelle opdeling; stort set fylder top- og bundelektronikken hver 4 "højde. Reservoiret fylder 4" L i bunden og efterlader 6 "L til elektronikken (mere om elektronikken senere).

Jeg besluttede at bruge akryl/plexiglas til denne version af terrarium, da det er let tilgængeligt, meget let at bearbejde på laser, og delene kan limes/svejses sammen med en række forskellige akrylcementer. Glas eller gennemsigtig plast er gode kandidater afhængigt af hvor langt du vil gå med udseendet, især hvis terrariet kommer til at have kurver. Derudover findes der også ridsefrie versioner af plexiglas i mange butikker, så det stadig kan efterlade det som et ideelt valg.

Jeg designede 3D -modellen til mit terrarium i Fusion 360, bare fordi jeg ville prøve det. CAD -filerne til dette projekt er vedhæftet med dette trin. Jeg fladede alle skitserne for at få lasermaskinfiler, og standard laserbearbejdningsprocessen følger. Opsæt laseren (Epilog i mit tilfælde), Åbn filerne i Corel Draw og kør bearbejdningen.

Du skal have de akryldele, der er nødvendige til kabinetmontering nu. Se CAD og gå fra bund til top, saml delene med akrylcement sammen for at få en kasse med stilladser øverst / nederst. Brug kalibre og linealmåtte (da din boks er gennemsigtig) som en vejledning til en lettere samlingsproces.

Trin 4: Elektronikdesign

Elektronisk design
Elektronisk design
Elektronisk design
Elektronisk design
Elektronisk design
Elektronisk design

Liste over komponenter / elektronik:

  1. 5V/10A strømforsyning (antal: 1)
  2. 3V-35V Boost Converter (Antal: 2)
  3. 12V DC doseringsperistaltisk pumpe (antal: 1)
  4. 2200 ml/min peristaltisk pumpe (antal: 1)
  5. Icstation 20mm keramiske diske freq = 113KHz, med driverkort (Antal: 2)
  6. RGB LED Strip (Antal: 1)
  7. 18 AWG og 24 AWG ledningssæt
  8. Trådvæv 1/4"
  9. Raspberry Pi 3 + Google Voice Hat (du skal bare bruge stemmehatten + mikrofonen her og ikke selve højttaleren)
  10. Arduino Nano med Mini USB -kabel
  11. ~ 3-24V spændingsbelastning gennem hul SSR-relæer
  12. Halvstørrelse Protoboard

Du har også brug for en strømforsyning med variabel spænding, et multimeter, et støbejern og en varm limpistol gennem hele denne proces.

Bemærk: Dette er en hurtig prototype, og der er bedre alternativer til nogle af komponenterne og forbindelserne. Hvis du ved, hvad du laver, er du velkommen til at ændre med levedygtige alternativer.

Jeg hackede den enkelte udgangs 5V/10A strømforsyning til en muti-output forsyning ved at fjerne stikket og tilføje mine egne flerstrengede kabler til individuelle komponenter.

  • 5V linje til Icstation driverkort
  • 5V linje til RGB LED'er
  • 5V linje til Raspberry Pi 3
  • 12V ledning (variabel via Boost Converter) til dosering af peristaltisk pumpe
  • 24V ledning (variabel via Boost Converter) til peristaltisk pumpe med høj strømningshastighed

Jeg tog de enkelte linjer og satte dem sammen i en trådvæv for et pænt look. Jeg tilføjede også en hætte i 5V -linjen for at forhindre strømkrusninger, da den er forbundet direkte til Raspberry Pi.

Grundlæggende forbindelser:

Jeg tilsluttede en af de 5V linjer direkte til Raspberry Pi - bagsiden af kortet til PP1 og PP6 for ikke at bruge mini usb -kabel på grund af begrænset plads. Pi’en har en Google Voice Hat siddende oven på den. Jeg tog et allerede eksisterende program, jeg havde til seriel omskiftning, og overførte det til en Arduino Nano. Denne Nano er forbundet til Pi 3 via et kort mini USB -kabel. Arduino Nano har forbindelser til et protoboard til at tænde/slukke relæer, der igen tænder/slukker for pumper/tåger.

Protoboardet har tre relæer med hver 5V, 12V og 24V belastningslinjer. Hvert relæ er også forbundet med en separat pin på Arduino (D5, D7 og D8). Der henvises til relædiagrammet om, hvordan relækontakterne forbindes til en vis kobling. A1/A2 vil være linjerne fra Arduino, hvorimod 13+, 14 vil være dine linjer for at fuldføre kredsløbet for belastningen. Jeg bruger relæer til god isolation, men du kan også erstatte dem med transistorer. Husk at have fælles jordforbindelse mellem belastningen og Arduino for at kredsløbet kan fungere.

Keramiske resonatorer

De keramiske resonatorer/piezoer leveres med et driverkort, som du hver især kan kontrollere individuelt på en variabel strømforsyning. Den øverste keramiske overflade skal være i kontakt med vand, for at det kan skabe tåge. Når du har testet driverkortene, skal du koble dem direkte op med 5V strømledning, med et relæ imellem (som ovenfor). Når relæet er tændt og kredsløbet er gennemført, ser du vandet blive omdannet til tåge.

LED'er

Neopixel LED'er fra Adafruit styres direkte med en kontrolledning til Arduino uden brug af relæer. Jeg skar denne lange strimmel i flere sektioner på ~ 15 lysdioder hver. Se denne side om, hvordan du skærer og tilslutter disse lysdioder. Efter at have oprettet flere sektioner af lysdioder (som det også ses på billedet), beholdt jeg silikoneoverdækningen og tilføjede varm lim på enderne for at vandtætte alt. Jeg stak enkelte sektioner på bunden af regnbakken for en flot og jævn belysningsfordeling.

Peristaltiske pumper

Som nævnt før er der to peristaltiske pumper i dette terrarium. Doseringsperistaltikken leverer kun små mængder vand til tågeneratoren. Tågereservoiret har to keramiske resonatorer i kontakt med vand, men vandet slutter ikke særlig hurtigt. Som følge heraf kører denne pumpe ikke særlig ofte for at fylde tågereservoiret med vand. (Faktisk endte jeg endda med at fjerne den fra koden og bare fylde den op i mistingsreservoiret manuelt til tider ved blot at løfte terrariets øverste låg)

24V, 2200mL/min peristaltisk bruges derimod til regn og vælges således til dette høje volumen. Selvom 24V selv vil producere en for høj strømningshastighed til terrariet, kan du ændre spændingen på Boost Converter for at ændre pumpens strømningshastighed til en optimal indstilling.

Trin 5: Montering og test

Image
Image

montage

Boring

Elektronikken (2 peristaltiske pumper, RPi + Voice Hat/mikrofon, Nano, Piezo Driver Boards, Relay Protoboard) forbliver i de nederste 6 "L af terrariet. Jeg gik til samlingen fra bund til top i henhold til 3D -modellen. Boremaskine to huller (ca. 1/4 "hver) på bagsiden af de nederste elektronikafsnit - det ene af hullerne er til alle ledningens komponenter, mens det andet er til slange af de peristaltiske pumper.

Bor et hul, der forlader 1/4 fra det øverste låg, så regnvandsslangen kan komme ind. Bor endnu et lille hul, så LED -ledningerne kan komme ud og gå ind i Nano i bunden. Test alt elektronikken en sidste gang før lægge dem inde i kassen.

Placering og vandtætning

På nuværende tidspunkt skulle alle akrylafsnittene have været sat på plads fra trin i design af kabinet. Placer ovennævnte elektronik i bundkabinettet og læg låget på det. Det er vigtigt at forsegle dette låg forsigtigt, så det er vandtæt. Låget er ikke en prespasning inde i æsken, for at give lidt plads til limen til let at flyde og lukke hullerne. Jeg brugte Epoxy, hældte det ud over siderne af låget og lod det køre på stilladset, der var lavet til at holde låget. Limen skal løbe og problemfrit lukke hullerne. Lad den sidde til hærdning natten over og derefter eventuelt lave endnu et lag vandtætning med GE Sealant.

Regn og tåge forsamling

Samlingen af regnbakke med tågereservoir (med keramiske skiver i bunden) burde være kommet sammen i kabinettets designtrin. Lysdioderne skal også sidde fast i bunden af regnbakken fra det foregående trin, og ledningerne til keramiske resonatorer kommer ud fra det respektive hul i toppen/bagsiden af kassen. Du kan lade denne regn + tåge maker forsamling sidde på stilladset øverst i kassen. Før det øverste låg lukkes, skal pumpens slange føres ind gennem hullet, der tidligere er boret over regnbakken til dette formål. Skær små sektioner af slanger og brug stikpinde til at oprette flere udtag til jævn fordeling af vand, når det kommer ind i bakken. Regnen vil have et ensartet udseende på denne måde i terrariet. Du kan bruge en presset vanddispenserflaske til at tilføje vand i tågereservoiret, før du lægger låget på til test, når alt er inde i æsken.

Test

Jeg tilsluttede strømmen, der får RPi'en til at komme online. Det var tidligere blevet konfigureret til at få forbindelse til mit lokale wifi -netværk. Jeg kan forespørge netværket om Pi'ens IP, hvorefter jeg bruger indbygget skærmdeling på Mac til at logge ind på Pi. Dette giver mig mulighed for at teste og køre ting eksternt og ikke at skulle tilslutte et HDMI -kabel i boksen. Jeg bruger mine forudindstillede programmer (se Software trin for programmer, der kører på Pi/Arduino for forskellige komponenter) til at teste, at alt er på plads, inden jeg går videre til de næste trin.

Trin 6: Terrarium Design (Landskabspleje)

Terrarium Design (Landskabspleje)
Terrarium Design (Landskabspleje)

Dette er nok den sjoveste del af hele processen. Du kommer til at jage eller shoppe efter planter! Jeg gik rundt i lokale havecentre, herunder den i lokale Home Depot, nærliggende plantebutikker og gik endda bare i mit kvarter, som har mange grønne områder. Da klimaet er fugtigt, lukket og ændrer sig meget inde i terrariet, forsøgte jeg at finde modstandsdygtige tropiske klimaplanter. Du skal bruge følgende ting for at have sengen klar til plantning:

  • Sort jord
  • Perlit
  • Grus
  • Aktivt kul

Vandet filtreres gennem jordbunden ned til reservoiret for at blive genbrugt som regn igen. Brug et fint trådnet (f.eks. Glasfibernet) som bund, inden du lægger jordbunden på. Placer aktivt kul som det nederste lag i terrariet. Dette forhindrer skimmelsvampe i terrariet og holder også enhver dårlig lugt i skak. Dæk dette lag med noget grus, så vandet har et andet filtreringslag, og snavs ikke flyder frit til reservoiret. Bland sort jord og perlit i forholdet 1: 1, så du har et virkelig luftigt og drænet vækstmedium. Du er nu klar til plantning.

Bemærk: For at tabe alt dette i kassen uden at røre ved væggene lavede jeg en tragtlignende form med et papir og hældte materiale i kassen gennem åbningen og ikke smed det direkte ind.

Jeg samlede små træstammer og mos fra træstammer i mit nabolag og flere forskellige små tropiske planter i lokale plantebutikker. Jeg fandt et Bonsai appelsintræ, der passede til mit behov for udseende og noget, der ville overleve i et aktuelt klima på Home Depot. Jeg bruger noget arkmos og noget spansk mos (begge almindeligt forekommende i havecentre) til noget naturligt grønt udseende over jord i terrariet.

Med hensyn til plantning går jeg fra den lille til den store størrelse. Jeg bruger en pincet til at sætte de små planter i og placerede mos/stammer bare med hænder, inden jeg nåede det udseende, som jeg endelig var tilfreds med. Du bør en gang let vandes af terrariet og lade det sidde i et par dage, så planterne kan akklimatisere sig og vokse rødder i dette nye bed.

Trin 7: Software

Disse instruktioner kommer for det meste fra github her med al koden. Jeg vil stadig efterlade dem her for færdiggørelse. Mens jeg bruger Google Assistant, som det ses i videoen, har terrariet også en Google Voice Hat med en mikrofon i selve terrariet, der lytter til kommandoer. Du kan vælge bare at bruge AIR Voice Hat i henhold til instruktionerne her.

Før du starter

DialogFlow / Handlinger på Google

Følg trinene her for at oprette en Dialogflow -agent. Vi bruger en velkommen hensigt, der gør det muligt for brugeren at begynde at tale med terrariet. Der er yderligere hensigter for brugeren at forespørge om vejret på et bestemt sted, tidspunkt (f.eks. 'Vis mig vejret i Seattle') eller påberåbe sig en eksplicit handling (f.eks. 'Få det til at regne')

Du bliver nødt til at implementere dine skyfunktioner, der er knyttet til brugerens handlinger.

-> Følg instruktionerne her for at aktivere skyfunktionerne for firebase. -> Trin til implementering af funktionerne fra CLI er under Implementér dine funktioner med Firebase CLI på det samme link som ovenfor

Cloud PubSub Opret et Cloud PubSub -projekt som i dette link

Følg trinene for at oprette et emne. Vi oprettede et emne med navnet 'Weather' i vores projekt, hvortil vi tilføjede vores abonnementer. Vi bruger kun pull -abonnementer i dette projekt. Abonnementet var terrarium blev navngivet som vejr-detaljer

Bemærk projekt -id'et for dette projekt, da det vil være praktisk at køre lytterklienten senere.

Openweather APIGå din API -nøgle fra openweathermap.org. Tilføj denne nøgle i skyfunktionerne, så disse funktioner kan pinge vejrserverne, når brugeren beder om specifikke oplysninger

Installer NodeJS på din RPi

Sådan køres disse moduler

Implementering af Dialogflow Cloud -funktion

Naviger til biblioteket over dine funktioner, og kør følgende i rækkefølge

$ npm installation

$ firebase login

$ firebase init

Og kør endelig følgende for at implementere dine funktioner:

$ firebase -implementering

Linket til de indsatte funktioner bliver webhook -URL'en til Dialogflow. Cloud PubSub

Naivgate til biblioteket i filen subscription.js & package.json og kør npm install for at installere afhængighederne. Når du er klar, skal du køre node subscritpions.js lyt-beskeder vejr-detaljer, hvor vejr-detaljer er det abonnement, du har oprettet fra et tidligere trin.

Du kan enten bruge et Google Home eller et AIY Voice Kit til at interagere med terrariet. App -opsætningen ovenfor forbliver den samme for begge.

Følg instruktionerne her for at teste og implementere din app på Google Assistant. Du kan derefter bruge en Google Assistant, der er knyttet til din konto, ved at tale med den for at udløse terrariet og spørge den om vejret.

Trin 8: Kør Terrariet

At følge hele dette setup virker besværligt, men er faktisk sjovt og engagerende, mens du arbejder med planterne. Hvis det gøres rigtigt, skal du endelig kunne sige noget i stil med

'Hey Google, hvordan er vejret i Seattle?', 'Hey Google, få det til at regne' osv. Og se det magiske output i dit terrarium.

Nyd dit nye terrarium og vis det frem for dine venner!

Trin 9: Bidragydere / BEMÆRK

  • Lavet af Harpreet Sareen og venner på Google Creative Lab.
  • Dette projekt følger Googles retningslinjer for Open Source -fællesskabet. Se her for licens og andre retningslinjer.
  • Bemærk: Dette er ikke et officielt understøttet Google -produkt.

Anbefalede: