Sisukord:

Weasley asukohakell nelja käega: 11 sammu (piltidega)
Weasley asukohakell nelja käega: 11 sammu (piltidega)

Video: Weasley asukohakell nelja käega: 11 sammu (piltidega)

Video: Weasley asukohakell nelja käega: 11 sammu (piltidega)
Video: Воды как в дипломе. Финал ► 6 Прохождение Hogwarts Legacy 2024, Juuli
Anonim
Weasley asukohakell 4 käega
Weasley asukohakell 4 käega

Niisiis tahtsin Raspberry Pi -ga, mis oli juba mõnda aega ringi liikunud, leida kena projekti, mis võimaldaks mul seda kõige paremini ära kasutada. Sattusin ppeters0502 selle suurepärase Instructable Build Your Own Weasley asukoha kella juurde ja arvasin, et oleks hea proovida.

Kell koosneb põhimõtteliselt Raspberry Pi -st, mis juhib servosid kellaosutite pööramiseks. Nagu Weasley pere majas Harry Potteri raamatutes/filmides, on igal pereliikmel oma käsi. Iga käsi osutab selle pereliikme praegusele asukohale. Kell saavutab selle, saades sõnumeid pere mobiiltelefonidelt, kui need sisenevad või lahkuvad eelnevalt määratud raadiusest.

Peamised erinevused eelmise Instructable'iga olid need, et mul oli vaja 4 kätt, mitte 2 (muidu oleksid mu tütred kurtnud) ja otsustasin ka raami ehitada, mitte hankida vana kella uuesti kasutamiseks. Selle põhjuseks oli asjaolu, et olin mures selle pärast, et olemasoleva kellaümbrise puhul tekitab probleem ruumi, vajadus mahutada 4 servot jne.

See võttis palju kauem aega, kui ma eeldasin, kuigi enamasti kohtasin ma keerulisi probleeme, mis mind jahmatasid ja mida algne postitus ei tundunud hõlmavat. Mitte midagi algse Instructable'i vastu, mis oli üldiselt suurepärane, kuid mõned aastad olid möödunud ja asjade versioonid muutunud … jne. Ühendkuningriigis viibimine tähendas ka seda, et mõned Imperial/Metric elemendid tekitasid rohkem väljakutseid kui ma ootasin.

Samuti, kuigi kodeerimisega on mul kõik korras, venitas kella füüsiline tegemine mind kindlasti ja nõudis mõningaid lisatööriistu, mis samuti mõnevõrra aeglustasid mind.

Lõpus lisan sektsiooni teemal "Asjad, mida teeksin teisiti/paremini, kui teeksin seda uuesti …"

Tarvikud:

Üks asi, mis mulle silma torkas, oli see, et kallid komponendid olid seotud kellaosutitega. 4 kätt on kindlasti palju kallim kui 2. Otsustasin lisada mõned kulud, et teil oleks idee. See on esimene kord, kui olen selle kõik kokku pannud ja tööriistu eirates arvan, et kulutasin umbes 200 naela. Lisaks mõned asjad, mida ma ei kasutanud (ja pole allpool lisanud), pluss Pi, pluss toiteallikas, mis mul mõlemad juba olid.

Pi jne

  1. Raspberry Pi - ei mäleta, kui palju see algselt maksis, kuid see oli mudel 2B. Ma arvan, et kui sul seda veel pole, siis isegi Pi Zero teeks seda ilmselt. Olin Raspbianiga lisanud wifi -dongli ja SD -kaardi. Ja mul oli vana Android -telefoni laadija ümberringi.
  2. Adafruit Servohat Pi jaoks - 16 naela
  3. Servohati toiteallikas - mul oli tõesti raske seda leida, kuna kõik veebisaidid osutasid lihtsalt adafruit -saidile, mis siis soovitab ilmselgelt USA toiteallikat. Siis mõistsin, et mul on vana muutuva pingega toide koos vahetatavate otstega, nii et kasutasin seda. Kuid USA üks on 8 dollarit, nii et see on palliplats.
  4. Korpus Pi jaoks, et saaksin selle siis kellaraami külge kinnitada. 5 naela

Servod ja käigud

Siin ma tsiteerin kõigi nelja hinda, nii et jagage, kui soovite vähem käsi (selle lisamine on ~ 40 naela käe kohta = 160 naela: -o

  1. 4 x servot-kasutasin neid, mida soovitas ppeters0502-leiti ebayst hinnaga umbes 15 naela = 60 naela-otsisin järgmist teksti "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-kraadi "kuid mõnikord polnud need kättesaadavad
  2. 4 x messingist toru, mis sobivad täpselt üksteise sisse - igaüks ~ 3 naela. Sain 1 1/4 ", 7/32", 3/16 ", 5/32" = 11 naela
  3. 4 x klambrit, mis kinnitatakse messingist torudele, et saaksite hammasrattaid kinnitada. ~ 7 £ iga = 28 £. Sain need ActiveRobotidelt, kes tellivad USA -s Servocitylt regulaarseid tellimusi, võimaldades teil vältida rahvusvahelist saatmist. Nad saavad ka kõike muud, mida leiate Servocity peamisest USA saidist. See oli järgmise kahe eseme jaoks väga mugav
  4. 4 x atsetüül 0,770 "mustriga hammasrattaid kinnitusklambritele kinnitamiseks. ~ 6 naela = 24 naela
  5. 4 x atsetüül-splaini külge kinnitatud atsetüülhammasratast servodele kinnitamiseks. ~ 6,50 £ tk = 26 £
  6. 1 x kuuskantmutrite pakk kinnitusmutrite külge kinnitatud hammasrataste jaoks = 2,60 £
  7. 1 x 7/64 tolli kuuskantvõti (kuuskantvõti), sest kõik, mis tuleb USA -st, on keiserlik, nii et sajad kuuskantvõtmed, mis mul juba on, on kasutud = 1 naelsterling

Füüsilise ehituse jaoks

Siin kasutasin enamasti katkestatud asju, mille kohta ma valetasin

  1. 2 x ruudud vineeri "näo" ja "tagumise" plaadi jaoks
  2. Lõikasin siis 4x10 cm silindrid vanalt piirdesiinilt maha, et seljaosa näoga ühendada
  3. Mõned klotsid servode paigaldamiseks õigele nihkele - lihtsalt okaspuu väljalõiked, mille ma lõiganud.
  4. Erinevad kruvid. väga väikesest (Pi korpuse raamile kinnitamiseks) kuni keskmise (raami kokku kinnitamiseks)
  5. 0,75 mm leht terasest umbes 50 cm x 20 cm (käte lõikamiseks). See oli ainus asi, mille ostsin Wickesilt ~ 9 naela

Tööriistad

Mõned asjad olid mul olemas ja mõned laenatud või ostetud

  1. Jootekolb + elektriline joodis - pistikute kinnitamiseks Adafruit Hat & Pi külge.
  2. Pusle - käte krobelise kuju väljalõikamiseks
  3. Puurida. tavaline 18V akutrell
  4. Puurvardad - pidage meeles, et messingist torudele sobivate aukude tegemiseks vajate keiserlikke puurvardasid. Mul õnnestus natuke laenata.
  5. rauasaag - messingist torude lõikamiseks. Ärge tehke seda, mida mina tegin, ja kulutage torude lõikurile 3 naela, see töötab rõhu all ja tähendab, et torude sisemus muutub natuke väiksemaks. nii et järgmise suurusega toru ei mahu läbi
  6. Pingiveski - mul polnud ühtegi sellist, aga sõbral oli ja see muutis käte kujundamise PALJU lihtsamaks. Seni kasutasin lihtsalt faile. Ma ei ostaks seda ainult selle projekti jaoks, kuid metallkäte jaoks oli see suurepärane.
  7. Ostsin mõned teemantpunktifailid (väga väikesed). kasulik kätele ja torudele umbes 15 naela
  8. kare ja sile liivapaber
  9. mõned väikesed klambrid hoiavad puurimisel asju paigal.
  10. pahe samal põhjusel.

Samm: seadistage oma telefonid oma asukoha saatmiseks teie Pi -le (I osa MQTT maakler)

Seda bitti kirjeldab väga hästi ppeters0502 oma suurepärases Weasley Clock Instructable. Kummalisel kombel, kuigi võib -olla peegeldades erinevaid oskusi, alustas ta ehitamisest ja liikus seejärel tarkvara juurde, mina tegin seda vastupidi. Niisiis, ma alustasin telefoniga … oodake, ei, ma ei alustanud, alustasin MQTT maakleriga, mis on tema juhendi 6. samm. Jätan kõik punktid, mida ta väga hästi teeb, ja viskan lihtsalt mõned tükid, mida ma võiksin lisada. Läksin tema mainitud CloudMQTT teed.

AGA kui ma seda kirjutasin, vaatasin plaanide linki ja leidsin, et tasuta plaani pole enam olemas! Mõistlikel põhjustel võtsid nad selle tagasi. st et inimesed loovad tasuta eksemplari ja ei kasuta seda kunagi. Ma ei pannud seda tähele, sest praegused juhtumid võivad jätkuda. Nii et ma ei muutu. Kuid see muudab juhised natuke üleliigseks. Tundub, et on 3 võimalust.

  1. Makske Cloud MQTT eest 5 dollarit kuus (kuid see kõlab kella jaoks pidevalt).
  2. Minge Mosquitto Pi teele, nagu on kirjeldatud esimeses juhendis. Ma ei oska seda kommenteerida, aga võiks olla hea variant.
  3. Lihtsalt googeldage "tasuta MQTT pilvemaakler" ja tundub, et neid on veel.

Seega, eeldusel, et teil on töötav MQTT maakler, kui see on midagi sarnast CloudMQTT -ga, kuvatakse server, kasutaja, parool ja port. Neid kõiki vajate oma telefonide seadistamiseks, et saata maaklerile teie asukohad/liikumised.

2. samm: seadistage oma telefonid, et saata nende asukoht teie Pi -le (II osa Owntracks)

See on väga hästi kaetud ka originaaljuhendiga Instructable, etappides 7 (Android), 8 (iOS) ja 9 (piirkondade seadistamine).

Mul olid ainult iOS -seadmed, seega ei proovinud 7. sammu.

Mida ma neile juhistele lisaksin?

  1. Seadistuses on ka väljad TrackerID ja DeviceID. Need peaksid suutma teid oma perekonnas tuvastada. Nt. Mul olid need vastavalt R ja RPhone. See tähendab, et saate kellale minna, millist servot ja seega kumba kätt keerata.
  2. Piirkonnad on nende asukohtade nimed, mida soovite jälgida.
  3. Iga piirkond on määratletud nime, laiuskraadi, pikkuskraadi ja raadiusega.
  4. Kuna ma tahtsin, et minu kella üks sektsioon oleks mitu asukohta, kasutasin ma nimetamisviisi, mis osutus väga kasulikuks. Muud meetodid on võimalikud, kuid see töötas minu jaoks.

    • Näiteks kella PEREKONNA jaoks tahtsin saada oma vanemaid ja õdesid -vendi ning naise vanemaid ja õdesid -vendi. Seetõttu olid mul sellised kohad nagu "Family Tom", "Family Dick", Family Harry "ja" Family ParentsR ". See tähendas, et järgmine etapp võiks teada, mida kellale edastada.
    • Pidage meeles, et inimestel võib olla erinevaid asukohti. Kuid seni, kuni need on kooskõlas nimetamiskokkuleppega, on see korras. Nt. minu töö erineks mu naise tööpiirkonnast ja seda kutsutaks teisiti. aga kui nad mõlemad alustavad "Tööga", on kõik korras.
  5. Soovite, et režiim oleks kaartide ekraanil „Oluline”. See tähendab, et saate (enamasti) teateid ainult piirkondadesse sisenedes või sealt lahkudes. Tundub, et see on originaali Instructable 8. sammu lõpus märgitud märkuse värskendatud versioon.
  6. Nagu algses Instructable'is mainitud, on Google Mapsi kasutamine suurepärane viis kusagilt lati/pikkuse väljaselgitamiseks. Leidsin, et seda on hulgi teha tõhusam, saades teada kõik minu asukoha latid ja pikkused, seejärel kleepisin need märkmetesse (minu Macis) ja pilvesünkroonimisel tähendas see, et need ilmusid võluväel minu iPhone'ile märkmetes ja saaksin need Owntracksisse kopeerida/kleepida. See tähendas ka seda, et ma sain faili oma pere telefonidesse saata ja meil kõigil olid järjepidevad asukohad.
  7. Asukohad, mis asuvad üksteise lähedal, võivad põhjustada probleeme. Mu vend elab 2 tänava kaugusel ja esialgu arvas mu telefon pidevalt, et olen samaaegselt nii tema maja piirkonnas kui ka kodus. Lõpuks pidin Node Redi lisama lisaloogikat, et seda juhtuda ja seda ignoreerida.

Samm: Raspberry Pi seadistamine

Raspberry Pi seadistamine
Raspberry Pi seadistamine

Siinkohal eeldan, et teil on baas Pi seadistatud ja wifi -võrgus. Ma kasutasin Raspbiani, kuid see ei tohiks olla oluline. Kõigi seadistamiseks kasutage juhiseid saidil raspberrypi.org.

Pange tähele, et Pi -l on pordid monitori ja klaviatuuri/hiire jms kuvamiseks. AGA ilmselgelt, kui see on kella sees, ei soovi te seda. Nii et vastus, mille keegi soovitas Raspberry pi veebisaidil, oli minu arvates VNC -ühenduse loomine. See võimaldab teil ühendada teise seadmega Pi -ga ja seda ka juhtida. Teen seda oma Macist, kuid olen seda teinud ka iPadist. Kasutamise hõlbustamiseks soovitaksin kasutada midagi klaviatuuriga.

Ma lihtsalt avastasin, et need tundusid olevat ühenduse loomise järel lihtsamaks teinud … vaata siit

Põhimõtteliselt loote ühenduse ja saate akna, mis on tavaline Pi -liides.

Niisiis, teil on sülearvutist või arvutist oma Pi -le aken.

Nüüd peate servod ühendama.

Kõigepealt peate tegema üsna lihtsa jootmise, et adafruit -müts Pi -le saada. See on natuke vaevaline, kuid hoolimata sellest, et pole 30-aastase paari aasta jooksul jootnud, oli see hea. Nagu alati, leidsin selle jaoks kasuliku YouTube'i video, mis mind läbi aitas, mis oli suureks abiks.

Kuigi müts võib käivitada 16 servot, vajasin ma ainult 4 ja seega viitsin ma joota ainult esimese 4 tihvti komplekti.

Seejärel suruvad servod lihtsalt tihvtidele. Tegin kõigepealt ühe, et kontrollida, kas ma saan tõesti servo liikuma panna.

See oli koht, kus ma tabasin oma esimese suurema teetõkke. Mul oli servode liigutamiseks väga lihtne pythoni skript ja sõna otseses mõttes midagi ei juhtunud. Umbes nädal aega proovisin uusi skripte jne ja siis hakkas mütsile tekkima suits. Lülitades kõik välja, kontrollisin skeemi. See oli komponent, mis kaitseb vastupidise polaarsuse eest. Kuna mul oli mitme otsaga mitmepingeline toiteallikas, olin ma unustanud tõsiasja, et otsaku tagurpidi pööramine võib alalisvoolu väljundit mõlemas suunas suunata. Olin valesti aru saanud (50:50 võimalus) ja põlesin lihtsalt oma esimese adafruit -mütsi ära

:-(Nii et väike viivitus, kui ostsin uue, jootsin uuesti ja parandasin otsa. Palju parem.

Järgmisena pidin välja mõtlema, kuidas servod kella õigesse kohta liigutada. See tuleb 5. etapis, kuid mida ma tegin, kuna ma polnud tegelikku kella üles ehitanud, keerasin servod kergelt juhusliku puidukruvi külge kinni ja kleepisin neile noolega maskeerimislindi, nagu pildil. See andis väga visuaalse tagasiside sellele, mida ma kodeerisin.

Samm: punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)

Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)
Punase sõlme installimine (sõnumite hankimine MQTT -serverist teie Pythoni skripti)

Node-RED on programm, mille installite Pi-le, mis annab teile visuaalse liidese (teie brauseris), et saada sõnumeid oma MQTT-serverilt ja kasutada seda õige teabe edastamiseks oma pythoni skriptile (mida käsitletakse järgmises etapis (Samm 5). Kasutasin üsna palju ppeters0502 juhiseid 5. sammus. Nendes voogudes on loogikat ja pythonis täiendavat loogikat ning neid saab sõltuvalt teie eelistustest rohkem või vähem. Põhimõtteliselt peate seda tegema järgnev

  1. Kas teil on MQTT -sõnumite vastuvõtmiseks sõlmed - need on helelillad ja mul oli 1 pereliikme kohta
  2. Kaardistage see servole, mida soovite teisaldada (nummerdatud 0, 1, 2, 3)
  3. Tehke kindlaks, kas sisestate või lahkute OwnTracksi raadiusesse
  4. Tehke kindlaks, millisele asukohale see servo peab osutama

    Põhireeglitest, mida ma pidin sisse ehitama, oli mõningaid erandeid

  5. Määrake nurk õigesti

Ma lasin Node-RED-il teha esimesed 4 ja hoidsin Pythoni suhteliselt lihtsana.

Siin näete põhivoogu ja kõiki voogusid saab eksportida siinsesse vormingusse, mis tähendab, et saate selle põhivoo oma sõlme-PUNASEKS importida ja seejärel kohandada. Pange tähele, et ma eemaldasin kõik ühendused lilladest sõlmedest, nii et te ei pääse juurde minu MQTT eksemplarile. Samuti eemaldasin kõik testisõlmed, kuna need sisaldavad tegelikke andmeid … peate võib-olla muutma selle failitüübi failiks flow.json, et importida seda oma sõlme-RED-i, kuid Instructables ei lubanud mul seda üles laadida.

Rohelised sõlmed on silumissõlmed, mis kuvavad väljundi silumisaknas ekraani paremas servas (võib -olla tuleb seda laiendada - otsige paremalt poolel nool üles)

Esimene asi, mida teha, on bitt "Reaalajas - ainult silumiseks". See kontrollib, kas saate MQTT -sõnumeid vastu võtta ja näha, mis neil on. json on lihtsalt sõnumite struktureeritum versioon, mis võimaldab teil andmeid hõlpsamini välja tuua. Selles voos ühendan otse -eetris lillad sõlmed vasakul ülaosas neist paremal asuva json -sõlmega.

Testimissõlmed

Kui teate, kuidas sõnumid reaalajas välja näevad, muutub sündmuse käivitamiseks väga igavaks, kui peate kodust välja minema, mööda teed ja tagasi. Kui olete seda teinud, saate sõnumi kopeerida TEST -päästikusse ja seejärel lihtsalt sündmuse simuleerimiseks sellel klõpsata. Samuti saate andmeid muuta, et teeselda erinevate asukohtade olemasolu (veenduge, et need vastaksid täpselt Owntracksis asuvatele asukohanimedele).

Voolus on näha, et kõik testjuhtumid lähevad eraldi sõlme ja seejärel json -sõlme. Seda puhtalt ekraani korrastamiseks.

Ma ei suuda piisavalt rõhutada, kui kasulikud need sõlmed olid ja on siiani.

Pythonile helistamine

Nii ma siis tabasin järgmise teetõkke. See võttis palju foorumites guugeldamist jne. Minu voog toimiks ideaalselt, kuid see ei käivitaks minu pythoni skripti. Ma ei suutnud seda lahendada, kuid säästan teid vandest jne. Lihtsalt öeldes, et nagu teisel ekraanipildil rõhutatud, peate määrama python3, nagu ilmselt Node-RED eeldab python2, kui te seda ei määra.

2 täiendavat tüsistust - ainult vajadusel

Siis oli mul mitmeid väljakutseid, kus loogika ei töötanud päris hästi. Esiteks oli see, et Owntracks läks natuke imelikuks ja kuna mu vend elab 2 tänava kaugusel, öeldi sageli, et ma olen kahes kohas korraga või vahetasin pidevalt. Ainus viis, kuidas sellest mööda pääseda, oli lisada valepositiivsete tulemuste peatamise tingimus. Kui see väitis, et olen tema majas, siis marssisin läbi ja kontrollisin sõnumis tegelikku pikkuskraadi/laiuskraadi ning katkestasin selle, kui öeldi, et olen tegelikult kodus.

Teine probleem oli see, et koeraga jalutades ei saanud ma head raadiust. Tavaliselt jalutan samas piirkonnas, nii et siin ma ütlesin: "kui ma sellesse piirkonda sisenen, siis jalutan kindlasti koeraga ja teen seda kuni koju jõudmiseni." see tähendas, et see ei läheks üle pubile, mille ma koduteel mööda sõidan, ega mitmetesse muudesse kohalikesse kohtadesse, mis võivad koeraga jalutades vallandada. Selleks pidin ma seadistama mõned püsivad kontekstimuutujad (otsige need üles Node-RED-il. Vaadake ekraanipilti. Need muutujad püsivad kuni Node-RED-i taaskäivitamiseni ja seega võin öelda, kui koerte jalutuskäigul "Koerale". Siis ignoreerige MIDAGI muud, kui ma ei sisene koju.

Viimane ekraanipilt on minu tegelik lõppvoog koos kõigi eranditega, ainult teie huvides.

Samm: tegelikult servode liigutamine Pythoniga Pi -l

Lühike ümbersuunamine servodesse. Ma ei teadnud servodest midagi, kuid Internetis on palju teavet. Need, mida ma kasutasin, on pidevad servod, mis võivad sujuvalt 360 kraadi pöörata. Teine peamine sort on samm -servod, mis liiguvad tükkidena (sammude kaupa) ja tõusevad ilmselt ainult umbes 180 kraadini (see pole siin ilmselgelt kasulik). Stepper -servode eeliseks on see, et saate lihtsalt nurga alla panna ja nad liiguvad sellesse punkti ja peatuvad. Kogu dokumentatsioon, mille leidsin, ütles, et pidevad servod töötavad kiiruse andmise ja aja jooksul, et seda kiirust säilitada (nt täiskiirus 1 sekundiks) ja nad jõuavad sinna, kuhu nad jõuavad, kuid see on nende alguspunkti suhtes. Pärast paljusid katseid ei õnnestunud mul seda tööle saada, kuid sain katsestendi abil teada, et servod pöördusid sama nurga all järjekindlalt samasse punkti tagasi. Mis on palju lihtsam, nii et ma lihtsalt tegin seda. Võib olla mõni negatiivne külg, millest ma ei tea, kuid see töötab minu jaoks. Pange tähele, et iga servo on ainulaadne ja seega peab teil olema iga servo jaoks ainulaadne nurkade komplekt. Leidsin, et kõige lihtsam on omada kalibreeriv python -skript, kus saaksin servosid kordamööda nurkades seada, täiustades neid seni, kuni need kõik õige välja näevad. See on esimene lisatud skript. Kommenteerige lihtsalt servod, mida te ei testi, keskenduge ühele ja seejärel kohandage väärtusi vastavalt vajadusele. MÄRKUS: katsestendi kalibreerimine on lihtne ja karm ning valmis. Kella kokkupanekul peate uuesti kalibreerima, sest käigud jne muudavad kõike. Siis on teine skript üsna lihtne. See teeb järgmist

  1. Importige paar raamatukogu
  2. teisaldage sõlme-PUNASED muutujad skripti muutujate juurde
  3. kaardistab kalibreerimisskriptiga määratud nurgad kella asukohtadele.
  4. kontrollige, kas asukoht on loendist leitud, ja kui ei, siis minge jaotisse "Oht"
  5. kirjutage, mida logifailiga tehti
  6. liigutage vajalik servo vajaliku nurga alla
  7. Peatage üks servo "sumisemast" *

3 asja, mida tähele panna.

Logifail on silumiseks väga kasulik. See tähendab, et saate vaadata sõnumi Node-RED silumist ja seejärel näha, mis skriptis juhtus. väljund näeb välja selline. Esimesed kolm on see, et ma viin koera jalutama, ja siis laps 1 lahkub majast ja saabub kooli. Pange tähele, et kontrollige aega Pi -l. See võib vaikimisi olla UTC ega võimalda suve-/talveaja muutmist. Nt. allpool toodud ajad on 1 tund väljas.

2020-12-07_05: 36: 03 Kes = 0, loc = Reisimine, detail = Kodu, nurk = 10, indeks = 8

2020-12-07_05: 36: 04 Kes = 0, asukoht = koer, detail = Astons, nurk = 86,5, indeks = 10

2020-12-07_06: 07: 49 Kes = 0, asukoht = kodu, detail = sisestamine, nurk = 75, indeks = 0

2020-12-07_06: 23: 53 Kes = 2, asukoht = reisimine, detail = kodu, nurk = 19, indeks = 8

2020-12-07_06: 30: 48 Kes = 2, asukoht = kool, detail = N, nurk = 60,5, indeks = 2

Servo-sumin

Üks servodest (0) sumises pärast stsenaariumi lõppu. Nagu võite ette kujutada, on see meie köögis väga tüütu. Leidsin kusagilt niidi, kus mainiti servonurga seadmist "pole", mis seab selle kuidagi jõudeolekusse. See töötas suurepäraselt ja seda võib näha lõpus skriptis.

Ajastused

Pidage meeles, kui madalale käsi võtab ööpäevaringselt pühkimiseks. Stsenaariumist näete, et on olemas rida time.sleep (4) vahetult enne seda, kui seadsime servo surina lõpetama. Selle põhjuseks on asjaolu, et enne jõudeoleku seadmist peate laskma käel sihtkohta jõuda. Muidu see lihtsalt peatub. See on oluline ka selle kalibreerimisel, kuna teete skriptis mitmeid liigutusi. Seadistaksin selle, et see liiguks järjest kõikidesse 12 asukohta, et saaksin neid kõiki uuesti kontrollida. aga selleks on vaja natuke aega.

Samm 6: Tarkvara lõpuleviimine - telefonid servodele

Kui olete testpingi ja skriptid seadistanud, saate selle mõneks ajaks otseülekandes käivitada ja vaadata, kuidas see reaalajas töötab. Siit leidsin erandid, mis mul oli vaja lisada oma Node-RED voogu.

Kui soovite keskenduda ühele, saate Node-RED voos pereliikmeid hõlpsalt lahti ühendada ja ühendada. Näiteks kui kaks põhjustavad probleeme, kuid soovite ühe korraga parandada. Muidu pidage meeles, et saate jätkuvalt sõnumeid kõikidest ühendatud telefonidest.

Mainisin koeraga jalutamise probleemi ja venna maja üsna lähedal. Mul oli veel 2 väljakutset.

Esiteks, asukohad teistes kohtades. Mu naine käis kursusel Londoni kolledžis. Tahtsime, et see registreeritaks kui kool, kuid see on ka Londonis. Seega pidime konteksti uuesti kasutama, et öelda, et kui lahkute sellest koolist, siis minge Londonisse, mitte reisima.

Teiseks võistlustingimused. Nagu mainitud, on mu venna maja 2 tänava kaugusel ja ka meie lemmik pubi/restorani lähedal. See tähendab, et mõnikord võetakse vastu 2 signaali korraga või väga lähestikku. See võib luua "võistlustingimuse", kus saate erinevaid tulemusi sõltuvalt sellest, milline loogika kõige kiiremini läbi saab, mis toob kaasa ettearvamatuid tulemusi. Selle vastu võitlemiseks tegin kõigi sisestavate sõnumite loogikas 1 -sekundilise viivituse, mis näis probleemi lahendavat. Selle lahendamiseks võib olla paremaid, elegantsemaid viise, kuid tundus, et see töötab.

7. samm: füüsilise kella ehitamine - I osa - servod ja telg

Füüsilise kella ehitamine - I osa - servod ja telg
Füüsilise kella ehitamine - I osa - servod ja telg
Füüsilise kella ehitamine - I osa - servod ja telg
Füüsilise kella ehitamine - I osa - servod ja telg
Füüsilise kella ehitamine - I osa - servod ja telg
Füüsilise kella ehitamine - I osa - servod ja telg

Nüüd see jupp, milles ma olin kõige vähem kindel, mistõttu jätsin selle viimaseks. Tahtsin korraliku suurusega nägu ja lihtsat konstruktsiooni. Ma olin ka närvis, et sain füüsiliselt 2 servot keskteljele. See tähendas seda, et olles ebayst lühidalt vanu kellasid otsinud, nagu juhendamisel, mida ma jälgin, otsustasin anda endale rohkem võimalusi, ehitades selle ise.

  • Sain 2 suurt (~ 30cm) ruutu vineeri, mis mul ümber lamasid (umbes 9mm paksused).
  • Seejärel lõikasin vana rööbaspuu 4x10 cm suurusteks osadeks ja kruvisin esi- ja tagaplaadid kokku.
  • Olles märgistanud keskava, puurisin selle sama suurusega kui suurim messingist toru.
  • Seejärel värvisin selle tavalise valge läikiva värviga.
  • Pärast mõningast katsetamist mõistsin, et tõenäoliselt ei saa ma sama telje ümber 4 servot, kui need kõik on tagumise (või esiplaadi) külge kinnitatud. Nii et mul pidi igal plaadil olema kas 3 + 1 või 2 + 2. Lõpuks sain 3 taga ja 1 ees.
  • Töötasin paberil välja nõutud nihked ja lõikasin siis messingist torud sobivaks. Pange tähele, et kõige paksem toru on lühim ja kõige õhem peab minema tagaplaadini. (Väikseima panin tegelikult auku, mille puurisin osaliselt tagumisse plaati, kuid mitte lõpuni, nii et telg ei liikunud tahapoole).
  • Torude jaoks ostsin torulõikuri, kuid nende lõikamiseks kasutatakse survet ja see tähendab, et väiksemat toru ei saa sisse. Nii et ma kasutasin rauasaega ja pidin siis nende toimimiseks päris palju viilima. Teemant-punktviilid olid siin hindamatud.
  • Seejärel sobitasin skeemi klambrite ja hammasrataste tegeliku nihkega *.
  • Kui mul olid nihked, teadsin, kui "kõrge" on klotsid servodele paigaldada. Murdsin paar plokki, saagides need liiga õhukeseks ja puurides ka augu, et traat välja lasta.
  • Siis saabus see vaevaline osa, kuhu klotsid panna, et need teljel olevate hammasratastega täpselt kokku puutuksid. Keerasin ühe ploki sisse ja võisin siis servot pöörata teljega kokku keerates ning seejärel keerata teise ploki sisse servo teise otsa. Samuti leidsin, et mul on vaja mõnest klotsist natuke välja lõigata, et vältida teiste hammasrataste kinnijäämist. See võttis päris kaua aega.
  • Kui olin kõik valmis teinud, sain kätte oma vaarika pi korpuse, puurisin sinna kaks auku ja kruvisin selle esiplaadi külge. Siis saaksin lisada Pi, sulgeda esi- ja tagaplaadid (ühendades servod pi -ga (mäletades, milline servo millise pereliikme jaoks oli)) ja pöörduda käte poole …

* Siit leidsin suurima probleemi, mida pean veel täielikult lahendama. Messingist torud olid 1/4 ", 7/32", 3/16 ", 5/32". Kuid klambrid olid meetrilised (välja arvatud üks, mis oli 1/4 tolli). Torude muutmine meetrilisteks olid 6,35 mm, 5,56 mm, 4,76 mm 3,97 mm. Ülejäänud klambrid olid 4 mm, 5 mm ja 6 mm avaga. Väikseimad 2 ja suurimad on korras. kuid selgelt on 0,44 mm klambri jaoks liiga palju liikumist, nii et pidin selle paberiga maha panema. Olen seda mitu korda proovinud ja see töötab mõnda aega hästi ja seejärel lõdveneb uuesti. Seega suuruselt teine käsi ei tööta korralikult. Umbes 6 kuud oli see siiski hea, nii et selle hästi tegemiseks kulunud aeg oli hästi investeeritud aeg. Aga kui ma seda uuesti teeksin, oleksin võinud 1 suuruse võrra üles või alla minna, vahega proovida sobib paremini klambriga toru külge. nt 9/32 ", 1/4", (vahe), 3/16 ", 5/32"

8. samm: kella käed

Kella käed
Kella käed
Kella käed
Kella käed
Kella käed
Kella käed

Otsustasin teraspleki kasuks, kuna tahtsin midagi jäika, kuid väiksema tõenäosusega selle valmistamise ajal klõpsatama. Õhuke olemine tähendas ka seda, et 4 kätt oli vähem probleem.

  • Kõigepealt visandasin kuju.
  • Seejärel kandsin selle mõne maskeeriva lindi peal olevale terasele.
  • Siis lõikasin need väga asjatundmatult oma puslega välja. Nad olid ja on kõik erinevad, aga mul pole selle vastu midagi.
  • Siis soovitas sõber nende vormimiseks laenata tema pingiveski ja see oli suurepärane. väga soovitatav. Vastasel juhul võtab esitamine aega.
  • Vaja oli veel viilimist ja seejärel lihvimist, et vältida teravaid servi ja ka ilusat viimistlust.
  • Pidin puurima augud, et need sobiksid vastavate messingist torudega (kontrollige ära lõigatud torusid, mitte kella külge kinnitatud torusid).
  • Leidsin, et augud vajasid torudele jõudmiseks veidi viilimist, kuid kord olid need tihedad ega vaja liimi. Erandiks oli eesmine käsi, mida ma tahtsin „katta”. Nii lõikasin pärast augu puurimist ja õige suuruse saamist (enamasti) ümmarguse terasetüki välja ja liimisin selle esiküljele. seda näete viimasel pildil. Aeg -ajalt vajab eesmine käsi selle kinnitamiseks liimi, kuid pärast paari vale käivitamist töötavad käed tõesti hästi.
  • Olin fotode idee tagasi lükanud (kuna lapsed kurdavad kiiresti meie kuupäevafotode üle), seega otsustasin akrüülvärviga initsiaalidele maalida.

9. samm: lõpetage

Täielik!
Täielik!
Täielik!
Täielik!

See kõik töötab tõesti kenasti. Käed on mõnikord pisut eemal, sõltuvalt sellest, kust nad tulid, kuid tegelikult pole sellel vahet, sest iga asukoht on lõik, mitte ainult joon.

Vahel imelikult keeldub mu telefon tunnistamast, et olen kodus. Olen kaardil näidatuna selgelt Owntracksi raadiuses ja isegi siis, kui täpsus on hea … Mul pole aimugi, miks. tundub, et see ei häiri mu ülejäänud perekonda. kuid ülesehitus on sama. See tähendab, et Owntracks ei saada kunagi sõnumit ja jään filmi „Reisimine” kinni. Kuid tavaliselt laheneb see lõpuks ise.

Meie köögis on olnud ülimalt kasulik, enamasti teada saada, millal tüdrukud koolist või oma sõprade majast koju lähevad, ja millal neile süüa/teed valmistada.

Jällegi suur kübaratipp @ppeters0502 suurepäraste juhiste eest, mida järgida. Loodetavasti võivad need nelja käega kella tegemisele midagi lisada.

10. samm: asjad, mida õppisin, ja teeksin paremini/teisiti, kui peaksin seda uuesti tegema

  • Füüsilised ehitised vajavad katset ja viga. Kosmoseprobleeme pole võimalik ette ennustada, peate lihtsalt sukelduma ja proovima.
  • Koodi puhul on googeldamise probleemid hädavajalikud
  • Alustage elementaarselt ja ehitage üles. Testpingi puidul olevad servod tähendasid, et sain suurema osa sellest tööle ilma füüsilise ehitamiseta
  • Võib -olla lõin käed laseriga CNC -masinas. Kuid ma ei teadnud, kus see kohalik asub, ja mulle meeldib, kuidas lege teras töötas (see oli odav ja pingiveski tegi selle palju lihtsamaks)
  • samm -mootor võib olla võimalik, kui kasutate hammasratast 360 -pöörde saamiseks. kuid siis võivad servod olla keskteljele liiga lähedal
  • Servosid on kahte tüüpi (Futaba ja HiTech). Veenduge, et olete seda kontrollinud, kuna neil on splainis erinev arv hambaid. Ja ostsin esialgu valed …
  • Ärge ühendage mütsi vale polaarsusega;-)
  • Google ja Stack Overflow on teie sõbrad, kui nad on ummikus. Kuid peate kasutama häid otsingutermineid …
  • Testpink on tegelikult viis, kuidas saate lihtsama ja odavama versiooni palju lihtsamalt. Suurem osa ehituse tüsistustest tuleneb sellest, et käed peavad pöörlema ümber sama telje. Kui teete selles osas kompromisse, on kõik palju lihtsam. Ja ma arvan, et 4 võib olla ühe telje piir, kui võll ei lähe palju pikemaks. Ma arvan, et teil võib olla 3 esiplaadil ja kolm tagaplaadil, kui võll oleks pikem …

11. samm: võimalikud tulevased laiendused…?

Järgmiste sammude kohta tekkisid mul järgmised ideed.

  1. Tahaksin vana iPadi kellaeks muuta. st tehke digitaalkell. Võimalik, et brauseripõhine või rakendus. Kuna füüsiline kell on sisuliselt kodakondsuseta (st ta ei tea, kus see praegu asub, välja arvatud juhul, kui käed on füüsilises asendis), peaks mul olema pidev andmete salvestamine. Sõlm Punane saab kohalikule failisüsteemile välja kirjutada, nii et ma ilmselt teeksin seda.
  2. Kui ma seda teeksin, siis tahaksin näha seda väljastpoolt kodu. Aga siis on meil tõesti vaja turvalisus korda ajada. Kuna juurdepääs samasse wifi -võrku on üks asi, on juurdepääs Internetist teine. Mul pole praegu aimugi, kuidas seda kõige paremini teha, kuid ma kahtlustan, et MQTT tellimus, mis läheb teistpidi, võiks toimida (pi avaldab praeguse oleku ja välisseadmed tellivad selle) …?
  3. Tahaksin filmi „Välismaal” ühte kätt. kuid see võib olla OwnTracki seisukohast keeruline. Võib -olla võiks lihtsalt kasutada long/lat koos mõne suure raadiusega?

Soovitan: