INHOUDSOPGAWE:

Homunculus - die Mechanical Mystical Oracle Fortune Teller: 15 stappe (met prente)
Homunculus - die Mechanical Mystical Oracle Fortune Teller: 15 stappe (met prente)

Video: Homunculus - die Mechanical Mystical Oracle Fortune Teller: 15 stappe (met prente)

Video: Homunculus - die Mechanical Mystical Oracle Fortune Teller: 15 stappe (met prente)
Video: Воды как в дипломе. Финал ► 6 Прохождение Hogwarts Legacy 2024, November
Anonim
Image
Image
Homunculus - die Meganiese Mystieke Oracle Fortune Teller
Homunculus - die Meganiese Mystieke Oracle Fortune Teller

Ok - wat is dit veronderstel om te wees? Ek het dit in 'n kelder van 'n verlore Victoriaanse huis gevind en die rekwisiet weer opgebou tot 'n waarsêer van die 21ste eeu-'wie kan uitreik na die eter van die internet, jou fortuin vertel, wie jou vriende en vyande is, vertel dit 'n grap en lees my e -pos en kalender vir die dag '.

Wat is dit regtig? Wel, dit is die wonderlike Jasper -sagteware wat op 'n Framboos -pi werk, en ek het 'n tweekanaals Linburg -skedel gemaak wat baie praat en baie klokke en fluitjies (en 'n tamboeryn) om daarby te voeg.

Dit was 'n super ambisieuse projek. Baie verskillende media om mee te werk - veelvuldige pasteie, houtwerk, skildery, baie bedrading, baie kodering in python, ardunio -kodering, baie klein bedrading, 120v -bedrading, buiteborde van pi -hoede, aflosbestuurders en relais, 24v kragtoevoer, laat dinge beweeg - 'n skedel met twee as en die tamboeryn wat klap.

Ek gaan nie stukkie vir stukkie detail in vir elke deel nie, veral nie die luislangkodering nie, maar ek sal probeer om elke komponent kortliks te beskryf en foto's te bevat.

Ook op die Python-voorbeelde-ja, ek kon baie meer objekgeoriënteerd gewees het oor die kodering, maar my Python-ervaring toe ek met die projek begin, was redelik basies en dit is natuurlik makliker om te sny en te plak as u haastig is vs. As u ophou om dit te doen, skryf dit weer reg en gaan dan voort.

Stap 1: Belangrike komponente - dinge wat ek moes vind/kry/koop

Belangrikste komponente - dinge wat ek moes vind/kry/koop
Belangrikste komponente - dinge wat ek moes vind/kry/koop
Belangrikste komponente - dinge wat ek moes vind/kry/koop
Belangrikste komponente - dinge wat ek moes vind/kry/koop
Belangrikste komponente - dinge wat ek moes vind/kry/koop
Belangrikste komponente - dinge wat ek moes vind/kry/koop

Framboos Pi

Twee van hulle

www.adafruit.com/products/1914?gclid=CjwKE…

Jasper

"Jasper is 'n open source platform vir die ontwikkeling van altyd-aan, stembeheerde toepassings"

jasperproject.github.io/

Adafruit 'oë'

learn.adafruit.com/adafruit-1-44-color-tft…

Teensy - Brein vir die oë

www.adafruit.com/product/2756

Hoe u die 'oë' kan maak met tieners en 1-44 kleur tft-skerms

learn.adafruit.com/animated-electronic-eye…

16 kanaal Serveo hoed

learn.adafruit.com/adafruit-16-channel-pwm…

Die klassieke Lindberg -skedel

www.amazon.com/Lindberg-scale-Pirate-skull…

Relaisbord met 4 kanale wat saam met 'n Raspberry Pi werk

www.amazon.com/Sizet-Channel-Module-Arduin…

Druk Solenoid

(Dit is beskikbaar op baie verskillende plekke)

www.aliexpress.com/item/High-quality-DC-12…

USB -mikrofoon

Dit is beskikbaar op baie verskillende plekke

www.samsontech.com/samson/products/micropho…

Diverse

Twee servo's wat ek laat lê het, servohorings wat ek in die mandjie van $ 1 by die stokperdjiewinkel gevind het. Servo -verlengkabels, USB/Bluetooth -luidspreker, moere, MDF, warm gom, ou vakuumbuise, verskillende lampstukke en stukke, 'n ou Samsung S5 -selfoon, plaatstaal, koperdraad, koperband, spykers, gewone gom, ens. ens.

Stap 2: Waarom twee framboostertjies?

Waarom twee framboostertjies?
Waarom twee framboostertjies?

Oorspronklik wou ek die skedels met die toespraak gesinkroniseer, maar nadat ek Jasper geïnstalleer het en alles bepaal het wat ek wou doen, het ek gedink dat dit beter is om al die werk in twee pasteie op te deel. Ek het 'n spertyd gehad om dit te laat doen, en ek wou nie teruggaan as ek 'n soort prestasieprobleem het nie. Noudat die werk afgehandel is, glo ek dat ek dit met 'n enkele Pi kon doen, en ek het destyds die beste gedink om Jasper en 'n 2de pi die servo's en relais te laat bestuur, sodat ek 'n duidelike afbakening kon kry tussen die werk. Dit was ook makliker vir ontwikkeling. Ek kon alles regkry, want Jasper hoef nie bekommerd te wees oor servo's en relais nie. Op die ander pi kon ek fokus op die bestuur van die servo's, die tydsberekening van die dinge - die aanskakel van ligte, die verskuiwing van servo's, ens.

Die nadeel hiervan is dat ek die vermoë verloor het om die skedel te sinkroniseer met die toespraak, maar nadat ek na Grant Imahara se werk vir die The Late Late Show gekyk het, het ek gedink dinge sal goed genoeg lyk.

www.popularmechanics.com/science/a5473/4350…

Stap 3: Hoe kommunikeer die twee pasteie?

Hoe kommunikeer die twee pasteie?
Hoe kommunikeer die twee pasteie?
Hoe kommunikeer die twee pasteie?
Hoe kommunikeer die twee pasteie?

Daar is 'n paar verskillende maniere waarop u dit kan doen. Ek het oudskool toe gegaan en besluit om 'n seriële verbinding te gebruik. Dit benodig slegs drie drade tussen die twee pasteie (Tx, Rx & gnd) en 'n klein hoeveelheid kode om 'n reeksverbinding van Pi#1 tot Pi#2 oop te maak en iets daaroor te stuur. Pi#2 maak 'n seriële verbinding oop om data te lees en stel 'n noue lesing van die seriële verbinding in. As dit teks ontvang, sien dit of dit ooreenstem met 'n opdrag (praat, ligte brand, brand uit, praat af, ens.) En doen wat dit moet doen. Die nadeel van die seriële verbinding is dat daar 'n geringe vertraging is vanaf die tyd dat die opdrag gestuur word en die proses van die opdrag. Pi#2 is in 'n lus met 'n klein vertraging by die lees. So ek moes dinge aanpas. Dit is ook goed vir toekomstige multi-pi-projekte om te weet dat ek twee pasteie kan laat kommunikeer en NIE die internet nodig het om dit te doen nie.

Stap 4: Python -drade

Python -drade
Python -drade

Om nog meer kompleksiteit by alles te voeg, moes ek Python -drade op Pi#2 gebruik, sodat ek verskeie versoeke kon hanteer en dit tegelyk kon verwerk. Ek moes byvoorbeeld begin praat - die kopbeen na links/regs beweeg terwyl die kakebeen op en af gaan, maar wat as Pi#1 om een of ander rede 'n fout het en nie vir Pi#2 kan sê nie Om op te hou praat, sou die skedel vir ewig praat. Ek moes dus die skedel homself laat afsluit na 'n geruime tyd. Om dit te doen, was dit die maklikste om 'n draad af te draai. Binne -in die draadroetine om te praat, is daar 'n kode wat na 'n maksimum tyd ophou praat, die kop en kakebeen terugstel en verlaat. Dieselfde geld vir die tamboeryn, ek het dit nodig gehad om af te skop net voor die skedel ophou praat het, sodat ek 'n ander draad vir die tamboeryn draai en alles werk saam en die kode vir die kopbeweging is heeltemal los van die tamboeryn - dieselfde om die ligte aan te skakel en die oë kan al die drade gelyktydig loop.

Die hoeveelheid kode wat in Python nodig is om drade te gebruik, is redelik klein, maar dit is stomp en dit het tyd geneem om my kop daaroor te kry, maar dit blyk baie goed. Die vermoë om drade te gebruik, is 'n goeie hulpmiddel as u 'n Raspberry Pi -ontwikkelaar is.

Stap 5: Jasper- en Jasper -aanpassings

Die Jasper -webwerf is die bron om dit op 'n pi te laat installeer, watter stemopnames om te gebruik, hoe om dit te konfigureer, nuwe modules te skryf, alles - en dit is gratis! Dit is egter nie 'n eenvoudige installasie nie. Baie stappe, baie pakkette om te installeer en dan op te stel. Ek doen hierdie soort werk vir die lewe en dit was nog steeds iets wat ek as 'n uitdaging sou beskou. Teen die tyd dat ek klaar was met hierdie projek, het ek redelik diep in Japer gekom en baie aanpassings aangebring om te pas by wat ek probeer doen.

'N Paar veranderinge wat ek aangebring het:

Passiewe luister is verwyder en 'n GPIO -poort gebruik om aktiewe luister af te skakel met 'n tuisgemaakte snyskakelaar. Dit was meer 'n 'arcade' soort ding as om passiewe luister te gebruik.

Ek het die parameters verander soos nodig om met my mikrofoon te werk - ek moes deur drie verskillende USB -mikrofone gaan totdat ek een kry wat korrek vir my werk. Ek moes ook 'n paar van die drempelwaardes in die kode aanpas. Dit was vir my persoonlik die pynlikste deel van die gebruik van Jasper.

Bygevoeg die reeksverbindingskode in al die modules om 'n reeksverbinding oop te maak, vertel die slaaf pi wat hy moet doen 'oog', 'praat', 'knal tamboeryn'

Bygevoeg 'wie is my vriende', 'vertel my 'n grap', 'lees my skedule uit my CRM -kalender', 'vertel my my fortuin' modules. Sommige van hulle vereis dat REST 'n beroep op wolkgebaseerde sagteware doen om data te bekom. Daar is baie modules wat ek as voorbeelde gebruik het, asook dokumentasie op die webwerf om my te help om te kry wat ek nodig gehad het.

Stap 6: Voeg twee asse by die skedel

Voeg twee asse by die skedel
Voeg twee asse by die skedel
Voeg twee asse by die skedel
Voeg twee asse by die skedel
Voeg twee asse by die skedel
Voeg twee asse by die skedel

Ek het begin met die basiese Lindberg -skedel. Ek het oorspronklik gedink aan 'n skedel met 'n 4/5 -as, maar die tyd wat dit sou neem om die luislangkode te skryf om die bewegings te koördineer, asook die bou van die hardeware vir die beweging, sou die tyd wat ek moes voltooi, oorskry. (Ek weet nie of dit al bestaan nie, maar 'n stuk sagteware op 'n Pi of Ardunio om 'n skedel met meer as te dryf, wat op sigself 'n baie oulike projek sou wees.) So een as-die kakebeweging was te lam, so Ek het die kopbeweging bygevoeg, en met die LCD -oë wat werk, is ek tevrede met die resultate.

Toe ek na werk kyk wat ander met skedels praat, het ek agtergekom wat ek moet doen, twee servo's en servohorings, 'n stuk MDF, warm gom, ritsbande, proef en fout - ek het die fisiese deel hiervan in plek gehad. Basiese Pi -programmering van die beweging het eintlik langer geneem. Ek moes die waardes vir die PWM vir beide servo's bepaal. Ek het begin met die basiese heeltemal oop/toe draai kop tot links/regs. Maar dit het nie goed gelyk nie. Dus het ek tussenbewegings gemaak, kakebeen heeltemal oop, vertraging.1, kakebeen gedeeltelik toe, geen vertraging, kruik gedeeltelik oop, vertraging, ensovoorts. Dieselfde geld vir die kopbeweging. dit lyk beter.

Een ongelukkige ding wat ek nie tyd gehad het om deur te werk nie, is dat al die materiaal wat ek op die skedeldop gesit het - die metaalstrook, spykers, koperkroon en bedrading, die algehele skedel swaarder gemaak het en die servo moeilik gemaak het. dit beweeg stadiger en nie so ver nie. 'N Servo met 'n hoër wringkrag sal waarskynlik hier help, maar ek het tyd en geld gehad …

Stap 7: Adaifruit Hat Servo Driver

Adaifruit Hat Servo Driver
Adaifruit Hat Servo Driver

Adafruit het goeie voorbeelde van hoe om hul produkte te gebruik. Wat uitdagend was, was om uit te vind wat presies die waardes was vir elk van die servo's - middel, heel links en regs. Dit is nie 0, 90, 180 soos jy sou dink nie. Dit was slegs 'n paar reëls lange luislangprogram, maar dit het 'n paar uur nodig gehad om dit vir beide die servo's deur te voer.

Stap 8: Relay Board

Relay Board
Relay Board

Ek het dit op Amazon gaan haal. Baie webwerwe verkoop presies dieselfde eenheid. Dit het 'n bietjie hier geëksperimenteer, maar om die relais om te draai, verg slegs 'n paar reëls kode en u het 'n NC en GEEN verbindings op die relais, wat dit nog makliker maak. 'N Ander uitdaging hier is dat 'n GPIO -poort/-pen nie 'n 1: 1 -wedstryd is met die pen op die Pi nie. Dit het 'n bietjie werk geverg om my kop daaroor te kry.

Stap 9: Teensy and the Eyes

Teensy en die oë
Teensy en die oë

Ek het dit 100% van die Adafruit -webwerf af geneem. Oorspronklik het ek 'n paar lam LED -tafeltennisballe gehad wat ek gaan gebruik, maar toe ek dit op hul webwerf sien, moes ek dit hê. Ek het voorheen geen Ardunio -ervaring gehad nie, maar ek het blindelings die voorbeelde op hul webwerf gevolg en dit ongeveer 'n half dag lank laat werk. Ook - sedert ek die program na die tienerjare oorgedra het, behou dit dit en as u dit aanskakel. Die Ardunio begin binne ongeveer 3 sekondes en verlig die oë. Dus, al wat ek moes doen om die oë aan die werk te kry, was om 12v aan te skakel by een van die relais en die tienerjare aan te skakel, en magies gebeur!

Dit was SUPER pynlik om die LCD -skerms in die skedel te monteer. 7 klein drade op elke LCD, dus 14 drade in totaal en probeer om die skedel uit te maal en dit reguit te laat sit sonder om 'n draad te breek - wat baie gebeur, was baie pynlik. Programmeer dus 'n matige moeilikheidsgraad - dit word moeilik. Net die teenoorgestelde van wat ek verwag het. Die Teensy sit agter in die oë onder die MDF -bord wat die twee servo's bevat.

Stap 10: Tamboeryn

Tamboeryn
Tamboeryn
Tamboeryn
Tamboeryn

Ek onthou altyd die kop in die kristalbal in die Haunted Mansion en die tamboeryn wat ronddobber terwyl sy die geeste kontak, so ek moes so iets hê vir hierdie projek. Aangesien die skedel van 'n voormalige gedagtesleser/siener was, moet die geeste mense laat weet wanneer hulle teenwoordig is. Dan het ek dit van sy 12V na 24V oorstroom met 'n ekstra skootrekenaarlaaier wat ek gehad het. Ek moes 'n paar verskillende weergawes van die meganisme maak, maar my derde iterasie het die beste gewerk. Ek moes knoei met die hefboomlengte, belyning, ens. My groot fout was om dit alles met hout/MDF te doen. Toe ek dit die eerste keer teen 24v aanmekaar sit, sou die solenoïde so hard aan die tamboeryn slaan dat dit homself skeur. (Teen 12v was dit nie sterk genoeg nie) Met verloop van tyd het 'n houtas in MDF gemonteer en dinge geverf, die hele ding word moeiliker / moeiliker om te beweeg, wat beteken dat die solenoïde moeiliker kon uitstoot as dit vererger word en 'n moeiliker tyd om terug te keer.. Dus moes ek 'n ekstra terugvoerveer byvoeg - wat vereis dat die solenoïde energie mors wanneer dit aangeskakel word. Dit het uiteindelik die tamboeryn aan die stadige kant gestamp. Die volgende keer bou ek die deel daarvan in metaal - bronsbus, metaalas, ens. En vermy hierdie probleem.

Stap 11: Plasmalamp

Plasma lamp
Plasma lamp
Plasma lamp
Plasma lamp

Aangesien ek nie 'n Jacobs -leer of 'n ander slegte wetenskaplike energiebron vir die projek sou bou nie, het ek 'n soort 'energie' nodig gehad om die skedel te dryf. Ek het my ou Samsung Galaxy S5 geneem, die fabriek herstel en 'n energiebal -app daarop gelaai. Ek moes 'n ander program laai wat die telefoon nie in die skermbewaardermodus kon laat gaan om dit aktief op die app te hou nie.

Stap 12: Hoe om die 120v -lig te laat flikker

Hoe om die 120v -lig te laat flikker
Hoe om die 120v -lig te laat flikker

WAARSKUWING -

Dit is 'n deurbraak met 'n 120V -netstekker in die muurkrag hier. As u nie weet wat u doen nie, moet dit nie doen nie

WAARSKUWING -

halloweenpropmaster.com/u-build-it3.htm

Hierdie webwerf gee die beste verduideliking van hoe u dit moet doen. Die koste van die voorgereg is baie goedkoop, en ek het 'n ekstra verlengsnoer wat ek gehad het, gesny. Ek het 'n paar hiervan gebou en gebruik dit gedurende Halloween -tyd, en dit werk baie goed, geen sekuriteite waai nie, geen oorverhitting, ens. Ek het dit ure lank sonder probleme gehardloop. Dus, vir hierdie projek, het ek een van die verlengkoorde met die aansitter inlyn geneem en dit aan een van die vier relais op die bord vasgemaak. 'N Paar reëls GPIO -kode skakel dit aan en aan. Dit begin ook onmiddellik werk, geen opwarmingstyd nie.

Stap 13: Die platform/tafel

Die platform/tafel
Die platform/tafel
Die platform/tafel
Die platform/tafel

Ek het 'n hele paar 'skedel op 'n tafel', 'Frankenstein se kop op 'n tafel' gekke wetenskaplike soort rekwisiete gesien en ek het besluit ek wil die pad volg. Dit sal my die kans gee om meer as net die praatskedel te probeer. Ek het die basiese tafelgrootte uitgevind en dit gemaak uit ¼ MDF. Dit is redelik maklik om 'n tafelsaag te gebruik. My projekte is tipies metaal, so die bou van hout was vir my ietwat nuut. Ek het die basiese stukke uitgesny en my 4 kante van die boks en 'n bokant redelik vinnig gemaak. Waar ek 'n harde les geleer het, het ek 'n gomgeweer gebruik om dit te monteer. Wat ek uitgevind het, is dat dit nie die manier is om dit te doen nie. Al die stukke het uitmekaar geval sodra ek die verdomde ding opgetel het! Ek sny dus 'n paar ekstra stukke van 1 vierkant om die hoeke te versterk en hout vasgeplak/vasgespyker. Les geleer. Ek het 'n bietjie afwerking tussen die bokant en sye van die platform gelê, vasgeplak en vasgespyker. Spot is ingepak om die gapings te vul en dit was gereed om die res van die komponente daarop te laat monteer.

Vir die res het ek inspirasie gekry uit beelde wat ek op die internet gesien het. Om die skedel te "antiek" probeer ek 'n donker vlek gebruik. Dit het nie gewerk nie; dit het nie by die plastiek gehou nie. Ek het dus probeer om die skedel met 'n spierwit te verf en toe die vlek daarop gelê. Dit het baie beter gewerk. Ek weet dat daar baie tegnieke is om dit te doen, en ek is tevrede met hoe dit afgeloop het. Koperband wat ek laat lê het van 'n ander projek wat ek gebruik het vir die skedeldop en om die wangbene. Ek het op die vlek op die res van die nie-swart geverfde items geverf om die ou/ou voorkoms te gee.

Die res van die stukke en bobbe het ek by ander projekte gelê. Al die koperstukke kom uit 'n lampwinkel. Ek het die sny -skakelaar gemaak van 'n paar afvalmateriaal, en die knop aan die einde is nog 'n lampstuk. Die buise het ek op 'n elektroniese oorskotplek saam met die isolators gevind. Punk rocker spikes wat ek gehad het van 'n ander post-apokaliptiese projek. Plaatstaal en koperdraad van die hardewarewinkel en 'n paar PVC -pype vir sy werwels.

Vir die plakkaat het ek 'n plakkaatprent van 'n ou towenaar op die internet gevind, en met 'n paar fotowinkels het die magie die naam verander.

Stap 14: Die res

Die res
Die res
Die res
Die res
Die res
Die res
Die res
Die res

Ek het inspirasie gekry uit beelde wat ek op die internet gesien het. Om die skedel te "antiek", het ek probeer om 'n donker vlek te gebruik. Dit het nie gewerk nie; dit het nie by die plastiek gehou nie. Ek het dus probeer om die skedel met 'n spierwit te verf en toe die vlek daarop gelê. Dit het baie beter gewerk. Ek weet dat daar baie tegnieke is om dit te doen, en ek is tevrede met hoe dit afgeloop het. Koperband wat ek laat lê het van 'n ander projek wat ek gebruik het vir die skedeldop en om die wangbene. Ek het op die vlek op die res van die nie-swart geverfde items geverf om die ou/ou voorkoms te gee.

Die res van die stukke en bobbe het ek by ander projekte gelê. Al die koperstukke kom uit 'n lampwinkel. Ek het die sny -skakelaar gemaak van 'n paar afvalmateriaal, en die knop aan die einde is nog 'n lampstuk. Die buise het ek op 'n elektroniese oorskotplek saam met die isolators gevind. Punk rocker spikes wat ek gehad het van 'n ander post-apokaliptiese projek. Plaatstaal en koperdraad van die ysterwarewinkel en 'n paar PVC -pype vir sy werwels.

Stap 15: Montage/tuning/aanpassing

Vergadering/tuning/aanpassing
Vergadering/tuning/aanpassing

So hier was my bouproses:

#1 Installeer Jasper op 'n Pi en laat dit werk.

#2 Het verskeie mikrofone gekoop en aangepas totdat ek sukses behaal het.

#3 Op die 2de Pi, installeer die Adafruit -hoed en verstaan hoe u die servo's moet skuif. Kry die servo's in die skedel en verstaan die waardes wat ek moes gebruik om dit te beweeg.

#4 Bou 'n toetsbasis vir die skedel sodat ek daaraan kan werk in my kantoor. Tweak, re-tweak, tweak nog 'n paar.

#5 Monteer al die elektriese komponente op 'n pleksiglasbord. Pasteie, relaisbord, USB -kragbronne en verwante drade.

#6 Bou die Adafruit -oë. Bewys vir myself dat hulle net spanning nodig het om alles te laat werk. Ek het dit nie geweet toe ek met hierdie deel begin het nie.

#7 Doen 'n bewys van die konsep van die stuur en ontvang van seriële data tussen die twee pasteie. Skryf 'n lusroetine vir die 2de Pi met die opdragte wat ek nodig gehad het - praat aan/uit, ens. Toets dit met 'n voorbeeldkode op Pi#1. Nog nie Jasper nie.

#8 Voeg die reekskode by die Jasper -kode - bewys dat ek basiese beweging kan kry as Jasper praat.

#9 Begin met die aflosbord mors. Voeg die kode by om die oë aan te skakel.

#10 Voeg kode by om die 120v aan te skakel. Bou die solenoïde en tamboeryn op 'n aparte platform om uit te vind hoe dit moet werk.

#11 Stel u oë vas in die skedel.

#12 Bou die platform waarop alles gemonteer sal word. Monteer al die stukke op die platform, maak die staalbasis van die skedel om dit vas te hou, voeg die tamboerynkomponente by.

#13 Probeer om die pasteie en plank in die huis in die motorhuis te kry en uitvind hoe u dit binne die platform kan kry.

#14 Begin tuning. Meer stem, gaan voort om af te stem. Besef dat ek die Python-kode met 'n veelvoudige draad moet maak sodat al die aksies kan saamwerk.

#15 Besluit om die energiebal onder die vakuumbuise te voeg. Besef dat ek dit met 'n ou selfoon kan doen. Het dit binne minder as 'n dag laat werk.

#16 Gaan voort om detail by te voeg. Spykers, koperdraad, buise, antieke skedel. Hou aan om te toets en te toets. Verf, raak aan en maak dinge reg wat loskom, herontwerp/versterk dinge wat uitmekaar val.

#17 Toets en aanpas Maak gereed om dit aan ander mense te wys.

Aanbeveel: