Përmbajtje:

Ora e vendndodhjes 'Weasley' me 4 duar: 11 hapa (me fotografi)
Ora e vendndodhjes 'Weasley' me 4 duar: 11 hapa (me fotografi)

Video: Ora e vendndodhjes 'Weasley' me 4 duar: 11 hapa (me fotografi)

Video: Ora e vendndodhjes 'Weasley' me 4 duar: 11 hapa (me fotografi)
Video: Воды как в дипломе. Финал ► 6 Прохождение Hogwarts Legacy 2024, Korrik
Anonim
Ora e vendndodhjes 'Weasley' me 4 duar
Ora e vendndodhjes 'Weasley' me 4 duar

Pra, me një Raspberry Pi që kishte nisur për ca kohë, doja të gjeja një projekt të bukur që do të më lejonte ta shfrytëzoja sa më mirë atë. Kam hasur në këtë orë të mrekullueshme me udhëzime Ndërtoni Ora Vendndodhjen tuaj Weasley nga ppeters0502 dhe mendova se do të ishte mirë të provoni.

Ora në thelb përbëhet nga një Raspberry Pi e cila kontrollon servos në mënyrë që të kthejë akrepat e orës. Ashtu si në shtëpinë e familjes Weasley në librat/filmat e Harry Potter, secili anëtar i familjes ka dorën e vet. Çdo dorë tregon vendndodhjen aktuale të atij anëtari të familjes. Ora e arrin këtë duke marrë mesazhe nga celularët e familjes sa herë që ata hyjnë ose dalin nga një rreze e paracaktuar.

Dallimet kryesore me Udhëzuesin e mëparshëm ishin se më duhej të kisha 4 duar, jo 2 (përndryshe vajzat e mia do të ankoheshin) dhe vendosa të ndërtoja gjithashtu kornizën, jo të merrja një orë të vjetër për ta ripërdorur. Kjo ishte sepse isha i shqetësuar se hapësira do të ishte një problem në një kuti orësh ekzistuese, me nevojën për t'u përshtatur në 4 servos etj.

U desh shumë më tepër nga sa e kisha parashikuar, megjithëse kryesisht aty ku hasa probleme të çuditshme që më tronditën dhe të cilat nuk dukej se mbuloheshin nga postimi origjinal. Asgjë kundër Instructable origjinale, e cila ishte përgjithësisht e mrekullueshme, por disa vite kishin kaluar dhe versionet e gjërave ndryshuan … etj. Gjithashtu, të qenit në MB do të thoshte se disa nga elementët Imperial/Metrik shkaktuan më shumë sfida nga sa prisja.

Gjithashtu, ndërsa jam mirë në kodim, krijimi fizik i orës patjetër që më shtriu dhe kërkoi disa mjete shtesë, të cilat gjithashtu më ngadalësuan disi.

Në fund do të përfshij një seksion mbi "Gjërat që do t'i bëja ndryshe/më mirë nëse do t'i bëja përsëri …"

Furnizimet:

Një nga gjërat që më goditi ishte se përbërësit e shtrenjtë kishin të bënin me akrepat e orës. 4 duar është padyshim më e shtrenjtë se 2. Vendosa të vendos disa kosto në mënyrë që të keni ndonjë ide. Kjo është hera e parë që i shtoj të gjitha dhe duke mos marrë parasysh mjetet, mendoj se kam shpenzuar rreth 200 £. Plus disa gjëra që nuk i kam përdorur (dhe nuk i kam përfshirë më poshtë) plus Pi, plus furnizimin me energji elektrike të cilat i kisha tashmë.

Pi etj

  1. Raspberry Pi - nuk mbaj mend sa kushtoi fillimisht, por ishte një Model 2B. Unë mendoj se nëse nuk e keni një të tillë, atëherë ndoshta edhe një Pi Zero do ta kishte. Kisha shtuar një dongle wifi dhe kartë SD me Raspbian. Dhe kisha një karikues të vjetër të telefonit Android të shtrirë përreth.
  2. Adafruit Servohat për Pi - £ 16
  3. Furnizimi me energji elektrike për Servohat - Këtë me të vërtetë u përpoqa ta gjeja pasi të gjitha faqet e internetit sapo treguan faqen e adafruit, e cila atëherë, padyshim që rekomandon një furnizim me energji amerikane. Pastaj kuptova se kisha një furnizim të vjetër të tensionit të ndryshueshëm me këshilla të këmbyeshme, kështu që e përdor atë. Por ai amerikan është 8 dollarë, kështu që është parku i topit.
  4. Rast për Pi, në mënyrë që unë pastaj mund ta lidh atë në kornizën e orës. 5 £

Servo dhe ingranazhet

Këtu po citoj çmimin për të katër, kështu që ndani nëse doni më pak duar (duke e shtuar atë është ~ £ 40 PERR DOR = = 160 £: -o

  1. 4 x Servos-Kam përdorur ato të rekomanduara nga ppeters0502-gjenden në ebay për 15 £ secila = 60--kam kërkuar tekstin e mëposhtëm "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-gradë "por ndonjëherë ato nuk ishin të disponueshme
  2. 4 x tuba prej bronzi të cilët u vendosën saktësisht brenda njëri -tjetrit - 3 £ secila. Mora 1 secila nga 1/4 ", 7/32", 3/16 ", 5/32" = 11 £
  3. 4 kapëse x të cilat shtrëngojnë tubat prej bronzi për t'ju lejuar të lidhni ingranazhet. 7 £ secila = 28 £. I mora nga ActiveRobots që bëjnë porosi të rregullta nga Servocity në SHBA, duke ju lejuar të shmangni transportin ndërkombëtar. Ata gjithashtu mund të marrin gjithçka tjetër që mund të gjeni në faqen kryesore të Servocity në SHBA. Kjo ishte shumë e dobishme për 2 artikujt e ardhshëm
  4. 4 x ingranazhe model acetil 0.770 "për montim në shpërndarësit e kapjes. ~ £ 6 secila = £ 24
  5. 4 x ingranazhe acetil të montuara me acetil për montim në servos. 6.50 each secila = 26 £
  6. 1 x pako me arra gjashtëkëndëshe në ingranazhet e bashkangjitura në kapëset e arrave = 2.60
  7. 1 x 7/64 "çelës heks (çelësi allen) sepse çdo gjë që vjen nga SHBA është perandorake, kështu që qindra çelësa allen që kam tashmë janë të padobishëm = 1 £

Për ndërtimin Fizik

Këtu më së shumti kam përdorur ndërprerje të gjërave për të cilat kam gënjyer

  1. 2 x sheshe kompensatë për pllakën "fytyrë" dhe "mbrapa"
  2. Më pas kam prerë cilindra 4x10 cm nga një shufër e vjetër banister që kisha, në mënyrë që të lidhja pjesën e pasme me fytyrën
  3. Disa blloqe për të montuar servos në kompensimin e duhur - vetëm ndërprerje të drurit të butë që i kam prerë në madhësi.
  4. Vida të ndryshme. nga shumë i vogël (për të bashkuar kutinë Pi në kornizë) në mesatare (për të bashkuar kornizën së bashku)
  5. Fletë 0.75mm prej çeliku të butë rreth 50cm x 20cm (për të prerë duart nga). Kjo ishte e vetmja gjë që bleva 9 ~ nga Wickes

Mjetet

Disa gjëra i kisha dhe disa i huazova ose i bleva

  1. Saldim Hekuri + saldim elektrik - për ngjitjen e lidhësve në Adafruit Hat & Pi.
  2. Jigsaw - për prerjen e formës së përafërt të duarve
  3. Stërvitje vetëm një stërvitje normale pa tel 18V
  4. Copa stërvitore - Mbani në mend se do t'ju duhen copa stërvitore perandorake për të bërë vrima që përputhen me tubat prej bronzi. Arrita të huazoja disa.
  5. sharrë hekuri - për prerjen e tubave prej bronzi. Mos bëni atë që bëra dhe shpenzoni 3 £ në prestarin e tubave, funksionon me presion dhe do të thotë që pjesa e brendshme e tubave bëhet pak më e vogël. kështu që tubi me madhësi tjetër poshtë nuk përshtatet më pas
  6. Mulli i stolit - Unë nuk kisha një nga këto, por një mik e kishte dhe kjo e bëri formësimin e duarve SHUM më të lehtë. Deri atëherë unë thjesht po përdorte skedarë. Unë nuk do të blija një vetëm për këtë projekt, por për duart metalike ishte e mrekullueshme.
  7. Bleva disa skedarë të ndryshëm të pikave të diamantit (shumë të vogla). e dobishme për duart dhe tubat rreth 15
  8. letër zmerile e ashpër dhe e lëmuar
  9. disa kapëse të vogla i mbajnë gjërat në vend gjatë shpimit.
  10. një ves për të njëjtën arsye.

Hapi 1: Vendosja e telefonave tuaj për të dërguar vendndodhjen e tyre te Pi juaj (ndërmjetësi i pjesës I MQTT)

Ky bit është përshkruar shumë mirë nga ppeters0502 në orën e tij të shkëlqyer Weasley Clock Instructable. Çuditërisht, edhe pse ndoshta reflekton aftësi të ndryshme, ai filloi me ndërtimin dhe më pas kaloi në softuer, unë e bëra atë anasjelltas. Kështu, fillova me telefonin … rri, jo nuk e bëra, fillova me ndërmjetësin MQTT, i cili është Hapi 6 në Udhëzuesin e tij. Unë do të heq të gjitha pjesët që ai bën shumë mirë dhe thjesht do të hedh disa pjesë që mund të shtoj. Unë shkova në rrugën CloudMQTT që ai përmendi.

POR ndërsa po shkruaja këtë, kontrollova lidhjen me planet dhe zbulova se nuk ka më një plan falas! Ata e tërhoqën atë, për atë që duket si arsye e arsyeshme. dmth që njerëzit do të krijonin një shembull falas dhe pastaj nuk do ta përdornin kurrë. Nuk e vura re sepse rastet aktuale mund të vazhdojnë. Kështu që unë nuk do të ndryshoj. Por i bën udhëzimet pak të tepërta. Duket se ka 3 opsione.

  1. Paguani 5 dollarë në muaj për Cloud MQTT (por kjo tingëllon e kushtueshme për orën në mënyrë të vazhdueshme).
  2. Shkoni në rrugën e Mosquitto në Pi siç përshkruhet në Udhëzuesin e parë. Unë nuk mund të komentoj për këtë, por mund të jetë një opsion i mirë.
  3. Thjesht google "ndërmjetësi falas MQTT cloud" dhe duket se ka edhe disa të tjerë.

Pra, me supozimin se keni një ndërmjetës MQTT që punon, nëse është diçka si ai i CloudMQTT atëherë do të shfaqet një Server, Përdorues, Fjalëkalim dhe Port. Të gjitha këto do t'ju duhen për konfigurimin e telefonave tuaj për t'i dërguar ndërmjetësit vendndodhjet/lëvizjet tuaja.

Hapi 2: Konfigurimi i telefonave tuaj për të dërguar vendndodhjen e tyre te Pi juaj (Pjesa II Owntracks)

Kjo është gjithashtu e mbuluar shumë mirë në Instructable origjinale, në Hapat 7 (Android), 8 (iOS) & 9 (ngritja e Rajoneve).

Unë kisha vetëm pajisje iOS kështu që nuk e provova hapin 7.

Çfarë do t'i shtoja atyre udhëzimeve?

  1. Në konfigurimin ka edhe fushat TrackerID dhe DeviceID. Këto duhet të keni për të qenë në gjendje t'ju identifikojnë brenda familjes tuaj. P.sh. Unë i kisha si R dhe RPhone respektivisht. Kjo do të thotë që ju mund të kaloni në orën të cilën Servo dhe për këtë arsye cilën dorë të ktheni.
  2. Rajonet janë emri për vendet që dëshironi të gjurmoni.
  3. Çdo rajon përcaktohet nga një emër, një gjerësi gjeografike, një gjatësi dhe një rreze.
  4. Për shkak se doja të kisha një numër vendndodhjesh si një seksion në Orën time, kam përdorur një konventë emërtimi, e cila doli të ishte shumë e dobishme. Metoda të tjera janë të mundshme, por kjo funksionoi për mua.

    • Për shembull, për pjesën e orës FAMILJE doja të kisha prindërit dhe vëllezërit e motrat e mi dhe prindërit dhe vëllezërit e motrat e gruas sime. Prandaj kisha vende si "Family Tom", "Family Dick", Family Harry "&" Family ParentsR ". Kjo do të thoshte se faza tjetër mund të dinte se çfarë t'i kalonte Orës.
    • Mbani në mend se njerëzit mund të kenë vende të ndryshme. Por për sa kohë që ata janë në përputhje me konventën e emërtimit, atëherë është mirë. P.sh. puna ime do të ishte ndryshe nga rajoni i punës së gruas sime dhe do të quhej ndryshe. por përderisa të dy fillojnë "Punë" atëherë gjithçka është në rregull.
  5. Ju dëshironi që modaliteti të vendoset në 'Domethënës' në ekranin e Hartave. Kjo do të thotë që ju (kryesisht) merrni mesazhe vetëm kur hyni ose dilni nga rajone. Ky duket të jetë versioni i përditësuar i shënimit i shënuar I RORTNDSISHM: në fund të Hapit 8 në Instructable origjinale.
  6. Siç u përmend në Instructable origjinale, përdorimi i Google Maps është një mënyrë e shkëlqyeshme për të zbuluar Lat/Long të diku. E gjeta më efikase ta bëja këtë me shumicë, duke zbuluar të gjitha Lat/Longs e vendndodhjes sime, pastaj i ngjita në Shënime (në Mac tim) dhe me sinkronizimin e reve, do të thoshte se ato u shfaqën në mënyrë magjike në iPhone tim në Shënime dhe unë mund t'i kopjoj/ngjis ato në Owntracks. Do të thoshte gjithashtu që unë mund ta dërgoja skedarin në telefonat e familjes sime dhe ne të gjithë kishim vende të qëndrueshme.
  7. Vendet të cilat janë afër së bashku mund të shkaktojnë probleme. Vëllai im jeton 2 rrugë larg, dhe fillimisht telefoni im vazhdonte të mendonte se isha njëkohësisht në rajonin e shtëpisë së tij, si dhe në shtëpi. Përfundimisht më është dashur të fus logjikë shtesë në Nyjen e Kuqe për të kapur dhe injoruar këtë që po ndodh.

Hapi 3: Vendosja e Raspberry Pi

Vendosja e Raspberry Pi
Vendosja e Raspberry Pi

Pra, këtu po supozoj se keni një bazë Pi të ngritur dhe në wifi. Po drejtoja Raspbian por nuk duhet të ketë rëndësi. Përdorni udhëzimet në raspberrypi.org për t'i rregulluar të gjitha.

Vini re se Pi ka porte për shfaqje në një monitor dhe tastierë/mi, etj. Kështu që përgjigja, e sugjeruar nga dikush në faqen e internetit të Raspberry pi, mendoj se ishte krijimi i një lidhjeje VNC. Kjo ju lejon të lidheni nga një pajisje tjetër me Pi dhe ta kontrolloni atë gjithashtu. Unë e bëj atë nga Mac -i im, por gjithashtu e kam bërë atë nga një iPad. Unë do të sugjeroj të përdorni diçka me një tastierë për lehtësinë e përdorimit.

Sapo zbulova se ata duket se e kanë bërë më të lehtë që kur u lidha … shiko këtu

Në thelb ju lidheni dhe merrni një dritare e cila është ndërfaqja standarde Pi.

Pra, ju keni një dritare në Pi tuaj nga laptopi ose kompjuteri juaj.

Tani ju duhet të lidhni Servos.

Së pari ju duhet të bëni disa saldime mjaft themelore për të marrë kapelën e adafruit mbi Pi. It'sshtë pak e çuditshme, por pavarësisht se nuk ishte bashkuar për 30 vjet, ishte mirë. Si gjithmonë, gjeta një video të dobishme në YouTube për të më përshkuar, e cila ishte një ndihmë e madhe.

Ndërsa kapelja mund të funksionojë 16 servos, më duheshin vetëm 4 dhe kështu u shqetësova vetëm duke bashkuar grupin e parë me 4 kunja.

Pastaj servot thjesht shtyjnë mbi kunjat. Bëra një të parë për të kontrolluar nëse mund të bëja që servo të lëvizte.

Ky ishte vendi ku godita pengesën time të parë të madhe. Unë kisha një shkrim python shumë themelor për të lëvizur servos dhe fjalë për fjalë asgjë nuk ndodhi. Kalova rreth një javë duke provuar skenarë të rinj etj, dhe pastaj tymi filloi të shfaqej në kapelë. Duke fikur gjithçka, kontrollova skemën. Ishte një përbërës që mbron nga polariteti i kundërt. Për shkak se kisha një burim energjie me shumë këshilla, me shumë tension, më kishte munguar fakti që ju mund të kishit daljen DC që të shkonte në të dyja anët duke përmbysur majën. E kisha gabuar (shansi 50:50) dhe sapo dogji kapelën time të parë të adafruit

:-(Pra, një vonesë e lehtë pasi bleva një të re, u ngjita përsëri dhe korrigjova majën. Shumë më mirë.

Tjetra më duhej të punoja se si t'i transferoja servot në pikën e duhur të orës. Kjo do të vijë në Hapin 5, por ajo që bëra, pasi nuk e kisha ndërtuar orën aktuale, ishte të vidhosja lehtë servot në një copë druri të rastësishëm dhe të ngjisja disa shirit maskues me një shigjetë mbi to, si në foto. Kjo dha një reagim shumë vizual për atë që po kodoja.

Hapi 4: Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)

Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)
Instalimi i Nyjes së Kuqe (Marrja e Mesazheve nga Serveri MQTT në Skriptin tuaj Python)

Node-RED është një program që instaloni në Pi, i cili ju jep një ndërfaqe vizuale (në shfletuesin tuaj) për të marrë mesazhe nga serveri juaj MQTT dhe për ta përdorur atë për të kaluar informacionin e saktë te skripti juaj python (i mbuluar në hapin tjetër) Hapi 5). Unë i kam përdorur shumë udhëzimet e ppeters0502 në Hapin 5. Ka logjikë në këto rrjedha, dhe logjikë shtesë në piton, dhe ju mund të keni pak a shumë në secilën, në varësi të preferencës tuaj. Në thelb ju duhet të bëni në vijim

  1. Keni nyje marrëse për mesazhet MQTT - këto janë ngjyrë vjollce të lehta dhe unë kisha 1 për anëtar të familjes
  2. Hartoni atë në servo që dëshironi të lëvizni (me numër 0, 1, 2, 3)
  3. Përcaktoni nëse po hyni ose po dilni nga një rreze në OwnTracks
  4. Përcaktoni se në cilin vend duhet të tregohet ai servo

    Kishte disa përjashtime nga rregullat themelore që duhej të ndërtoja

  5. Vendosni këndin në mënyrë korrekte

Unë kisha Node-RED që bënte 4-at e parë dhe e mbaja Python-in relativisht të thjeshtë.

Ju mund të shihni rrjedhën themelore këtu, dhe të gjitha rrjedhat mund të eksportohen në formatin këtu, që do të thotë se ju mund ta importoni këtë rrjedhë bazë në Node-RED tuaj dhe pastaj të përshtateni. Vini re se unë i kam hequr të gjitha lidhjet nga nyjet e purpurta në mënyrë që të mos keni qasje në shembullin tim MQTT. Unë gjithashtu hoqa të gjitha nyjet e testit pasi ato përmbajnë të dhëna aktuale … mund t'ju duhet të ndryshoni këtë lloj skedari për të qenë flows.json në mënyrë që të importoni në Node-RED tuaj, por Instructables nuk më lejoi ta ngarkoj atë.

Nyjet e gjelbra janë nyje të korrigjimit të cilat më pas shfaqin daljen në dritaren e korrigjimit në të djathtë të ekranit (mund të ketë nevojë të zgjerohet - gjeni shigjetën në gjysmë të rrugës lart në të djathtë)

Pjesa e parë që duhet bërë është biti "Live - vetëm për korrigjim". Kjo kontrollon që ju mund të merrni mesazhet MQTT dhe të shihni se çfarë ka në to. json është vetëm një version më i strukturuar i mesazheve që ju lejon të merrni të dhënat më lehtë. Në këtë rrjedhë, kur jam drejtpërdrejt, unë pastaj lidh nyjet vjollce sipër majtas me nyjen json në të djathtë të tyre.

Testimi i nyjeve

Pasi ta dini se si do të duken mesazhet drejtpërdrejt, do të jetë shumë e mërzitshme të keni nevojë të dilni nga shtëpia juaj, përgjatë rrugës dhe mbrapa, vetëm për të shkaktuar një ngjarje. Pasi ta keni bërë këtë, mund ta kopjoni mesazhin në një provë TEST, dhe pastaj thjesht klikoni mbi të për të simuluar ngjarjen. Ju gjithashtu mund të ndryshoni të dhënat, të pretendoni se jeni për vende të ndryshme (sigurohuni që ato korrespondojnë saktësisht me emrat e vendndodhjeve në Owntracks).

Ju mund të shihni në rrjedhë se rastet e testit të gjitha shkojnë në një nyje të veçantë dhe pastaj kjo shkon në nyjen json. Kjo është thjesht për të rregulluar ekranin.

Nuk mund ta theksoj sa të dobishme ishin dhe ende janë këto nyje.

Duke thirrur Python

Kështu që unë pastaj godita pengesën tjetër. Kjo kërkoi shumë googling në forume, etj. Rrjedha ime do të funksiononte në mënyrë perfekte, por nuk do të shkaktonte shkrimin tim python. Unë nuk mund ta zgjidhja këtë, por do t'ju kursej nga sharjet, etj. Vetëm për të thënë se, siç theksohet në pamjen e dytë të ekranit, duhet të specifikoni python3, pasi me sa duket Node-RED supozon python2, nëse nuk e specifikoni.

2 komplikime shtesë - vetëm nëse është e nevojshme

Unë atëherë kisha një numër sfidash ku logjika nuk funksionoi plotësisht. E para ishte se Owntracks shkoi pak e çuditshme dhe, pasi vëllai im jeton 2 rrugë larg, shpesh thoshte se isha në 2 vende menjëherë, ose vazhdoja të ndërroja mes tyre. E vetmja mënyrë që unë mund ta kaloja ishte të shtoja në një gjendje për të ndaluar pozitivët e rremë. Nëse pretendonte se isha në shtëpinë e tij, atëherë kalova dhe kontrollova Gjatësinë/Gjerësinë Gjeografike aktuale në mesazh dhe e abortova nëse thoshte se në të vërtetë isha në shtëpi.

Problemi tjetër ishte se, kur shëtisja qenin tim nuk mund të kisha vërtet një rreze të mirë. Unë zakonisht eci në të njëjtën zonë, kështu që këtu, thashë "nëse hyj në këtë zonë, unë jam duke ecur patjetër me qenin dhe do të jem derisa të kthehem në shtëpi." kjo do të thoshte se nuk do të kalonte në pijetoren që kaloj gjatë rrugës për në shtëpi, apo vende të tjera të ndryshme lokale të cilat mund të shkaktojnë gjatë ecjes me qen. Për ta bërë këtë më duhej të krijoja disa ndryshore të vazhdueshme të Kontekstit (shikojini ato në Node-RED. Shihni pamjen e ekranit. Këto variabla vazhdojnë derisa Node-RED të riniset dhe kështu mund të them Nëse në një shëtitje me qen, vendosni Variablin e Kontekstit tek "Qeni". Atëherë injoroni ASGJ tjetër nëse nuk 'Hyr' në shtëpi.

Pamja e fundit e ekranit është ajo e rrjedhës sime aktuale përfundimtare, me të gjitha përjashtimet, vetëm për interesin tuaj.

Hapi 5: Aktualisht Zhvendosja e Shërbimeve me Python në Pi

Një devijim i shkurtër në servos. Unë nuk dija asgjë për servos, por ka shumë informacion në internet. Ato që kam përdorur janë servos të vazhdueshëm të cilët mund të kthehen mbi 360 gradë, dhe pa probleme. Llojet e tjera kryesore janë servos stepper të cilët lëvizin në copa (hapa) dhe me sa duket shkojnë deri në rreth 180 gradë (qartë nuk janë të dobishme këtu). Avantazhi i servos stepper është se ju thjesht mund të vendosni në një kënd dhe ata të lëvizin në atë pikë dhe të ndalojnë. I gjithë dokumentacioni që gjeta tha se servos të vazhdueshëm funksionojnë duke iu dhënë një shpejtësi, dhe një kohë për të ruajtur atë shpejtësi (p.sh. shpejtësia e plotë për 1s) dhe përfundojnë aty ku përfundojnë, por është relative me pikën e tyre të fillimit. Pas shumë përpjekjeve, unë nuk mund ta bëja këtë të funksiononte, por zbulova, duke përdorur stolin e provës, se servos vazhdimisht ktheheshin në të njëjtën pikë duke pasur të njëjtin kënd. Kjo është shumë më e lehtë, kështu që unë thjesht e bëra atë. Mund të ketë ndonjë anë negative për të cilën nuk di, por funksionon për mua. Vini re, megjithatë, se çdo servo është unik, dhe kështu ju duhet të keni një grup unik të këndeve për secilin servo. Unë e kisha më të lehtë të kisha një shkrim python të 'kalibrimit', ku mund t'i vendosja servot në kënde nga ana tjetër, duke i rafinuar ato derisa të dukeshin të gjithë të drejtë. Ky është skenari i parë i bashkangjitur. Thjesht komentoni servot që nuk po testoni, përqendrohuni në një dhe më pas rregulloni vlerat sipas nevojës. SH NOTNIM: kalibrimi për stolin e provës është i thjeshtë dhe i përafërt dhe gati. Ju do të keni nevojë të ri-kalibroni kur ora të jetë montuar, sepse ingranazhet etj do të ndryshojnë gjithçka. Pastaj shkrimi i dytë është mjaft themelor. Ai bën sa më poshtë

  1. Importoni disa biblioteka
  2. lëvizin variablat që vijnë nga Node-RED tek variablat në skript
  3. harton këndet e përcaktuara nga shkrimi i kalibrimit në vendet në orë.
  4. kontrolloni që vendndodhja të gjendet në listë, dhe nëse jo atëherë kaloni te "Rreziku"
  5. shkruani atë që u bë me një skedar log
  6. zhvendosni servo -n e kërkuar në këndin e kërkuar
  7. Ndaloni një servo që të "gumëzhimë" *

3 gjera per tu vene re.

Skedari i regjistrit është shumë i dobishëm për korrigjimin. Do të thotë që ju mund të shikoni korrigjimin Node-RED të një mesazhi, dhe pastaj të shihni se çfarë ndodhi në skenar. dalja duket kështu. 3 të parët jam duke e marrë qenin për një shëtitje, dhe pastaj Fëmija 1 duke lënë shtëpinë dhe duke arritur në shkollë. Shënim për të kontrolluar kohën në Pi. Mund të parazgjedhet në UTC dhe të mos lejojë ndryshime të kohës verë/dimër. P.sh. kohët e mëposhtme janë 1 orë jashtë.

2020-12-07_05: 36: 03 Kush = 0, lok = Udhëtim, detaje = Shtëpi, Kënd = 10, indeks = 8

2020-12-07_05: 36: 04 Kush = 0, loc = Qeni, detajet = Astonet, Këndi = 86.5, indeksi = 10

2020-12-07_06: 07: 49 Kush = 0, lok = Shtëpi, detaj = hyrje, Kënd = 75, indeks = 0

2020-12-07_06: 23: 53 Kush = 2, lok = Udhëtim, detaj = Shtëpi, Kënd = 19, indeks = 8

2020-12-07_06: 30: 48 Kush = 2, lok = Shkolla, detajet = N, Këndi = 60.5, indeksi = 2

Servo-gumëzhimë

Një nga Servos (0) vazhdonte të gumëzhinte pas përfundimit të skenarit. Siç mund ta imagjinoni, kjo është shumë e bezdisshme të kemi në kuzhinën tonë. Gjeta një fije diku e cila përmendi vendosjen e këndit të servo në 'asnjë' që në një farë mënyre e vendos atë të jetë i papunë. Kjo funksionoi shkëlqyeshëm dhe mund të shihet në skenarin në fund.

Kohët

Mbani në mend se sa poshtë duhet një dorë për të fshirë gjatë gjithë kohës. Ju mund të shihni në skenar se ka një linjë time.sleep (4) pak para se të vendosim servo të ndalojë zhurmën. Kjo sepse ju duhet të lejoni që dora të arrijë në destinacionin e saj para se ta vendosni në boshe. Përndryshe ajo thjesht ndalet. Kjo është gjithashtu e rëndësishme kur e kalibroni, sepse jeni duke bërë lëvizje të shumta brenda skenarit. Do ta vendosja që të lëvizte në të 12 vendet me radhë, në mënyrë që të mund t'i rishikoja të gjitha. por keni nevojë për pak kohë në mes.

Hapi 6: Përfundimi i Softuerit - Telefonat për Servos

Pasi të keni vendosur stolin e provës dhe skriptet, atëherë mund ta ekzekutoni 'live' për pak dhe të shihni se si funksionon në kohë reale. Këtu gjeta përjashtimet që duhej të shtoja në rrjedhën time Node-RED.

Ju lehtë mund të shkëputeni dhe lidhni anëtarët e familjes në rrjedhën Nyje-RED nëse doni të përqendroheni në një. Për shembull, nëse dy po shkaktojnë probleme, por ju doni të rregulloni një në një kohë. Përndryshe, mbani në mend se do të vazhdoni të merrni mesazhe nga çdo telefon i lidhur.

E përmenda problemin me ecjen në qen dhe shtëpinë e vëllait tim që ishte fare pranë. Kisha 2 sfida të tjera.

Së pari, vendndodhjet brenda vendeve të tjera. Gruaja ime ishte duke bërë një kurs në një kolegj në Londër. Ne donim që ajo të regjistrohej si 'Shkollë', por është gjithashtu në 'Londër'. Kështu që ne kishim nevojë të ri-përdorim kontekstin për të thënë se nëse po largohesh nga ajo "Shkollë", atëherë shko në "Londër" jo "Udhëtim".

Së dyti, kushtet e garës. Siç u përmend, shtëpia e vëllait tim është 2 rrugë larg, dhe gjithashtu pranë pijetores/restorantit tonë të preferuar. Kjo do të thotë që ndonjëherë 2 sinjale merren në të njëjtën kohë, ose shumë afër së bashku. Kjo mund të krijojë një "kusht garash" ku ju merrni rezultate të ndryshme në varësi të asaj që kalon përmes logjikës më shpejt, duke çuar në rezultate të paparashikueshme. Për t'iu kundërvënë kësaj unë bëra që të gjitha mesazhet 'hyrëse' të kenë një vonesë 1s në logjikën, e cila dukej se e rregulloi problemin. Mund të ketë mënyra më të mira, më elegante për ta zgjidhur këtë, por dukej se funksionoi.

Hapi 7: Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti

Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti
Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti
Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti
Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti
Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti
Ndërtimi i Orës Fizike - Pjesa I - Servos & Boshti

Tani ajo për të cilën kisha më pak besim, kjo është arsyeja pse e lashë për të kaluar. Doja një fytyrë me madhësi të mirë dhe ndërtim të lehtë. Isha gjithashtu nervoz për marrjen fizike të 2 servos rreth boshtit qendror. Kjo do të thoshte që, duke shikuar shkurtimisht në ebay orët e vjetra si në udhëzimet që po ndiqja, vendosa t'i jepja vetes më shumë shanse duke e ndërtuar vetë.

  • Mora 2 sheshe të mëdha (30 cm) kompensatë që kisha shtrirë përreth (rreth 9 mm të trasha).
  • Pastaj kam prerë një hekurudhë të vjetër të parmakut në seksione 4x10cm dhe i kam vidhosur së bashku pjesën e përparme dhe të pasme.
  • Pasi shënova vrimën qendrore, e shpova atë të ishte me të njëjtën madhësi si tubi më i madh prej bronzi.
  • Pastaj e pikturova me bojë normale me shkëlqim të bardhë.
  • Pas disa eksperimenteve kuptova se ndoshta nuk do të mund të merrja 4 servos në të njëjtin bosht nëse të gjithë ishin të bashkangjitur në pllakën e pasme (ose të përparme). Kështu që më duhej të kisha ose 3 + 1 ose 2 + 2, në secilën pjatë. Përfundova me 3 në anën e pasme dhe 1 në pjesën e përparme.
  • Kam përpunuar kompensimet e kërkuara në një copë letër dhe më pas i kam prerë tubat prej bronzi që të përputhen. Vini re se tubi më i trashë është më i shkurtër dhe më i hollë duhet të shkojë deri në pjatën e pasme. (Unë në fakt e futa atë më të voglin në një vrimë që e shpova pjesërisht në pllakën e pasme, por jo deri në fund, në mënyrë që boshti të mos lëvizte prapa).
  • Për tubat, bleva një prestar tubi, por që përdor presion për t'i prerë ato dhe kjo do të thotë që ju nuk mund të merrni tubin më të vogël brenda. Kështu që unë përdor një sharrë hekuri dhe më pas duhej të bëja një sasi të mjaftueshme të depozitimit për t'i bërë ata të punonin. Dosjet me pika diamanti ishin të paçmueshme këtu.
  • Pastaj e përputha diagramin me kompensimet aktuale për kapëset dhe dhëmbëzorët *.
  • Sapo pata kompensimet, e dija sa 'e lartë' të bëja blloqet për të montuar servot. Thyeva disa blloqe duke i parë shumë të hollë dhe gjithashtu duke shpuar vrimën për të lënë tela jashtë.
  • Pastaj erdhi pjesa e ngathët se ku të vendoseshin blloqet në mënyrë që ata të takoheshin saktësisht me dhëmbëzat në bosht. Kam vidhosur një bllok dhe pastaj mund ta rrotulloj servon për të përmbushur boshtin dhe pastaj vidhos në bllokun e dytë skajin tjetër të servo. Gjithashtu zbulova se më duhej të prisja pak nga disa blloqe për të shmangur kapjen e dhëmbëzave të tjerë. U desh mjaft kohë.
  • Pasi i kisha bërë të gjitha ato, mora kutinë time të mjedrës pi, shpova dy vrima në të dhe e vidhova në pjatën e përparme. Pastaj mund të shtoja Pi, të mbyllja pllakat e përparme dhe të pasme (duke lidhur servot me pi (duke kujtuar se cili servo ishte për cilin anëtar të familjes) dhe të kthehesha në duar …

* Këtu gjeta problemin më të madh, të cilin ende nuk e kam zgjidhur plotësisht. Tubat prej bronzi ishin, 1/4 ", 7/32", 3/16 ", 5/32". Por kapëset ishin metrikë (me përjashtim të njërit që ishte 1/4 "). Shndërrimi i tubave në metrikë ishin 6.35mm, 5.56mm, 4.76mm 3.97mm. Kapëset e mbetura ishin 4mm, 5mm dhe 6mm. Vrimat më të vogla 2 dhe më të mëdhenjtë janë mirë. por qartë 0.44mm është shumë udhëtim për kapësen, kështu që më duhej ta mbushja me letër. E kam provuar këtë disa herë dhe funksionon mirë për një kohë dhe pastaj lirohet përsëri. Pra, i dyti më i madh dora nuk arrin të funksionojë siç duhet. Ishte mirë për rreth 6 muaj, kështu që koha e kaluar për ta bërë këtë ishte investuar mirë. Por nëse do ta bëja përsëri mund të kisha shkuar 1 madhësi lart ose poshtë, me një hendek për të provuar dhe për të marrë një kapës më i mirë për përshtatjen e tubit. p.sh. shkoni për 9/32 ", 1/4", (hendek), 3/16 ", 5/32"

Hapi 8: Duart e orës

Duart e orës
Duart e orës
Duart e orës
Duart e orës
Duart e orës
Duart e orës

Vendosa për fletë çeliku pasi doja diçka të ngurtë, por më pak të ngjarë të kapet ndërsa e bëja atë. Gjithashtu të qenit i hollë do të thoshte se 4 duart ishin më pak çështje.

  • Së pari skicova një formë.
  • Pastaj e transferova atë në çelik mbi një shirit maskimi.
  • Pastaj i kam prerë me shumë paanshmëri me bashkim pjesësh figure. Ata ishin, dhe janë, të gjithë të ndryshëm, por mua nuk më intereson kjo.
  • Pastaj një mik më sugjeroi të marr hua mulli të tij të stolit për t'i dhënë formë, dhe kjo ishte e mrekullueshme. shumë e rekomanduar. Përndryshe, depozitimi merr shekuj.
  • Kishte akoma disa depozitime për të bërë dhe më pas lëmues për të siguruar që nuk kishte skaje të mprehta dhe gjithashtu një përfundim të bukur.
  • Më duhej të bëja vrima që të përputheshin me tubat prej bronzi përkatës (përdorni tuba të prerë për të kontrolluar, jo ato të montuara në orë).
  • Zbulova se vrimat kishin nevojë për një dosje të vogël për t'i futur ato në tuba, por një herë ato ishin të ngushta dhe nuk kishin nevojë për zam. Përjashtim ishte dora e përparme të cilën doja ta kisha një 'mbulesë'. Kështu që unë prerë një copë çeliku (kryesisht) të rrumbullakët, pasi kam shpuar vrimën dhe e kam marrë atë në madhësinë e duhur, dhe e kam ngjitur atë në pjesën e përparme. mund ta shihni në foton e fundit. Herë pas here dora e përparme do të kishte nevojë për një copë zam për ta siguruar atë, por pas disa fillimeve të rreme duart funksionojnë vërtet mirë.
  • Unë e kisha refuzuar idenë e fotografive (sepse fëmijët do të ankoheshin për fotot tona të datës shpejt) kështu që u vendosa të pikturoja në inicialet me bojë akrilike.

Hapi 9: Plotësoni

E plotë!
E plotë!
E plotë!
E plotë!

E gjitha funksionon vërtet bukur. Duart ndonjëherë janë pak jashtë, në varësi të vendit nga kanë ardhur, por në fakt nuk ka rëndësi sepse secili vend është një seksion jo vetëm një vijë.

Ndonjëherë, në mënyrë të çuditshme, telefoni im refuzon të pranojë që jam në shtëpi. Unë jam qartë brenda rrezes së Owntracks kur tregohet në hartë, dhe madje edhe kur saktësia është e mirë … nuk e kam idenë pse. nuk duket se mundon pjesën tjetër të familjes sime. por struktura është e njëjtë. Kjo do të thotë që Owntracks kurrë nuk dërgon një mesazh dhe unë ngec në 'Traveling'. Por zakonisht përfundon vetë.

Ka qenë shumë e dobishme të kemi në kuzhinën tonë, kryesisht për të ditur kur vajzat po kthehen në shtëpi nga shkolla, ose shtëpitë e miqve të tyre, dhe kështu kur të kenë ushqim/çaj gati për to.

Përsëri, një kapelë e madhe falënderimi për @ppeters0502 për udhëzimet e mrekullueshme që duhet të ndiqni. Shpresojmë se këto mund të shtojnë diçka për të bërë një orë me 4 duar..

Hapi 10: Gjërat që kam mësuar, dhe do të bëja më mirë/ndryshe nëse më duhej ta bëja përsëri

  • Ndërtimet fizike kanë nevojë për provë dhe gabim. Nuk ka asnjë mënyrë për të parashikuar problemet e hapësirës, thjesht duhet të zhyteni dhe të provoni.
  • Për kodin, problemet e googling janë thelbësore
  • Filloni bazën dhe ndërtoni. Serviset në dru të stolit të provës nënkuptonin që unë mund ta bëja pjesën më të madhe të punës pa strukturën fizike
  • Ndoshta i kam prerë duart me lazer në një makinë CNC. Por unë nuk e di se ku ishte ai lokal, dhe më pëlqen se si funksionoi çeliku i butë (ishte i lirë dhe mulli i stolit e bëri atë shumë më të lehtë)
  • një motor stepper mund të jetë i mundur nëse përdorni ingranazhin për të marrë një kthesë 360. por atëherë mund t'ju duhet të keni servot shumë afër boshtit qendror
  • Ekzistojnë 2 lloje të servo (Futaba & HiTech). Sigurohuni që ta keni kontrolluar këtë pasi ata kanë numër të ndryshëm dhëmbësh në spline. Dhe fillimisht bleva ato të gabuarat …
  • Mos e lidhni kapelën me polaritetin e gabuar;-)
  • Google dhe Stack Overflow janë miqtë tuaj kur jeni të bllokuar. Por ju duhet të përdorni terma të mirë kërkimi…
  • Paneli i provës është në të vërtetë një mënyrë që ju mund të merrni një version më të thjeshtë dhe më të lirë shumë më lehtë. Shumica e ndërlikimeve me ndërtimin vjen nga nevoja që duart të rrotullohen rreth të njëjtit bosht. Nëse bëni kompromis me këtë, atëherë gjithçka është shumë më e lehtë. Dhe unë mendoj se 4 mund të jetë kufiri i boshtit të vetëm nëse boshti nuk zgjat shumë më gjatë. Ju mund, supozoj se keni 3 në pllakën e përparme dhe tre në pllakën e pasme nëse boshti do të ishte më i gjatë…

Hapi 11: Zgjatje të mundshme në të ardhmen…?

Idetë që kisha për hapat e ardhshëm janë si më poshtë.

  1. Do të doja të ri-qëlloja një iPad të vjetër si faqe të orës. dmth të bëjë një orë dixhitale. Ndoshta i bazuar në shfletues ose një aplikacion. Meqenëse një orë fizike është në thelb pa shtetësi (domethënë nuk e di se ku është aktualisht, përveçse për shkak të duarve që janë në një pozicion fizik) do të më duhej të kisha një ruajtje të vazhdueshme të të dhënave. Nyja e Kuqe mund t'i shkruajë sistemit të skedarëve lokalë, kështu që unë ndoshta do ta bëja atë.
  2. Nëse e bëra atë, atëherë do të doja të isha në gjendje ta shihja atë jashtë shtëpisë. Por atëherë ne me të vërtetë duhet të rregullojmë sigurinë. Për shkak se qasja brenda të njëjtit rrjet wifi është një gjë, qasja nga interneti është një gjë tjetër. Aktualisht nuk kam asnjë ide se si ta bëj më mirë këtë, por dyshoj se një pajtim MQTT që shkon nga ana tjetër mund të funksionojë (pi publikon statusin aktual dhe pajisjet e jashtme regjistrohen në të)…?
  3. Do të doja shumë një dorë për 'Jashtë'. por kjo mund të jetë komplekse nga pikëpamja e OwnTracks. Ndoshta thjesht mund të përdorni long/lat të kombinuar me disa rreze të mëdha?

Recommended: