INHOUDSOPGAWE:

Weasley' -liggingsklok met 4 hande: 11 stappe (met foto's)
Weasley' -liggingsklok met 4 hande: 11 stappe (met foto's)

Video: Weasley' -liggingsklok met 4 hande: 11 stappe (met foto's)

Video: Weasley' -liggingsklok met 4 hande: 11 stappe (met foto's)
Video: Dit ging niet zoals ik had verwacht..😳 2024, Julie
Anonim
'Weasley' -liggingsklok met 4 hande
'Weasley' -liggingsklok met 4 hande

Dus, met 'n Raspberry Pi wat al 'n rukkie rondskop, wou ek 'n lekker projek vind waarmee ek dit die beste kan benut. Ek het hierdie wonderlike Instructable Build Your Own Weasley Location Clock deur ppeters0502 teëgekom en gedink dat dit goed sou wees om dit te probeer.

Die horlosie bestaan basies uit 'n Raspberry Pi wat servo's bestuur om die klok se hande te draai. Soos in die huis van die Weasley -gesin in die Harry Potter -boeke/films, het elke familielid sy eie hand. Elke hand wys na die huidige ligging van die familielid. Die klok bereik dit deur boodskappe van die selfone van die gesin te ontvang wanneer hulle 'n voorafbepaalde radius binnegaan of verlaat.

Die belangrikste verskille met die vorige Instructable was dat ek 4 hande moes hê, nie 2 nie (anders sou my dogters gekla het) en ek het besluit om ook die raam te bou, en ek het nie 'n ou horlosie nodig om weer te gebruik nie. Dit was omdat ek bekommerd was dat ruimte 'n probleem sou wees in 'n bestaande horlosiekas, met die behoefte om 4 servo's, ens.

Dit het baie langer geneem as wat ek verwag het, maar meestal waar ek teëgekom het op probleme wat my verstom het, en wat blykbaar nie deur die oorspronklike pos gedek was nie. Niks teen die oorspronklike Instructable, wat oor die algemeen goed was, maar 'n paar jaar het verbygegaan en weergawes van dinge verander … ens. Om in die VK te wees, beteken ook dat sommige van die keiserlike/metriese elemente meer uitdagings veroorsaak as wat ek verwag het.

Alhoewel ek goed is met die kodering, het die fisiese maak van die klok my beslis gerek en het ek ekstra hulpmiddels nodig gehad, wat my ook ietwat vertraag het.

Aan die einde sal ek 'n afdeling bevat oor "Dinge wat ek anders/beter sou doen as ek dit weer sou doen …"

Benodighede:

Een van die dinge wat my opgeval het, is dat die duur komponente met die horlosies te doen het. 4 hande is beslis duurder as 2. Ek het besluit om 'n paar kostes in te sit sodat jy 'n idee het. Dit is die eerste keer dat ek dit alles bymekaar sit, en sonder om die gereedskap te ignoreer, dink ek dat ek ongeveer £ 200 bestee het. Plus 'n paar goed wat ek nie gebruik het nie (en nie hieronder ingesluit het nie) plus die Pi, plus die kragbron wat ek al gehad het.

Pi ens

  1. Framboos Pi - kan nie onthou hoeveel dit oorspronklik gekos het nie, maar dit was 'n model 2B. Ek dink dat as u nog nie een het nie, waarskynlik selfs 'n Pi Zero sou doen. Ek het 'n wifi -dongle en SD -kaart bygevoeg met Raspbian. En ek het 'n ou Android -selfoonlaaier laat lê.
  2. Adafruit Servohat vir die Pi - £ 16
  3. Kragtoevoer vir die Servohat - Dit het ek regtig gesukkel om te vind, aangesien alle webwerwe net na die adafruit -webwerf gewys het, wat natuurlik 'n Amerikaanse kragtoevoer aanbeveel. Toe besef ek dat ek 'n ou veranderlike spanningstoevoer het met verwisselbare wenke, so ek het dit gebruik. Maar die Amerikaanse een is $ 8, so dit is die balpark.
  4. Behuizing vir die Pi, sodat ek dit dan aan die klokraam kon heg. £ 5

Servo's en ratte

Hier noem ek die prys vir al 4, dus deel as u minder hande wil hê (dit is ongeveer £ 40 per hand = £ 160: -o

  1. 4 x servo's-ek gebruik die wat deur ppeters0502 aanbeveel word-op ebay gevind vir ongeveer £ 15 elk = £ 60-ek het gesoek na die volgende teks "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-degree 'maar soms was hulle nie beskikbaar nie
  2. 4 x koperbuise wat presies in mekaar pas - ~ £ 3 elk. Ek het 1 elk van 1/4 ", 7/32", 3/16 ", 5/32" = £ 11 gekry
  3. 4 x klampe wat aan die koperbuise vasgemaak word sodat u ratte kan aanheg. ~ £ 7 elk = £ 28. Ek het dit gekry van ActiveRobots wat gereeld bestellings by Servocity in die VSA doen, sodat u die internasionale aflewering kan vermy. Hulle kan ook enigiets anders kry wat u op Servocity se belangrikste Amerikaanse webwerf kan vind. Dit was baie handig vir die volgende 2 items
  4. 4 x asetiel 0.770 "patroonratte vir montering op die klemnawe. ~ £ 6 elk = £ 24
  5. 4 x asetielratte gemonteer met asetiel, gemonteer op servo's. ~ £ 6,50 elk = £ 26
  6. 1 x pakkie seskantmoere op aangehegte ratte aan klemmoere = £ 2,60
  7. 1 x 7/64 "heksleutel (inbussleutel), want alles wat uit die VSA kom, is imperiaal, dus is die honderde houtsleutels wat ek reeds het nutteloos = £ 1

Vir die fisiese bou

Hier het ek meestal dinge gebruik waaroor ek gelieg het

  1. 2 x vierkante laaghout vir die 'gesig' en 'agterkant' bord
  2. Ek sny dan 4x10 cm -silinders van 'n ou leuning wat ek gehad het, om die agterkant met die gesig te verbind
  3. 'N Paar blokke om die servo's op die regte afstand te monteer - net snyhoutsnitte wat ek op maat gesny het.
  4. Diverse skroewe. van baie klein (om Pi -omhulsel aan raam te heg) tot medium (om raam aan mekaar te heg)
  5. 0.75 mm plaat van sag staal ongeveer 50 cm x 20 cm (om die hande uit te sny). Dit was die enigste ding wat ek ~ £ 9 by Wickes gekoop het

Gereedskap

Sommige dinge het ek gehad, en sommige het ek geleen of gekoop

  1. Soldeerbout + elektriese soldeersel - om die verbindings aan die Adafruit Hat & Pi te koppel.
  2. Jigsaw - om die ruwe vorm van die hande uit te sny
  3. Boor. net 'n gewone koordlose 18V -boor
  4. Boorpunte - Hou in gedagte dat u keiserlike bore benodig om gate te maak wat by die koperbuise pas. Ek het daarin geslaag om 'n paar te leen.
  5. ystersaag - om die koperbuise te sny. Moenie doen wat ek gedoen het nie en spandeer £ 3 aan die buissnyer, dit werk onder druk en beteken dat die binnekant van die buise 'n bietjie kleiner word. sodat die buis van die volgende grootte nie daardeur pas nie
  6. Bankslypmasjien - ek het nie een hiervan nie, maar 'n vriend het dit gedoen, en dit het die hande baie makliker gemaak. Tot dan het ek net lêers gebruik. Ek sou nie net een vir hierdie projek koop nie, maar dit was wonderlik vir die metaalhande.
  7. Ek het 'n paar diamantpunte (baie klein) gekoop. nuttig vir die hande en buise teen ongeveer £ 15
  8. growwe en gladde skuurpapier
  9. 'n paar klein klampe hou dinge vas tydens die boor.
  10. 'n onderstel om dieselfde rede.

Stap 1: Stel u telefone op om hul ligging na u Pi te stuur (deel I MQTT -makelaar)

Hierdie bietjie word baie goed beskryf deur ppeters0502 in sy uitstekende Weasley Clock Instructable. Vreemd genoeg, hoewel hy miskien verskillende vaardighede weerspieël, het hy begin met die build en daarna na die sagteware gegaan, maar ek het dit andersom gedoen. Dus, ek het met die telefoon begin … wag, nee, ek het nie, ek het begin met die MQTT -makelaar, wat stap 6 in sy instruksies is. Ek sal al die stukkies wat hy goed doen, weglaat en net 'n paar stukkies ingooi wat ek kan byvoeg. Ek het die CloudMQTT -roete gevolg wat hy genoem het.

MAAR terwyl ek dit geskryf het, het ek die skakel na die planne nagegaan en gevind dat daar nie meer 'n gratis plan is nie! Hulle het dit teruggetrek, vir redelike redes. dit wil sê dat mense 'n gratis instansie sal oprig en dit dan nooit sal gebruik nie. Ek het dit nie agtergekom nie, want die huidige gevalle kan voortgaan. Ek sal dus nie verander nie. Maar dit maak die instruksies 'n bietjie oorbodig. Dit lyk asof daar 3 opsies is.

  1. Betaal $ 5 per maand vir Cloud MQTT (maar dit klink voortdurend duur vir die klok).
  2. Gaan die Mosquitto on Pi -roete soos beskryf in die eerste Instructable. Ek kan nie daaroor kommentaar lewer nie, maar dit kan 'n goeie opsie wees.
  3. Soek net 'gratis MQTT -wolkmakelaar' en dit lyk asof daar ander is.

As die veronderstelling is dat u 'n werkende MQTT -makelaar het, sal daar 'n bediener, gebruiker, wagwoord en poort vertoon word as dit iets soos die CloudMQTT is. U benodig dit alles om u telefoon op te stel om die ligging/bewegings aan die makelaar te stuur.

Stap 2: Stel u telefone op om hul ligging na u Pi te stuur (Owntracks deel II)

Dit word ook baie goed behandel in die oorspronklike Instructable, in stappe 7 (Android), 8 (iOS) en 9 (die opstel van streke).

Ek het net iOS -toestelle gehad, en ek het nie stap 7 probeer nie.

Wat sou ek by die instruksies voeg?

  1. In die opstelling is daar ook die velde TrackerID en DeviceID. Dit moet u hê om u in u gesin te kan identifiseer. Bv. Ek het dit onderskeidelik as R en RPhone gehad. Dit beteken dat u kan deurgaan na die horlosie wat Servo en dus watter hand omdraai.
  2. Streke is die naam van die plekke wat u wil volg.
  3. Elke streek word gedefinieer deur 'n Naam, 'n Breedtegraad, 'n Lengtegraad en 'n Radius.
  4. Omdat ek 'n aantal plekke as 'n afdeling op my klok wou hê, het ek 'n naamkonvensie gebruik, wat baie nuttig geblyk het. Ander metodes is moontlik, maar dit het vir my gewerk.

    • Byvoorbeeld, vir die FAMILIE -afdeling van die klok wou ek my ouers en broers en susters en my vrou se ouers en broers en susters hê. Daarom het ek plekke soos "Family Tom", "Family Dick", Family Harry "en" Family ParentsR "gehad. Dit het beteken dat die volgende fase kon weet wat om na die klok te stuur.
    • Hou in gedagte dat mense verskillende plekke kan hê. Maar solank dit in ooreenstemming is met die naamkonvensie, is dit goed. Bv. my werk sou anders wees as die werkstreek van my vrou en anders genoem word. maar solank hulle albei begin "werk", is dit goed.
  5. U wil hê dat die modus op die kaartskerm op 'beduidend' gestel is. Dit beteken dat u (meestal) slegs boodskappe kry as u streke betree of verlaat. Dit blyk die opgedateerde weergawe van die nota te wees wat BELANGRIK gemerk is: aan die einde van stap 8 in die oorspronklike Instructable.
  6. Soos in die oorspronklike Instructable genoem, is die gebruik van Google Maps 'n uitstekende manier om die Lat/Long van êrens uit te vind. Ek vind dit meer doeltreffend om dit in grootmaat te doen, om al die Lat/Longs van my ligging uit te vind, en dan plak ek dit in Notes (op my Mac) en met die wolk-sinkronisering beteken dit dat dit op 'n magiese manier op my iPhone verskyn in Notes en ek kon dit in Owntracks kopieer/plak. Dit het ook beteken dat ek die lêer na my familie se telefone kon stuur, en ons het almal vaste plekke gehad.
  7. Plekke wat naby mekaar is, kan probleme veroorsaak. My broer woon 2 strate daarvandaan, en aanvanklik het my telefoon gedink dat ek gelyktydig in die omgewing van sy huis sowel as tuis was. Uiteindelik moes ek bykomende logika in Node Red plaas om hierdie gebeurtenis op te vang en te ignoreer.

Stap 3: Die opstel van die Raspberry Pi

Die opstel van die Raspberry Pi
Die opstel van die Raspberry Pi

Dus, hier neem ek aan dat u 'n basiese Pi opgestel en op wifi het. Ek het Raspbian bedryf, maar dit behoort nie saak te maak nie. Gebruik instruksies op raspberrypi.org om alles op te stel.

Let daarop dat 'n Pi poorte het om na 'n monitor en sleutelbord/muis, ens. Vertoon te word, maar as u dit eers op die klok het, wil u dit natuurlik nie hê nie. Die antwoord, wat deur iemand op die Raspberry pi -webwerf voorgestel is, dink ek, was om 'n VNC -verbinding op te stel. Hiermee kan u vanaf 'n ander toestel aan die Pi koppel en dit ook beheer. Ek doen dit vanaf my Mac, maar het dit ook vanaf 'n iPad gedoen. Ek stel voor dat u iets met 'n sleutelbord gebruik om dit makliker te maak.

Ek het net agtergekom dit lyk asof dit dit makliker gemaak het sedert ek gekoppel het … sien hier

In wese koppel u aan en kry u 'n venster wat die standaard Pi -koppelvlak is.

U het dus 'n venster na u Pi vanaf u skootrekenaar of rekenaar.

Nou moet u die servo's koppel.

Eerstens moet u redelik basies soldeer om die adafruit -hoed op die Pi te kry. Dit is 'n bietjie ongemaklik, maar alhoewel dit 30 jaar lank nie gesoldeer was nie, was dit goed. Soos altyd het ek 'n nuttige YouTube -video gevind om dit deur te voer, wat 'n groot hulp was.

Alhoewel die hoed 16 servo's kan gebruik, het ek net 4 nodig gehad, en ek het net die eerste stel van 4 penne probeer soldeer.

Dan druk die servo's net op die penne. Ek het eers een gedoen om te kyk of ek die servo kan laat beweeg.

Dit was hier waar ek my eerste groot padblokkade bereik het. Ek het 'n baie basiese luislang -skrip gehad om die servo's te skuif en letterlik het niks gebeur nie. Ek het ongeveer 'n week lank nuwe skrifte probeer, ens. Toe begin daar rook op die hoed verskyn. As ek alles uitskakel, kyk ek na die skema. Dit was 'n komponent wat beskerm teen omgekeerde polariteit. Omdat ek 'n multi-tip, multi-voltage kragbron gehad het, het ek die feit gemis dat u die DC-uitset in beide rigtings kan laat draai deur die punt om te draai. Ek het dit verkeerd verstaan (50:50 kans) en het net my eerste adafruit hoed uitgebrand

:-(So 'n effense vertraging toe ek 'n nuwe een koop, weer soldeer en die punt regstel. Baie beter.

Daarna moes ek uitvind hoe om die servo's na die regte punt op die klok te skuif. Dit sal in stap 5 kom, maar wat ek wel gedoen het, sonder om die werklike klok te bou, was om die servo's liggies aan 'n stukkie hout vas te skroef en 'n paar maskeerband vas te plak met 'n pyltjie daarop, soos op die foto. Dit het 'n baie visuele terugvoer gegee oor wat ek gekodeer het.

Stap 4: Installeer Node Red (stuur die boodskappe van MQTT -bediener na u Python -script)

Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)
Node Red installeer (die boodskappe van die MQTT -bediener na u Python -script kry)

Node-RED is 'n program wat u op die Pi installeer, wat u 'n visuele koppelvlak (in u blaaier) gee om boodskappe van u MQTT-bediener te ontvang en dit te gebruik om die korrekte inligting na u python-script te stuur (behandel in die volgende stap (Stap 5). Ek het die instruksies van ppeters0502 in stap 5. amper gebruik. Daar is logika in hierdie vloei, en bykomende logika in die luislang, en u kan min of meer alles hê, afhangende van u voorkeur. Eintlik moet u dit doen die volgende

  1. Ek het nodusse ontvang vir die MQTT -boodskappe - dit is ligpers en ek het 1 per familielid
  2. Gee dit aan die servo wat u wil skuif (genommer 0, 1, 2, 3)
  3. Bepaal of u 'n radius op OwnTracks binnegaan of verlaat
  4. Bepaal watter ligging die servo moet wys

    Daar was enkele uitsonderings op die basiese reëls wat ek moes inbou

  5. Stel die hoek reg

Ek het Node-RED die eerste 4 gedoen, en ek het die Python relatief eenvoudig gehou.

U kan die basiese vloei hier sien, en alle vloei kan hier in die formaat uitgevoer word, wat beteken dat u hierdie basiese vloei in u Node-RED kan invoer en dan kan aanpas. Let daarop dat ek alle verbindings van die pers nodes verwyder het, sodat u nie toegang tot my MQTT -instansie het nie. Ek het ook al die toetsknope gestroop omdat dit werklike data bevat … u moet hierdie lêertipe dalk verander na flows.json om in u Node-RED in te voer, maar Instructables het my nie toegelaat om dit op te laai nie.

Die groen knope is ontfoutingsknooppunte wat dan die uitset in die ontfoutingsvenster aan die regterkant van die skerm vertoon (moet moontlik uitgebrei word - vind die pyl halfpad regs)

Die eerste bietjie wat u moet doen, is die 'Live - slegs vir ontfouting'. Dit kontroleer dat u die MQTT -boodskappe kan ontvang en sien wat daarin is. json is net 'n meer gestruktureerde weergawe van die boodskappe waarmee u die data makliker kan uitneem. In hierdie stroom, as ek lewendig is, verbind ek dan die pers knope links bo aan die json -knoop regs van hulle.

Toets nodusse

As u eers weet hoe die boodskappe regstreeks gaan lyk, word dit baie vervelig om by u huis uit te gaan, in die pad en terug, net om 'n gebeurtenis te veroorsaak. Sodra u dit gedoen het, kan u die boodskap na 'n TEST -sneller kopieer, en dan net daarop klik om die gebeurtenis te simuleer. U kan ook die data verander, asof hulle vir verskillende plekke is (maak seker dat hulle presies ooreenstem met die liggingname in Owntracks).

U kan in die stroom sien dat die toetsgevalle almal in 'n aparte knoop ingaan en dan in die json -knoop. Dit is bloot om die skerm op te ruim.

Ek kan nie genoeg beklemtoon hoe nuttig hierdie nodusse was nie en steeds is.

Bel Python

So slaan ek toe die volgende padblokkade. Hierdie een het 'n baie googling in forums, ens. My vloei sou perfek werk, maar dit sou nie my python script. Ek kon dit nie uitwerk nie, maar ek sal u die vloek, ens. Spaar. Net om te sê dat, soos aangedui in die tweede skermkiekie, u python3 moet spesifiseer, aangesien Node-RED blykbaar python2 veronderstel, tensy u dit spesifiseer.

2 ekstra komplikasies - slegs indien nodig

Ek het toe 'n aantal uitdagings gehad waar die logika nie heeltemal gewerk het nie. Eerstens was dit dat Owntracks 'n bietjie vreemd gegaan het, en omdat my broer 2 strate daarvandaan woon, word daar gereeld gesê dat ek op twee plekke tegelyk was, of ek het voortdurend gewissel. Die enigste manier waarop ek dit kon regkry, was om by te voeg in 'n toestand om vals positiewe dinge te stop. As dit beweer dat ek by sy huis is, het ek die werklike lengte-/breedtegraad in die boodskap nagegaan en dit afgebreek as daar gesê word dat ek eintlik tuis is.

Die ander probleem was dat ek nie 'n goeie radius kon kry as ek met my hond loop nie. Ek loop gewoonlik in dieselfde omgewing, so hier het ek gesê: "As ek hierdie gebied binnekom, loop ek beslis met die hond, en sal dit bly totdat ek by die huis kom." dit het beteken dat dit nie sou oorgaan na die kroeg waar ek langs die pad huis toe gaan nie, of na verskeie ander plaaslike plekke wat kan veroorsaak as ek met honde loop. Om dit te kon doen, moes ek 'n paar aanhoudende konteksveranderlikes opstel (kyk dit op Node-RED. Sien skermkiekie. Hierdie veranderlikes duur voort totdat Node-RED weer begin is, en ek kan sê As u op 'n hond loop, stel die konteksveranderlike in "Dog". Ignoreer dan ALLES anders tensy ek by die huis inkom.

Die laaste skermkiekie is die enigste van my werklike finale stroom, met alle uitsonderings, net vir u belangstelling.

Stap 5: Verander eintlik servo's met Python op die Pi

'N Kort afleiding na servo's. Ek het niks geweet van servo's nie, maar daar is baie inligting aanlyn. Diegene wat ek gebruik het, is deurlopende servo's wat 360 grade en glad kan draai. Die ander hoofsoorte is stepper servo's wat in stukke beweeg (stappe) en blykbaar slegs tot ongeveer 180 grade styg (duidelik nie bruikbaar hier nie). Die voordeel van stepper servo's is dat u net in 'n hoek kan sit, en hulle beweeg na daardie punt en stop. Al die dokumentasie wat ek gevind het, sê dat deurlopende servo's werk deur 'n spoed te kry, en 'n tyd om die spoed te behou (bv. Volspoed vir 1s) en hulle eindig waar hulle eindig, maar dit is relatief tot hul beginpunt. Na baie pogings kon ek dit nie aan die gang kry nie, maar het met behulp van die toetsbank agtergekom dat servo's konsekwent na dieselfde punt terugkeer, gegewe dieselfde hoek. Dit is baie makliker, so ek het dit net gedoen. Daar is miskien 'n nadeel waarvan ek nie weet nie, maar dit werk vir my. Let egter daarop dat elke servo uniek is, en dat u dus 'n unieke stel hoeke vir elke servo moet hê. Ek vind dit die maklikste om 'n 'kalibrasie' -luislang te hê, waar ek die servo's om die beurt in hoeke kan stel, totdat hulle almal reg lyk. Dit is die eerste skrif wat aangeheg is. U lewer net kommentaar op die servo's wat u nie toets nie, konsentreer u daarop en pas die waardes aan soos u benodig. LET WEL: die kalibrasie vir die toetsbank is eenvoudig en grof en gereed. U moet herkalibreer wanneer die horlosie gekombineer word, want die ratte, ens, verander alles. Dan is die tweede skrif redelik basies. Dit doen die volgende

  1. Voer 'n paar biblioteke in
  2. skuif die veranderlikes wat van Node-RED kom na veranderlikes in die script
  3. karteer die hoeke wat deur die kalibrasie -skrif bepaal word, na die plekke op die klok.
  4. kyk of die ligging in die lys gevind word, en indien nie, gaan dan na "Gevaar"
  5. skryf wat met 'n loglêer gedoen is
  6. skuif die vereiste servo na die vereiste hoek
  7. Verhoed dat een servo 'gons' *

3 dinge om op te let.

Die log-lêer is baie handig vir ontfouting. Dit beteken dat u na die Node-RED-ontfouting van 'n boodskap kan kyk en dan kan sien wat in die script gebeur het. die uitset lyk so. Die eerste drie is dat ek die hond gaan stap, en dan dat kind 1 die huis verlaat en by die skool aankom. Let op om die tyd op die Pi te kontroleer. Dit is standaard UTC, en dit laat nie die somer-/wintertyd toe nie. Bv. die onderstaande tye is 1 uur uit.

2020-12-07_05: 36: 03 Wie = 0, loc = Reis, detail = Huis, Hoek = 10, indeks = 8

2020-12-07_05: 36: 04 Wie = 0, loc = Hond, detail = Astons, Hoek = 86,5, indeks = 10

2020-12-07_06: 07: 49 Wie = 0, loc = Home, detail = invoer, Hoek = 75, indeks = 0

2020-12-07_06: 23: 53 Wie = 2, loc = Reis, detail = Huis, Hoek = 19, indeks = 8

2020-12-07_06: 30: 48 Wie = 2, loc = Skool, detail = N, Hoek = 60,5, indeks = 2

Servo-gons

Een van die servo's (0) het aan die gons bly na die einde van die draaiboek. Soos u kan dink, is dit baie irriterend om in ons kombuis te hê. Ek het iewers 'n draad gevind waarin die servohoek op 'geen' gestel is, wat dit op een of ander manier ledig stel. Dit het skitterend gewerk en kan aan die einde in die draaiboek gesien word.

Tydsberekeninge

Hou in gedagte hoe laag 'n hand neem om die klok rond te vee. U kan in die skrif sien dat daar 'n time.sleep (4) -reël is net voor ons die servo stel om op te hou gons. Dit is omdat u die hand moet toelaat om by sy bestemming uit te kom voordat u dit op ledig stel. Anders stop dit net. Dit is ook belangrik wanneer u dit kalibreer, omdat u verskeie bewegings binne die script doen. Ek stel dit aan die beurt om na al die 12 plekke om die beurt te beweeg, sodat ek hulle almal weer kan kontroleer. maar jy het 'n bietjie tyd tussenin nodig.

Stap 6: Die afhandeling van die sagteware - telefone na servo's

As u eers die toetsbank en die skrifte opgestel het, kan u dit 'n rukkie 'live' uitvoer en kyk hoe dit intyds werk. Dit is waar ek die uitsonderings gevind het wat ek by my Node-RED-stroom moes voeg.

U kan gesinslede maklik in die Node-RED-stroom ontkoppel en verbind as u op een daarvan wil konsentreer. Byvoorbeeld, as twee probleme veroorsaak, maar u wil een vir een regmaak. Andersins, hou in gedagte dat u sal voortgaan om boodskappe van alle gekoppelde telefone te ontvang.

Ek het genoem dat die probleem is dat honde loop en my broer se huis baie naby is. Ek het 2 ander uitdagings gehad.

Eerstens, plekke binne ander plekke. My vrou was besig met 'n kursus by 'n kollege in Londen. Ons wou hê dat dit as 'School' sou registreer, maar dit is ook in 'London'. Ons moes dus die konteks weer gebruik om te sê dat as u die 'skool' verlaat, dan na 'Londen' verhuis, nie 'Reis'.

Tweedens, wedlooptoestande. Soos genoem, is my broer se huis 2 strate ver, en ook naby ons gunsteling kroeg/restaurant. Dit beteken dat soms 2 seine gelyktydig of baie na aan mekaar ontvang word. Dit kan 'n 'wedloopstoestand' opstel, waarvolgens u verskillende uitkomste kry, afhangende van watter logika die vinnigste deurkom, wat tot onvoorspelbare uitkomste kan lei. Om dit teen te werk, het ek 'n vertraging van 1 in die logika van alle 'inskrywings' -boodskappe veroorsaak, wat die probleem blykbaar opgelos het. Daar is moontlik beter, meer elegante maniere om dit op te los, maar dit lyk asof dit werk.

Stap 7: Bou die fisiese klok - Deel I - die servo's en as

Bou van die fisiese klok - Deel I - die servo's en as
Bou van die fisiese klok - Deel I - die servo's en as
Bou van die fisiese klok - Deel I - die servo's en as
Bou van die fisiese klok - Deel I - die servo's en as
Bou van die fisiese klok - Deel I - die servo's en as
Bou van die fisiese klok - Deel I - die servo's en as

Nou die bietjie waaroor ek die minste vertroue gehad het, en daarom het ek dit laat bly. Ek wou 'n behoorlike grootte gesig en 'n maklike konstruksie hê. Ek was ook senuweeagtig om fisies 2 servo's om die sentrale as te kry. Dit het beteken dat ek, nadat ek kort na ebay gekyk het na ou horlosies soos in die instruksies wat ek gevolg het, besluit het om myself meer kanse te gee deur dit self te bou.

  • Ek het 2 groot (~ 30 cm) vierkante laaghout gekry wat ek laat lê het (ongeveer 9 mm dik).
  • Toe sny ek 'n ou banierrail in dele van 4x10cm en skroef die voor- en agterplate vas.
  • Nadat ek die middelste gat gemerk het, het ek dit geboor tot dieselfde grootte as die grootste koperbuis.
  • Toe verf ek dit met gewone wit glansverf.
  • Na 'n bietjie eksperimenteer het ek besef dat ek waarskynlik nie 4 servo's om dieselfde as kon kry as hulle almal aan die agterkant (of voorkant) geheg was nie. Dus moes ek 3 + 1 of 2 + 2 op elke bord hê. Ek eindig met 3 agter en 1 aan die voorkant.
  • Ek het die vereiste verrekenings op 'n stuk papier uitgewerk en dan die koperbuise gesny. Let daarop dat die dikste buis die kortste is, en die dunste moet tot by die agterplaat kom. (Ek het eintlik die kleinste een in 'n gat ingebed wat ek gedeeltelik in die agterplaat geboor het, maar nie heeltemal sodat die as nie agteruit beweeg nie).
  • Vir die buise het ek 'n buissnyer gekoop, maar dit gebruik druk om dit te sny, en dit beteken dat u nie die kleiner buis binne kan kry nie. Ek het dus 'n ystersaag gebruik en moes 'n redelike hoeveelheid lêers doen om hulle aan die werk te kry. Die diamantpuntlêers was hier van onskatbare waarde.
  • Toe pas ek die diagram by die werklike verrekenings vir die klampe en tandwiele *.
  • Sodra ek die offset gehad het, het ek geweet hoe hoog die blokke was om die servo's te monteer. Ek het 'n paar blokke gebreek deur dit te dun te saag en ook die gat te boor om die draad uit te laat.
  • Toe kom die moeilike deel van die plek om die blokke te plaas, sodat hulle presies die tandwiele op die as sou ontmoet. Ek het die een blok ingeskroef en dan die servo kon draai om die as te ontmoet, en dan die ander kant van die servo in die tweede blok in te skroef. Ek het ook gevind dat ek 'n bietjie uit 'n paar blokke moes sny om te verhoed dat ander ratte vasgekeer word. Dit het nogal 'n rukkie geneem.
  • Nadat ek dit alles gedoen het, het ek my framboos -pi -houer gekry, twee gate daarin geboor en aan die voorplaat vasgeskroef. Dan kon ek die Pi byvoeg, die voor- en agterplate toemaak (nadat ek die servo's aan die pi gekoppel het (onthou watter servo vir watter familielid was) en na die hande gedraai …

* Hier het ek die grootste probleem gevind wat ek nog nie heeltemal moes oplos nie. Die koperbuise was 1/4 ", 7/32", 3/16 ", 5/32". Maar die klampe was metriek (behalwe een wat 1/4 "was). Die buise in metriek was 6,35 mm, 5,56 mm, 4,76 mm 3,97 mm. Die oorblywende klemme was 4 mm, 5 mm en 6 mm. Die kleinste 2 en die die grootste is goed, maar die 0,44 mm is duidelik te veel reis vir die klem, so ek moes dit met papier uitsteek. Ek het dit al 'n paar keer probeer en dit werk 'n rukkie goed en word dan weer los. die hand werk nie behoorlik nie. Dit was egter ongeveer 6 maande goed, so die tyd wat u daaraan bestee het, was tyd om te belê. Maar as ek dit weer doen, het ek miskien 1 maat op of af gegaan, met 'n gaping om te probeer kry 'n beter pas by die buis. Byvoorbeeld, kies 9/32 ", 1/4", (gaping), 3/16 ", 5/32"

Stap 8: Die klokhande

Die klokhande
Die klokhande
Die klokhande
Die klokhande
Die klokhande
Die klokhande

Ek het besluit op plaatstaal, want ek wou iets rigieds hê, maar minder geneig om te snap terwyl ek dit maak. Om ook dun te wees, beteken dat 4 hande minder 'n probleem was.

  • Eers het ek 'n vorm geskets.
  • Toe plaas ek dit bo -op 'n maskeerband op die staal.
  • Toe sny ek hulle baie onvakkundig met my legkaart uit. Hulle was en is almal anders, maar ek gee nie om nie.
  • Toe stel 'n vriend voor dat ek sy bankmasjien leen om dit te vorm, en dit was wonderlik. sterk aanbeveel. Andersins neem die indiening tyd.
  • Daar was nog 'n bietjie vylwerk om te doen en dan te skuur om geen skerp kante en 'n mooi afwerking te verseker nie.
  • Ek moes gate boor om by die onderskeie koperbuise te pas (gebruik afgesnyde buise om te kyk, nie die gemonteerde op die klok nie).
  • Ek het gevind dat die gate 'n bietjie vulling nodig het om dit op die buise te kry, maar dit was styf en het geen gom nodig nie. Die uitsondering was die voorste hand wat ek 'n 'voorblad' wou hê. Dus sny ek 'n (meestal) ronde stuk staal uit, nadat ek die gat geboor het en dit in die regte grootte gekry het, en dit aan die voorkant gomgom. jy kan dit op die laaste foto sien. Soms benodig die voorhand 'n bietjie gom om dit vas te maak, maar na 'n paar vals begin werk die hande baie goed.
  • Ek het die idee van foto's verwerp (omdat kinders vinnig sou kla oor ons date -foto's), en ek het besluit om op voorletters met akrielverf te skilder.

Stap 9: Voltooi

Voltooi!
Voltooi!
Voltooi!
Voltooi!

Dit werk alles baie lekker. Die hande is soms 'n bietjie af, afhangende van waar hulle vandaan kom, maar eintlik maak dit nie saak nie, want elke plek is 'n gedeelte, nie net 'n lyn nie.

Soms weier my telefoon soms om te erken dat ek tuis is. Ek is duidelik binne die Owntracks -radius wanneer dit op die kaart verskyn, en selfs as die akkuraatheid goed is … weet ek nie hoekom nie. lyk nie asof dit die res van my gesin teister nie. maar die opset is dieselfde. Dit beteken dat Owntracks nooit 'n boodskap stuur nie en ek sit vas in 'Reis'. Maar dit word gewoonlik uiteindelik opgelos.

Dit was baie handig om in ons kombuis te hê, meestal om te weet wanneer die meisies van die skool af huis toe gaan, of die huise van hul vriende, en dan om kos/tee vir hulle gereed te hê.

Weereens 'n groot dank aan @ppeters0502 vir die goeie instruksies om te volg. Hopelik kan dit iets byvoeg om 'n horlosie met 4 hande te maak.

Stap 10: Dinge wat ek geleer het en beter/anders sou doen as ek dit weer moes doen

  • Fisiese konstruksies het beproewing en foute nodig. Daar is geen manier om die ruimteprobleme te voorspel nie; u hoef net in te duik en te probeer.
  • Vir kode is probleme met googel noodsaaklik
  • Begin basies en bou op. Die servo's op die toetsbankhout het beteken dat ek die meeste daarvan sonder die fisiese bouwerk kon laat werk
  • Ek het miskien die hande met 'n laser gesny by 'n CNC -masjien. Maar ek het nie geweet waar die plaaslike een is nie, en ek hou van hoe die sagte staal uitwerk (dit was goedkoop en die bankmaal maak dit baie makliker)
  • 'n Stepper -motor kan moontlik wees as u die ratkas 360 ° draai. maar dan moet u miskien die servo's te naby aan die sentrale as hê
  • Daar is 2 soorte servo (Futaba en HiTech). Maak seker dat u dit nagegaan het, aangesien hulle verskillende tande op die spline het. En ek het aanvanklik die verkeerde gekoop …
  • Moenie die hoed met die verkeerde polariteit verbind nie;-)
  • Google en Stack Overflow is jou vriende as hulle vas is. Maar u moet goeie soekterme gebruik …
  • Die toetsbank is eintlik 'n manier om 'n eenvoudiger, goedkoper weergawe baie makliker te kry. Die grootste komplikasie met die bou is dat die hande om dieselfde as moet draai. As u daaroor kompromitteer, is dit baie makliker. En ek dink dat 4 die limiet van die enkele as kan wees, tensy die as baie langer word. U sou waarskynlik drie op die voorplaat en drie op die agterplaat hê as die as langer was …

Stap 11: Moontlike toekomstige uitbreidings …?

Die idees wat ek oor die volgende stappe gehad het, is soos volg.

  1. Ek wil graag 'n ou iPad as die horlosie herbedoel. dws maak 'n digitale horlosie. Moontlik blaaiergebaseer of 'n app. Aangesien 'n fisiese klok in wese staatloos is (dws dit weet nie waar dit tans is nie, behalwe omdat die hande in 'n fisiese posisie is), sou ek 'n volgehoue stoor data moes hê. Node Red kan aan die plaaslike lêerstelsel uitskryf, so ek sal dit waarskynlik doen.
  2. As ek dit gedoen het, sou ek dit van buite die huis wou sien. Maar dan moet ons die sekuriteit regtig uitsorteer. Omdat toegang binne dieselfde wifi -netwerk een ding is, is toegang vanaf die internet 'n ander ding. Ek het tans geen idee hoe ek dit die beste kan doen nie, maar ek vermoed dat 'n MQTT -intekening andersom kan werk (pi publiseer die huidige status en eksterne toestelle teken daarop in …)?
  3. Ek wil nogal een hand vir 'in die buiteland' hê. maar dit kan kompleks wees vanuit 'n OwnTracks -oogpunt. Miskien kan u net lang/lat gebruik, gekombineer met 'n paar groot radiusse?

Aanbeveel: