Съдържание:

Project Oasis: Voice Terrarium: 9 стъпки (със снимки)
Project Oasis: Voice Terrarium: 9 стъпки (със снимки)

Видео: Project Oasis: Voice Terrarium: 9 стъпки (със снимки)

Видео: Project Oasis: Voice Terrarium: 9 стъпки (със снимки)
Видео: Voice Experiments: Project Oasis 2024, Юли
Anonim

Project Oasis е Voice Terrarium, с който можете да говорите. Това е самодостатъчна затворена екосистема, която имитира външно време, но вътре в кутия. Можете да попитате терариума за „Времето в Сиатъл“като отговор, на който може да започне да се излива вътре в кутията. Терариумът може също да генерира облаци, мъгла или да промени осветлението, за да представи други метеорологични условия.

Стъпка 1: Мотивация

Средството на нашия разговор с природата е толкова визуално и мултимодално, за разлика от това, което правим с технологиите днес. Времето на телефони или компютри не предизвиква същите сетива като буквално виждане или усещане на времето. Помислих за това по време на престоя си в Google Creative Lab и създадох Project Oasis.

Това е терариум, с който можете да говорите с помощта на Google Assistant. Можете да го помолите да създаде определени условия или да ви покаже времето на определено място. Този експеримент разширява нашия разговор с технологиите и света на природата. Ние живеем между природата и технологиите и традиционно гледаме на тях като на два много различни свята. Oasis е екологичен разговор, но по естествен начин; нито програмиран, нито хаотичен. Следват стъпките как да създадете свой собствен активен терариум.

Стъпка 2: Общ механизъм

Споменатият терариум създава дъжд, мъгла и светлина. В горната част на терариума има светодиоди, дъждовна тава плюс малък корпус с керамични резонатори в контакт с вода. Тези малки дискове резонират при ~ 1-1,7 Mhz, за да атомизират водата до това, което изглежда като мъгла.

В дъното на терариума се намират две перисталтични помпи и друга електроника. Резервоар на дъното на терариума задържа излишната вода. Водата се рециклира/допълва и се изпомпва до дъждовната тава с помощта на една от безшумните перисталтични помпи.

Стъпка 3: Дизайн на корпуса

Image
Image

Връзка към CAD

Списък с инструменти/материали:

  1. Акрилни/плексигласови листове с дебелина 0,25 "(24" x 18 " - Количество: 4)
  2. Акрилно лепило
  3. Комплект свредла с 1/4 "и градуирани долни битове
  4. Измервателна лента + шублери
  5. Епоксидно лепило (~ 15 минути сладко време)
  6. GE уплътнител за хидроизолация
  7. Прозрачни PVC тръби 1/4 "OD + бодливи съединители

Указанията за проектиране на този терариум са гъвкави, а не твърди и бързи правила. Избрах да построя такъв, който да държа на бюрото си, или такъв, който да изглежда добре на плот. Освен това имах обща представа за пространството, което моята електроника, растения и резервоар за вода ще заемат. Реших цялото заграждение да бъде H: 15 "W: 6" L: 10"

CAD размерите на горната фигура показват общото разпадане; като цяло горната и долната електроника заемат 4 "височина всяка. Резервоарът заема 4" L отдолу, оставяйки 6 "L за електрониката (повече за електрониката по -късно).

Реших да използвам акрил/плексиглас за тази версия на терариума, тъй като е лесно достъпен, много лесен за обработка с лазер и частите могат да бъдат залепени/заварени заедно с различни акрилни цименти. Стъклени или прозрачни пластмаси са добри кандидати в зависимост от това докъде искате да стигнете с външния вид, особено ако терариумът ще има извивки. Освен това в много магазини се предлагат и устойчиви на надраскване версии на плексиглас, така че това все още може да го остави като идеален избор.

Проектирах 3D модела за моя терариум във Fusion 360, само защото исках да го опитам. CAD файловете за този проект са приложени с тази стъпка. Изравних всички скици, за да получа файлове за лазерна машина и следва стандартният процес на лазерна обработка. Настройте лазера (Epilog в моя случай), Отворете файловете в Corel Draw и стартирайте обработката.

Трябва да имате акрилните части, необходими за сглобяване на корпуса сега. Вижте CAD и отдолу нагоре, сглобете частите с акрилен цимент заедно, за да получите кутия, със скеле отгоре / отдолу. Използвайте шублери и подложка (тъй като кутията ви е прозрачна) като ръководство за по -лесен процес на сглобяване.

Стъпка 4: Дизайн на електрониката

Дизайн на електрониката
Дизайн на електрониката
Дизайн на електрониката
Дизайн на електрониката
Дизайн на електрониката
Дизайн на електрониката

Списък на компонентите / електрониката:

  1. Захранване 5V/10A (Брой: 1)
  2. 3V-35V усилващ преобразувател (Брой: 2)
  3. Перисталтична помпа за дозиране 12V DC (Брой: 1)
  4. 2200 mL/min Перисталтична помпа (Брой: 1)
  5. Icstation 20 мм керамични дискове честота = 113KHz, с драйвери (брой: 2)
  6. RGB LED лента (Брой: 1)
  7. 18 AWG и 24 AWG тел. Комплект
  8. Тел за стан 1/4"
  9. Raspberry Pi 3 + Google Voice Hat (тук ви трябва само гласова шапка + микрофон, а не самият високоговорител)
  10. Arduino Nano с мини USB кабел
  11. ~ 3-24V напрежение-натоварване през дупки SSR релета
  12. Половин прототип

Също така ще ви е необходимо захранване с променливо напрежение, мултицет, твърдо желязо и пистолет за горещо лепило през целия този процес.

Забележка: Това е бърз прототип и има по -добри алтернативи на някои от компонентите и връзките. Ако знаете какво правите, не се колебайте да промените с жизнеспособни алтернативи.

Хакнах захранването с единичен изход 5V/10A в захранване с muti изход, като извадих щепсела и добавих свои собствени многожични кабели за отделни компоненти.

  • 5V линия за платки за драйвери на Icstation
  • 5V линия за RGB светодиоди
  • 5V линия за Raspberry Pi 3
  • 12V линия (променлива чрез Boost Converter) за дозиране на перисталтична помпа
  • 24V линия (променлива чрез Boost Converter) за перисталтична помпа с висока скорост на потока

Взех отделните редове и ги събрах в метален стан за подреден вид. Добавих и капачка в 5V линията, за да предотвратя вълните на захранването, тъй като това се свързва директно с Raspberry Pi.

Основни връзки:

Свързах една от 5V линиите директно към Raspberry Pi - задната част на платката към PP1 и PP6, за да не използвам мини usb кабел поради ограниченото пространство. Pi има Google Voice Hat, разположен върху него. Взех вече съществуваща програма за серийно превключване и я прехвърлих към Arduino Nano. Този Nano е свързан към Pi 3 чрез къс мини USB кабел. Arduino Nano има връзки към протоборд за включване/изключване на релета, което от своя страна включва/изключва помпи/създател на мъгла.

Protoboard има три релета с 5V, 12V и 24V натоварващи линии всяко. Всяко реле също е свързано към отделен щифт на Arduino (D5, D7 и D8). Вижте схемата на релето как да свържете контактите на релето за някои действия за превключване. A1/A2 ще бъдат линиите от Arduino, докато 13+, 14 ще бъдат вашите линии за завършване на веригата за товара. Използвам релета за добра изолация, но можете да ги замените и с транзистори. Не забравяйте да имате общо заземяване между товара и Arduino, за да работи веригата.

Керамични резонатори

Керамичните резонатори/пиезота се предлагат с платка с драйвер, която можете да проверите индивидуално на променливо захранване. Горната керамична повърхност трябва да е в контакт с вода, за да създаде мъгла. След като тествате платките на драйверите, свържете ги директно с 5V захранващ проводник, с реле между тях (както по -горе). Когато релето е включено и веригата е завършена, ще видите как водата се превръща в мъгла.

Светодиоди

Неопикселовите светодиоди от Adafruit се управляват директно с контролна линия към Arduino, без да се използват никакви релета. Нарязах тази дълга лента на няколко секции от по ~ 15 светодиода всяка. Вижте тази страница за това как да изрежете и свържете тези светодиоди. След като създадох множество секции от светодиоди (както се вижда и на снимката), запазих силиконовото покритие и добавих горещо лепило по краищата, за да хидроизолира всичко. Залепих отделни секции на дъното на дъждовната тава за хубаво и равномерно разпределение на осветлението.

Перисталтични помпи

Както бе отбелязано по -горе, в този терариум има две перисталтични помпи. Перисталтиката за дозиране доставя само малки количества вода за генератора на мъгла. Резервоарът за мъгла има два керамични резонатора в контакт с вода, но водата не свършва много бързо. В резултат на това тази помпа не работи много често, за да напълни резервоара за мъгла с вода. (Всъщност дори накрая го премахнах от кода и просто напълних ръчно резервоара за замъгляване на моменти, като просто повдигнах горния капак на терариума)

Перисталтиката 24V, 2200mL/min, от друга страна, се използва за дъжд и затова е избрана за този голям обем. Докато самият 24V ще произвежда твърде голям дебит за терариума, можете да промените напрежението на усилвателния преобразувател, за да промените дебита на тази помпа до оптимална настройка.

Стъпка 5: Монтаж и тестване

Image
Image

Монтаж

Пробиване

Електрониката (2 перисталтични помпи, RPi + гласова шапка/микрофон, Nano, пиезо платки за драйвери, релейна платка) остават в долните 6 "L на терариума. Отидох за сглобяването отдолу нагоре според 3D модела. два отвора (приблизително 1/4 "всеки) в задната част на долните секции за електроника - един от отворите е за захранващите линии на всички компоненти, докато другият е за тръби на перисталтичните помпи.

Пробийте една дупка, оставяйки 1/4 от горния капак, за да влезе тръбата за дъждовна вода. Пробийте още една малка дупка, за да излезе LED кабела и да влезе в Nano в долната част. Тествайте цялата електроника за последен път преди поставяйки ги вътре в кутията.

Поставяне и хидроизолация

Досега всички акрилни секции трябваше да са залепени на място от стъпката Дизайн на корпуса. Поставете гореспоменатата електроника в долния корпус и поставете капака върху нея. Важно е да запечатате внимателно този капак, за да бъде водоустойчив. Капакът не е подходящ за преса вътре в кутията, така че да даде малко място за лепилото да тече лесно и да затвори пролуките. Използвах епоксидна смола, излях я по страните на капака и я оставих да тече върху скелето, направено да държи капака. Лепилото трябва да тече и безпроблемно да затваря празнините. Оставете го да престои за втвърдяване през нощта и след това евентуално направете друг слой водоустойчив с GE Sealant.

Дъжд и мъгла

Сглобяването на дъждовна тава с резервоар за мъгла (с керамични дискове в дъното) трябваше да се събере в етапа на проектиране на корпуса. Светодиодите също трябва да бъдат залепени в долната част на дъждовната тава от предишната стъпка и проводниците за керамични резонатори да излизат от съответния отвор в горната/задната част на кутията. Можете да оставите този комплект за създаване на дъжд + мъгла да седи на скелето в горната част на кутията. Преди да затворите горния капак, вкарайте тръбата на помпата през отвора, пробит предварително над дъждовната тава за тази цел. Нарежете малки участъци от тръби и използвайте бодливи съединители, за да създадете множество изходи за равномерно разпределение на водата, когато постъпва в тавата. Дъждът ще има еднакъв вид по този начин в терариума. Можете да използвате бутилка за изцеждане на вода, за да добавите вода в резервоара за мъгла, преди да поставите капака за тестване, след като всичко е вътре в кутията.

Тестване

Включих захранването, което прави RPi онлайн. Преди това беше конфигуриран да се свързва с моята локална wifi мрежа. Мога да попитам мрежата за IP на Pi, след което използвам вградено споделяне на екрана на Mac, за да вляза в Pi. Това ми позволява да тествам и пускам неща от разстояние и да не се налага да включвам HDMI кабел в кутията. Използвам предварително зададените си програми (вижте Софтуерна стъпка за програми, изпълнявани на Pi/Arduino за различните компоненти), за да тествам всичко на място, преди да се насоча към следващите стъпки.

Стъпка 6: Дизайн на терариум (озеленяване)

Дизайн на терариум (озеленяване)
Дизайн на терариум (озеленяване)

Това е може би най -забавната част от целия процес. Можете да ловувате или пазарувате за растения! Обиколих местни градински центрове, включително този в местния Home Depot, близки магазини за растения и дори просто се разходих в квартала си, който има много зелени площи. Тъй като климатът е влажен, затворен и се променя много в терариума, аз се опитвах да намеря устойчиви тропически растения. Ще ви трябват следните елементи, за да подготвите леглото за засаждане:

  • Черна почва
  • Перлит
  • Чакъл
  • Активен въглен

Водата се филтрира през почвеното легло до резервоара, за да се рециклира отново като дъжд. Използвайте фина телена мрежа (мрежа от фибростъкло например) като основа, преди да поставите почвеното легло. Поставете активен въглен като най -долния слой в терариума. Това предотвратява разрастването на плесени в терариума и също така поддържа всяка лоша миризма под контрол. Покрийте този слой с малко чакъл, така че водата да има друг слой филтриране и мръсотията да не продължава да тече свободно към резервоара. Смесете черна почва и перлит в съотношение 1: 1, така че да имате наистина ефирна и дренирана хранителна среда. Вече сте готови за засаждане.

Забележка: За да пусна всички тези неща в кутията, без да докосвам стените, направих форма на фуния с хартия и излях материал в кутията през този отвор, а не да го хвърлям директно.

Събрах малки трупи и мъх от стволовете на дърветата в моя квартал и повече разнообразие от малки тропически растения в местните магазини за растения. Намерих портокалово дърво Bonsai, което отговаряше на нуждите ми за външен вид и нещо, което би оцеляло при актуален климат в Home Depot. Използвам малко листов мъх и малко испански мъх (и двата често се срещат в градинските центрове) за някакъв естествен зелен вид над почвата в терариума.

По отношение на засаждането преминавам от малкия към големия размер. Използвам пинсети, за да поставя малки растения и поставям мъх/трупи само с ръце, преди да стигна до вида, от който най -накрая бях доволен. Трябва един път леко да поливате терариума и да го оставите да престои ден -два, за да се аклиматизират растенията и да пораснат корени в това ново легло.

Стъпка 7: Софтуер

Тези инструкции в по -голямата си част идват от github тук с целия код. Все още ще ги оставя тук за довършване. Докато използвам Google Assistant, както се вижда във видеото, терариумът също така и Google Voice Hat с микрофон в самия терариум, слушащ команди. Можете да изберете просто да използвате AIR Voice Hat съгласно инструкциите тук.

Преди да започнеш

DialogFlow / Действия в Google

Следвайте стъпките тук, за да създадете агент на Dialogflow. Ние използваме добре дошли намерение, което позволява на потребителя да започне да говори с терариума. Има допълнителни намерения за потребителя да попита за времето на определено място, час (например: „покажи ми времето в Сиатъл“) или да се позове на изрично действие (например: „да вали дъжд“)

Ще трябва да разгърнете вашите облачни функции, които са съпоставени с действията на потребителя.

-> Следвайте инструкциите тук, за да активирате облачните функции за firebase. -> Стъпките за разгръщане на функциите от CLI са в Разположете вашите функции с Firebase CLI на същата връзка, както по -горе

Cloud PubSub Настройте Cloud PubSub проект, както е в тази връзка

Следвайте стъпките, за да създадете тема. Създадохме тема, наречена „Време“в нашия проект, към която добавихме абонаментите си. В този проект използваме само абонаменти за изтегляне. Абонаментът за терариум беше посочен като детайл за времето

Забележете идентификатора на проекта за този проект, тъй като той ще ви бъде полезен, за да стартирате клиента за слушане по -късно.

Openweather APIG Вземете своя API ключ от openweathermap.org. Добавете този ключ към облачните функции, така че тези функции да могат да пингват метеорологичните сървъри, когато потребителят поиска конкретна информация. Инсталирайте NodeJS

Инсталирайте NodeJS на вашия RPi

Как да стартирате тези модули

Разгръщане на функцията Dialogflow Cloud

Придвижете се до директорията на вашите функции и изпълнете следното по ред

$ npm инсталиране

$ firebase вход

$ firebase init

И накрая изпълнете следното, за да разгърнете вашите функции:

$ firebase разполагане

Връзката на разгърнатите функции се превръща в URL адреса на webhook за Dialogflow. Cloud PubSub

Отворете директорията на файла subscription.js & package.json и стартирайте npm install, за да инсталирате зависимостите. Когато сте готови, стартирайте възел subscritpions.js слушате съобщения weather-detail, където weather-detail е абонаментът, който сте създали от предишна стъпка. Разполагане на Google Assistant / AIY Voice Kit

Можете да използвате Google Home или AIY Voice Kit за взаимодействие с терариума. Горната настройка на приложението остава същата и за двамата.

Следвайте инструкциите тук, за да тествате и внедрите приложението си в Google Асистент. След това можете да използвате Google Assistant, свързан с вашия акаунт, като говорите с него, за да задействате терариума и да го попитате за времето.

Стъпка 8: Пуснете Терариума

Следването на цялата тази настройка изглежда трудно, но всъщност е забавно и ангажиращо, докато работите с растенията. Ако се направи правилно, най -накрая трябва да можете да кажете нещо подобно

„Здравей Google, какво е времето в Сиатъл?“, „Здравей Google, направи го дъжд“и т.н. и вижте магическата продукция във вашия терариум.

Насладете се на новия си терариум и го покажете на приятелите си!

Стъпка 9: Сътрудници / ЗАБЕЛЕЖКА

  • Произведено от Harpreet Sareen и приятели в Google Creative Lab.
  • Този проект следва Насоките на общността с отворен код на Google. Вижте тук за лиценз и други указания.
  • Забележка: Това не е официално поддържан продукт на Google.

Препоръчано: