Satura rādītājs:

Vizlija atrašanās vietas pulkstenis ar 4 rokām: 11 soļi (ar attēliem)
Vizlija atrašanās vietas pulkstenis ar 4 rokām: 11 soļi (ar attēliem)

Video: Vizlija atrašanās vietas pulkstenis ar 4 rokām: 11 soļi (ar attēliem)

Video: Vizlija atrašanās vietas pulkstenis ar 4 rokām: 11 soļi (ar attēliem)
Video: Страшные истории. ЗАПЕРТАЯ КОМНАТА. Деревенские страшилки. Ужасы. Мистика. 2024, Novembris
Anonim
Vizlija atrašanās vietas pulkstenis ar 4 rokām
Vizlija atrašanās vietas pulkstenis ar 4 rokām

Tātad, ar Raspberry Pi, kas kādu laiku bija virzījies apkārt, es gribēju atrast jauku projektu, kas ļautu to vislabāk izmantot. Es saskāros ar šo lielisko pamācāmo veidojamo pulksteņa “Veiclija atrašanās vietas pulksteni” autoru ppeters0502 un domāju, ka būtu labi izmēģināt.

Pulkstenis pamatā sastāv no Raspberry Pi, kas kontrolē servos, lai pagrieztu pulksteņa rādītājus. Tāpat kā Vīzliju ģimenes mājā Harija Potera grāmatās/filmās, katram ģimenes loceklim ir sava roka. Katra roka norāda uz šī ģimenes locekļa pašreizējo atrašanās vietu. Pulkstenis to sasniedz, saņemot ziņas no ģimenes mobilajiem tālruņiem ikreiz, kad tie ieiet vai atstāj iepriekš noteiktu rādiusu.

Galvenās atšķirības no iepriekšējās Instructable bija tādas, ka man vajadzēja 4 rokas, nevis 2 (citādi manas meitas būtu sūdzējušās), un es nolēmu uzbūvēt arī rāmi, nevis iegūt veco pulksteni atkārtotai izmantošanai. Tas bija tāpēc, ka man bija bažas, ka telpa būs problēma esošā pulksteņa korpusā, jo ir jāiekļaujas 4 servos utt.

Tas aizņēma daudz ilgāku laiku, nekā es paredzēju, lai gan lielākoties es saskāros ar viltīgām problēmām, kas mani satrieca un kuras, šķiet, nebija ietvertas sākotnējā ziņojumā. Nekas nav pretrunā ar sākotnējo Instructable, kas kopumā bija lielisks, taču bija pagājuši daži gadi un lietas versijas mainījās … utt. Arī atrašanās Lielbritānijā nozīmēja, ka daži no Imperial/Metric elementiem radīja vairāk izaicinājumu, nekā es gaidīju.

Turklāt, lai gan ar kodēšanu man viss ir kārtībā, pulksteņa fiziskā izgatavošana mani noteikti izstiepa un prasīja dažus papildu rīkus, kas arī mani nedaudz palēnināja.

Noslēgumā es iekļaušu sadaļu "Lietas, ko es darītu citādi/labāk, ja es to darītu vēlreiz …"

Piegādes:

Viena no lietām, kas mani pārsteidza, bija tā, ka dārgās detaļas bija saistītas ar pulksteņa rādītājiem. 4 rokas noteikti ir daudz dārgākas nekā 2. Es nolēmu iekļaut dažas izmaksas, lai jums būtu kāda ideja. Šī ir pirmā reize, kad es to visu pievienoju, un, neņemot vērā instrumentus, es domāju, ka iztērēju aptuveni 200 sterliņu mārciņu. Plus dažas lietas, kuras es neizmantoju (un kuras nav iekļautas zemāk), kā arī Pi, kā arī barošanas avots, kas man jau bija.

Pi utt

  1. Raspberry Pi - neatceros, cik tas sākotnēji maksāja, bet tas bija modelis 2B. Es domāju, ka, ja jums tāda vēl nav, iespējams, pat Pi Zero to darītu. Man bija pievienots wifi dongle un SD karte ar Raspbian. Un man apkārt gulēja vecs Android tālruņa lādētājs.
  2. Adafruit Servohat Pi - 16 £
  3. Barošanas avots servohatam - to es patiešām centos atrast, jo visas vietnes tikai norādīja uz adafruit vietni, kas pēc tam acīmredzami iesaka ASV barošanas avotu. Tad es sapratu, ka man ir vecs mainīga sprieguma padeve ar maināmiem galiem, tāpēc es to izmantoju. Bet ASV cena ir 8 ASV dolāri, tāpēc tā ir bumba.
  4. Korpuss priekš Pi, lai pēc tam varētu to piestiprināt pulksteņa rāmim. £ 5

Servo un pārnesumi

Šeit es citēju visu 4 cenu, tāpēc sadaliet, ja vēlaties mazāk roku (saskaitot to, tas ir ~ 40 sterliņu mārciņas uz roku = 160 sterliņu mārciņu: -o

  1. 4 x servos-es izmantoju tos, ko ieteica ppeters0502-atradu ebay par ~ 15 £ katrs = 60 £-es meklēju šādu tekstu "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-grāds "Bet dažreiz tie nebija pieejami
  2. 4 x misiņa caurules, kas precīzi ievietotas viena otrai - ~ 3 £ katra. Man ir 1 pa 1/4 ", 7/32", 3/16 ", 5/32" = 11 £
  3. 4 x skavas, kas piestiprināmas pie misiņa caurulēm, lai varētu piestiprināt zobratus. ~ 7 £ katrs = 28 GBP. Es tos saņēmu no ActiveRobots, kuri regulāri veic pasūtījumus no Servocity ASV, ļaujot jums izvairīties no starptautiskās piegādes. Viņi var iegūt arī visu citu, ko varat atrast Servocity galvenajā ASV vietnē. Tas bija ļoti ērti nākamajiem 2 priekšmetiem
  4. 4 x 0,770 collu acetila pārnesumi, kas paredzēti stiprināšanai uz rumbām. ~ 6 £ katrs = 24 £
  5. 4 x acetila splaina montēti acetila pārnesumi, kas paredzēti uzstādīšanai uz servo. ~ £ 6.50 katrs = £ 26
  6. 1 x sešstūra uzgriezņu komplekts piestiprinātiem zobratiem pie stiprināšanas uzgriežņiem = 2,60 £
  7. 1 x 7/64 collu sešstūra atslēga (sešstūra atslēga), jo viss, kas nāk no ASV, ir imperatora raksturs, tāpēc simtiem sešstūra atslēgu, kas man jau ir, ir bezjēdzīgi = £ 1

Par fizisko uzbūvi

Šeit es galvenokārt izmantoju atgriezumus lietām, par kurām es meloju

  1. 2 x saplākšņa kvadrātiņi “sejas” un “aizmugures” plāksnei
  2. Pēc tam es nogriezu 4x10 cm balonus no manas vecās sliedes sliedes, lai savienotu muguru ar seju
  3. Daži bloki servu uzstādīšanai pareizajā nobīdē - tikai skujkoku atgriezumi, kurus es sagriezu pēc izmēra.
  4. Dažādas skrūves. no ļoti maza (lai piestiprinātu Pi korpusu pie rāmja) līdz vidējam (lai kopā piestiprinātu rāmi)
  5. 0,75 mm viegla tērauda loksne, apmēram 50 x 20 cm (lai izgrieztu rokas). Tas bija vienīgais, ko no Wickes nopirku ~ 9 £

Rīki

Dažas lietas man bija un dažas es aizņēmos vai nopirku

  1. Lodāmurs + elektriskais lodmetāls - savienotāju piestiprināšanai pie Adafruit Hat & Pi.
  2. Finierzāģis - roku aptuvenās formas izgriešanai
  3. Urbis. tikai parasts bezvadu 18V urbis
  4. Urbji - paturiet prātā, ka jums būs nepieciešami imperatora urbji, lai izveidotu caurumus, kas atbilst misiņa caurulēm. Man izdevās dažus aizņemties.
  5. zāģis - misiņa cauruļu griešanai. Nedariet to, ko es darīju, un tērējiet 3 mārciņas cauruļu griezējam, tas darbojas spiediena dēļ un nozīmē, ka cauruļu iekšpuse kļūst nedaudz mazāka. tāpēc nākamā izmēra caurule neietilpst cauri
  6. Sols dzirnaviņas - man nebija neviena no šīm, bet draugam bija, un tas ievērojami atviegloja roku veidošanu. Līdz tam es tikai izmantoju failus. Es nepirktu tādu tikai šim projektam, bet metāla rokām tas bija lieliski.
  7. Es nopirku dažus dimanta punktu failus (ļoti mazus). noderīga rokām un caurulēm aptuveni £ 15
  8. raupja un gluda smilšpapīrs
  9. dažas mazas skavas urbšanas laikā notur lietas vietā.
  10. netikums tā paša iemesla dēļ.

1. darbība: iestatiet savus tālruņus, lai nosūtītu to atrašanās vietu uz jūsu Pi (I daļa MQTT brokeris)

Šo bitu ļoti labi raksturo ppeters0502 savā izcilajā Weasley Clock Instructable. Savādi, lai gan varbūt tas atspoguļo dažādas prasmes, viņš sāka ar uzbūvi un pēc tam pārcēlās uz programmatūru, es to darīju otrādi. Tātad, es sāku ar tālruni… pagaidiet, nē, es to nedarīju, es sāku ar MQTT brokeri, kas ir 6. solis viņa pamācībā. Es izlaidīšu visus fragmentus, ko viņš dara ļoti labi, un vienkārši iemetu dažus gabaliņus, kurus es varētu pievienot. Es devos uz viņa minēto CloudMQTT maršrutu.

BET rakstot šo, es pārbaudīju saiti uz plāniem un atklāju, ka bezmaksas plāna vairs nav! Viņi to atsauca pamatota iemesla dēļ. i., ka cilvēki izveidos bezmaksas instanci un pēc tam to nekad neizmantos. Es to nepamanīju, jo pašreizējās instances var turpināties. Tāpēc es nemainīšos. Bet tas padara instrukcijas nedaudz liekas. Šķiet, ka ir 3 iespējas.

  1. Maksājiet USD 5 mēnesī par Cloud MQTT (bet tas pulkstenim izklausās dārgi).
  2. Dodieties uz Mosquitto pa Pi maršrutu, kā aprakstīts pirmajā pamācībā. Es nevaru to komentēt, bet tas varētu būt labs risinājums.
  3. Vienkārši googlē "bezmaksas MQTT mākoņu brokeris", un izskatās, ka ir vēl daži.

Tātad, pieņemot, ka jums ir strādājošs MQTT brokeris, ja tas ir kaut kas līdzīgs CloudMQTT, tad tiks parādīts serveris, lietotājs, parole un ports. Tas viss būs nepieciešams, lai iestatītu savus tālruņus, lai brokeris nosūtītu jūsu atrašanās vietas/kustības.

2. solis: iestatiet savus tālruņus, lai nosūtītu to atrašanās vietu uz jūsu Pi (II daļa Owntracks)

Tas ir ļoti labi aprakstīts arī sākotnējā instrukcijā Instructable, 7. (Android), 8. (iOS) un 9. (reģionu iestatīšana) darbībās.

Man bija tikai iOS ierīces, tāpēc nemēģināju 7. darbību.

Ko es pievienotu šīm instrukcijām?

  1. Iestatījumā ir arī lauki TrackerID un DeviceID. Jums vajadzētu būt iespējai identificēt jūs savā ģimenē. Piem. Man tie bija attiecīgi kā R un RPhone. Tas nozīmē, ka jūs varat pāriet uz pulksteni, kuru Servo un līdz ar to arī kuru roku pagriezt.
  2. Reģioni ir to atrašanās vietu nosaukums, kurām vēlaties izsekot.
  3. Katru reģionu nosaka nosaukums, platums, garums un rādiuss.
  4. Tā kā es vēlējos, lai manā pulkstenī viena sadaļa būtu vairākas atrašanās vietas, es izmantoju nosaukumu piešķiršanas metodi, kas izrādījās ļoti noderīga. Ir iespējamas arī citas metodes, bet man tas izdevās.

    • Piemēram, pulksteņa sadaļai ĢIMENE es vēlējos, lai man būtu vecāki un brāļi un māsas, un sievas vecāki un brāļi un māsas. Tāpēc man bija tādas vietas kā “Ģimenes Toms”, “Ģimenes Diks”, Ģimenes Harijs”un“Ģimenes vecāki”. Tas nozīmēja, ka nākamajā posmā varētu zināt, ko nodot pulkstenim.
    • Ņemiet vērā, ka cilvēkiem var būt dažādas atrašanās vietas. Bet, kamēr tie atbilst nosaukšanas konvencijai, tas ir labi. Piem. mans darbs atšķirtos no sievas darba reģiona un tiktu saukts citādi. bet kamēr viņi abi sāks "darbu", tad viss ir kārtībā.
  5. Jūs vēlaties, lai režīms karšu ekrānā būtu iestatīts uz “Nozīmīgs”. Tas nozīmē, ka jūs (galvenokārt) saņemat ziņojumus tikai tad, kad ieejat reģionos vai izbraucat no tiem. Šķiet, ka tā ir atjauninātā piezīmes versija ar atzīmi SVARĪGI: 8. darbības beigās sākotnējā Instructable.
  6. Kā minēts sākotnējā Instructable, Google Maps izmantošana ir lielisks veids, kā noskaidrot Lat/Long vietu. Es atklāju, ka ir efektīvāk to darīt vairumā, noskaidrojot visus manas atrašanās vietas latus/garumus, pēc tam ielīmēju tos piezīmēs (savā Mac datorā), un, sinhronizējot mākoņus, tas nozīmēja, ka tie maģiski parādījās manā iPhone piezīmēs, un es varētu tos kopēt/ielīmēt Owntracks. Tas arī nozīmēja, ka es varu nosūtīt failu uz savas ģimenes tālruņiem, un mums visiem bija konsekventa atrašanās vieta.
  7. Vietas, kas atrodas tuvu viena otrai, var radīt problēmas. Mans brālis dzīvo 2 ielu attālumā, un sākotnēji mans tālrunis pastāvīgi domāja, ka es vienlaikus atrodos viņa mājas rajonā, kā arī mājās. Galu galā man bija jāievieš papildu loģika sarkanajā mezglā, lai uztvertu un ignorētu šo notikumu.

3. darbība: Raspberry Pi iestatīšana

Raspberry Pi iestatīšana
Raspberry Pi iestatīšana

Tāpēc šeit es pieņemu, ka jums ir iestatīta Pi bāze un wifi. Es vadīju Raspbian, bet tam nevajadzētu būt nozīmei. Izmantojiet raspberrypi.org norādījumus, lai to visu iestatītu.

Ņemiet vērā, ka Pi ir porti, ko parādīt monitoram un tastatūrai/pelei utt. BET acīmredzot, kad tas ir pulkstenī, jūs to nevēlaties. Tātad atbilde, ko kāds ieteica vietnē Raspberry pi, manuprāt, bija izveidot VNC savienojumu. Tas ļauj jums izveidot savienojumu no citas ierīces ar Pi un to arī kontrolēt. Es to daru no sava Mac, bet esmu to darījis arī no iPad. Lietošanas ērtībai es ieteiktu lietot kaut ko ar tastatūru.

Es tikko atklāju, ka tie, šķiet, ir atvieglojuši, jo es izveidoju savienojumu … skatīt šeit

Būtībā jūs izveidojat savienojumu un iegūstat logu, kas ir standarta Pi saskarne.

Tātad, jums ir logs uz jūsu Pi no klēpjdatora vai datora.

Tagad jums ir nepieciešams savienot Servos.

Vispirms jums ir jādara diezgan vienkārša lodēšana, lai uzvilktu adafruit cepuri uz Pi. Tas ir nedaudz viltīgs, bet, neskatoties uz to, ka neesmu lodējis 30 nepāra gadus, tas bija labi. Kā vienmēr, es atradu noderīgu YouTube videoklipu, kas man palīdzēja, un tas bija liels palīgs.

Lai gan cepure var darbināt 16 servos, man vajadzēja tikai 4, un tāpēc es tikai traucēju lodēt pirmo 4 tapu komplektu.

Tad servo vienkārši uzspiež uz tapām. Es vispirms izdarīju vienu, lai pārbaudītu, vai tiešām varu panākt servo kustību.

Šeit es saskāros ar savu pirmo lielo šķēršļu. Man bija ļoti vienkāršs python skripts, lai pārvietotu servos, un burtiski nekas nenotika. Es pavadīju apmēram nedēļu, izmēģinot jaunus skriptus utt., Un tad uz cepures sāka parādīties dūmi. Izslēdzot visu, es pārbaudīju shematisko. Tā bija sastāvdaļa, kas aizsargā pret apgrieztu polaritāti. Tā kā man bija vairāku galu sprieguma avots, es biju palaidis garām faktu, ka līdzstrāvas izeja varētu notikt abos virzienos, apgriežot galu. Es biju kļūdījies (iespēja 50:50) un tikko nodedzināju savu pirmo adafruit cepuri

:-(Tātad neliela kavēšanās, kad nopirku jaunu, pārlodēju un izlaboju galu. Daudz labāk.

Tālāk man bija jāizstrādā, kā pārvietot servos uz pareizo pulksteņa punktu. Tas notiks 5. solī, bet tas, ko es darīju, nebūvējis īsto pulksteni, bija viegli pieskrūvēt servos pie nejauša koka gabaliņa un pielīmēt kādu maskēšanas lenti ar bultiņu, kā attēlā. Tas sniedza ļoti vizuālu atgriezenisko saiti par to, ko es kodēju.

4. darbība: sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)

Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)
Sarkanā mezgla instalēšana (ziņojumu saņemšana no MQTT servera uz jūsu Python skriptu)

Node-RED ir programma, kuru instalējat Pi, kas nodrošina vizuālu saskarni (jūsu pārlūkprogrammā), lai saņemtu ziņojumus no sava MQTT servera un izmantotu to, lai nodotu pareizo informāciju jūsu python skriptam (apskatīts nākamajā solī (5. solis). Es diezgan daudz izmantoju ppeters0502 norādījumus 5. solī. Šajās plūsmās ir loģika un papildu loģika python, un katrā var būt vairāk vai mazāk, atkarībā no jūsu vēlmēm. Būtībā jums tas jādara sekojošais

  1. Saņemiet mezglus MQTT ziņojumiem - tie ir gaiši violeti, un man bija 1 uz vienu ģimenes locekli
  2. Kartējiet to uz servo, kuru vēlaties pārvietot (numurēts 0, 1, 2, 3)
  3. Nosakiet, vai OwnTracks ievadāt vai atstājat rādiusu
  4. Noskaidrojiet, uz kuru atrašanās vietu šis servo ir jānorāda

    Bija daži izņēmumi no pamatnoteikumiem, kas man bija jāiekļauj

  5. Pareizi iestatiet leņķi

Pirmos četrus darīju Node-RED, un Python bija samērā vienkāršs.

Šeit varat redzēt pamata plūsmu, un visas plūsmas var eksportēt šeit norādītajā formātā, kas nozīmē, ka varat importēt šo pamata plūsmu savā mezglā-SARKANA un pēc tam pielāgoties. Ņemiet vērā, ka esmu izņēmis visus savienojumus no violetajiem mezgliem, lai jūs nevarētu piekļūt manam MQTT gadījumam. Es arī noņemu visus testa mezglus, jo tie satur faktiskos datus … iespējams, jums būs jāmaina šis faila veids uz plūsmas.json, lai importētu savā mezglā RED, bet Instructables neļāva man to augšupielādēt.

Zaļie mezgli ir atkļūdošanas mezgli, kas pēc tam parāda rezultātu atkļūdošanas logā ekrāna labajā pusē (iespējams, būs jāpaplašina - atrodiet bultiņu līdz pusei pa labi)

Pirmais, kas jādara, ir bits "Tiešraide - tikai atkļūdošanai". Tas pārbauda, vai varat saņemt MQTT ziņojumus un redzēt, kas tajos ir. json ir tikai strukturētāka ziņojumu versija, kas ļauj vieglāk iegūt datus. Šajā plūsmā, kad esmu tiešraidē, es savienoju purpursarkanos mezglus augšējā kreisajā pusē ar json mezglu pa labi no tiem.

Pārbaudes mezgli

Tiklīdz jūs zināt, kā ziņojumi izskatīsies tiešraidē, kļūst ļoti garlaicīgi, ja jums ir jāiziet no mājas, pa ceļu un atpakaļ, lai izraisītu notikumu. Kad esat to izdarījis, varat kopēt ziņojumu TEST aktivizētājā un pēc tam vienkārši noklikšķiniet uz tā, lai simulētu notikumu. Varat arī mainīt datus, lai izliktos par dažādām atrašanās vietām (pārliecinieties, vai tie precīzi atbilst Owntracks atrašanās vietu nosaukumiem).

Plūsmā var redzēt, ka testa gadījumi visi nonāk atsevišķā mezglā un pēc tam json mezglā. Tas ir tikai ekrāna sakārtošanai.

Es nevaru pietiekami uzsvērt, cik noderīgi šie mezgli bija un joprojām ir.

Zvanot uz Python

Tāpēc es nokļuvu nākamajā šķēršļos. Šis viens prasīja daudz googlēšanas forumos utt. Mana plūsma darbotos perfekti, taču tā neizraisītu manu python skriptu. Es nevarēju to atrisināt, bet es ietaupīšu jūs no zvēresta utt. Vienkārši sakot, ka, kā uzsvērts otrajā ekrānuzņēmumā, jums ir jānorāda python3, kā acīmredzot Node-RED pieņem python2, ja vien nenorādāt.

2 papildu komplikācijas - tikai nepieciešamības gadījumā

Tad man bija vairāki izaicinājumi, kuru loģika gluži nedarbojās. Pirmkārt, Owntracks gāja mazliet dīvaini, un, tā kā mans brālis dzīvo 2 ielu attālumā, bieži tika teikts, ka es atrodos 2 vietās uzreiz vai turpinu pārslēgties. Vienīgais veids, kā es to varēju apiet, bija pievienot nosacījumu, lai apturētu viltus pozitīvos rezultātus. Ja tas apgalvoja, ka esmu pie viņa mājas, tad es maršrutēju un pārbaudīju īstos garuma/platuma grādus ziņojumā un pārtraucu to, ja teikts, ka patiesībā esmu mājās.

Otra problēma bija tā, ka, pastaigājoties ar savu suni, es nevarēju iegūt labu rādiusu. Es parasti staigāju tajā pašā apgabalā, tāpēc šeit es teicu: "Ja es ieeju šajā zonā, es noteikti pastaigāju suni un būšu līdz mājās." tas nozīmēja, ka tas nepārslēgsies uz krodziņu, pa kuru eju mājās, vai uz dažādām citām vietējām vietām, kas varētu izraisīt suņu pastaigu. Lai to izdarītu, man vajadzēja iestatīt dažus pastāvīgus konteksta mainīgos (skatiet tos mezglā-SARKANS. Skatīt ekrānuzņēmumu. Šie mainīgie saglabājas, līdz mezgls RED tiek restartēts, un tāpēc es varu teikt, ja pastaigā ar suni iestatiet konteksta mainīgo uz "Suns". Tad ignorējiet NEKO citu, ja vien es "neieeju" mājās.

Pēdējais ekrānuzņēmums ir viens no maniem faktiskajiem beigu posmiem, ar visiem izņēmumiem, tikai jūsu interesēs.

5. darbība: faktiski pārvietojiet servos ar Python uz Pi

Īsa novirzīšanās servos. Es neko nezināju par servos, bet internetā ir daudz informācijas. Es izmantoju nepārtrauktus servos, kas vienmērīgi var pagriezties par 360 grādiem. Otrs galvenais veids ir pakāpju servo, kas pārvietojas gabalos (pakāpienos) un acīmredzot paceļas tikai līdz aptuveni 180 grādiem (šeit tas acīmredzami nav lietderīgi). Stepper servo priekšrocība ir tā, ka jūs varat vienkārši ielikt leņķi, un tie pārvietojas uz šo punktu un apstājas. Visa manis atrastā dokumentācija teica, ka nepārtrauktie servospēki darbojas, ja tiem tiek piešķirts ātrums un laiks, lai šo ātrumu uzturētu (piemēram, pilnu ātrumu 1 s), un tie nonāk tur, kur nonāk, bet tas ir salīdzinājumā ar to sākuma punktu. Pēc daudziem mēģinājumiem es nevarēju panākt, lai tas darbotos, taču, izmantojot testa stendu, es uzzināju, ka servos pastāvīgi atgriezās tajā pašā punktā, ņemot vērā to pašu leņķi. Tas ir daudz vieglāk, tāpēc es to darīju. Var būt kāds mīnuss, par kuru es nezinu, bet man tas darbojas. Tomēr ņemiet vērā, ka katrs servo ir unikāls, un tāpēc katram servoiekārtai ir jābūt unikālai leņķu kopai. Man šķita, ka visvieglāk ir izveidot “kalibrēšanas” python skriptu, kurā es varētu iestatīt servos pagriezienus leņķī, tos pilnveidojot, līdz tie visi izskatījās pareizi. Šis ir pirmais pievienotais skripts. Jūs vienkārši komentējat servos, kurus nepārbaudāt, koncentrējaties uz vienu un pēc tam noregulējiet vērtības pēc nepieciešamības. PIEZĪME. Kalibrēšana testa stendam ir vienkārša, raupja un gatava. Kad pulkstenis ir salikts, jums būs jāveic atkārtota kalibrēšana, jo pārnesumi utt mainīs visu. Tad otrais skripts ir diezgan vienkāršs. Tas veic sekojošo

  1. Importējiet dažas bibliotēkas
  2. pārvietot mainīgos, kas nāk no mezgla-RED, uz skripta mainīgajiem
  3. kartē kalibrēšanas skripta noteiktos leņķus uz pulksteņa atrašanās vietām.
  4. pārbaudiet, vai atrašanās vieta ir atrodama sarakstā, un, ja nē, pārejiet uz "Bīstamība"
  5. uzrakstiet, kas tika darīts ar žurnālfailu
  6. pārvietojiet nepieciešamo servo vajadzīgajā leņķī
  7. Apturiet vienu servo no “buzzing” *

3 lietas, kas jāņem vērā.

Žurnāla fails ir ļoti noderīgs atkļūdošanai. Tas nozīmē, ka varat apskatīt ziņojuma mezglu-sarkano atkļūdošanu un pēc tam redzēt, kas notika skriptā. izvade izskatās šādi. Pirmie 3 ir es, vedot suni pastaigā, un tad 1. bērns atstāj māju un ierodas skolā. Piezīme, lai pārbaudītu laiku uz Pi. Pēc noklusējuma tas var būt UTC un neļauj mainīt vasaras/ziemas laiku. Piem. zemāk norādītie laiki ir 1 stunda.

2020-12-07_05: 36: 03 Kurš = 0, lok = Ceļojošs, detalizēts = Mājas, leņķis = 10, indekss = 8

2020-12-07_05: 36: 04 Kurš = 0, lok = suns, detaļa = Astons, leņķis = 86,5, indekss = 10

2020-12-07_06: 07: 49 Kas = 0, loc = Home, detaļa = ievadīšana, leņķis = 75, indekss = 0

2020-12-07_06: 23: 53 Kurš = 2, lok = Ceļojošs, detalizēts = Mājas, leņķis = 19, indekss = 8

2020-12-07_06: 30: 48 Kurš = 2, lok = skola, detaļa = N, leņķis = 60,5, indekss = 2

Servo-buzzing

Viens no serviem (0) pēc skripta beigām turpināja buzzing. Kā jūs varat iedomāties, tas ir ļoti kaitinoši mūsu virtuvē. Es kaut kur atradu pavedienu, kurā tika minēts servo leņķa iestatīšana uz “nav”, kas kaut kādā veidā nosaka to dīkstāvē. Tas strādāja lieliski, un to var redzēt scenārijā beigās.

Laiks

Paturiet prātā, cik zema roka ir, lai slaucītu visu diennakti. Scenārijā var redzēt, ka ir rinda time.sleep (4) tieši pirms mēs iestatījām servo pārtraukt buzzing. Tas ir tāpēc, ka jums ir jāļauj rokai nokļūt galamērķī, pirms to iestatāt dīkstāvē. Pretējā gadījumā tas vienkārši apstājas. Tas ir svarīgi arī to kalibrējot, jo skripta ietvaros veicat vairākas kustības. Es iestatītu tā darbību, lai pārvietotos uz visām 12 vietām pēc kārtas, lai es varētu tās visas vēlreiz pārbaudīt. bet starp tiem jums ir nepieciešams nedaudz laika.

6. darbība: programmatūras pabeigšana - tālruņi uz servos

Kad esat iestatījis testa stendu un skriptus, varat to nedaudz palaist tiešraidē un redzēt, kā tas darbojas reālā laikā. Šeit es atradu izņēmumus, kas man bija jāpievieno savai mezgla-RED plūsmai.

Ja vēlaties koncentrēties uz vienu, varat viegli atvienot un savienot ģimenes locekļus plūsmā Node-RED. Piemēram, ja divi rada problēmas, bet jūs vēlaties labot vienu. Pretējā gadījumā paturiet prātā, ka jūs turpināsit saņemt ziņojumus no visiem pievienotajiem tālruņiem.

Es minēju problēmu ar suņu pastaigām un to, ka mana brāļa māja ir diezgan tuvu. Man bija 2 citi izaicinājumi.

Pirmkārt, atrašanās vietas citās vietās. Mana sieva mācījās kursā koledžā Londonā. Mēs vēlējāmies, lai to reģistrētu kā “skolu”, bet tā ir arī “Londonā”. Tāpēc mums vajadzēja atkārtoti izmantot kontekstu, lai pateiktu, ka, ja jūs pametāt šo skolu, pārejiet uz “Londonu”, nevis “Ceļojot”.

Otrkārt, sacensību apstākļi. Kā minēts, mana brāļa māja atrodas 2 ielu attālumā, kā arī netālu no mūsu iecienītākā kroga/restorāna. Tas nozīmē, ka dažreiz tiek saņemti 2 signāli vienlaikus vai ļoti tuvu viens otram. Tas var izveidot “sacensību stāvokli”, kurā jūs iegūstat dažādus rezultātus atkarībā no tā, kurš no loģikas tiek sasniegts visātrāk, izraisot neparedzamus rezultātus. Lai to novērstu, es noteicu, ka visiem ievadītajiem ziņojumiem ir 1 sekundes aizkavēšanās loģikā, kas, šķiet, novērsa problēmu. Var būt labāki, elegantāki veidi, kā to atrisināt, taču šķita, ka tas darbojas.

7. solis: Fiziskā pulksteņa izveide - I daļa - Servo un ass

Fiziskā pulksteņa izveide - I daļa - Servo un ass
Fiziskā pulksteņa izveide - I daļa - Servo un ass
Fiziskā pulksteņa izveide - I daļa - Servo un ass
Fiziskā pulksteņa izveide - I daļa - Servo un ass
Fiziskā pulksteņa izveide - I daļa - Servo un ass
Fiziskā pulksteņa izveide - I daļa - Servo un ass

Tagad mazliet, par ko biju vismazāk pārliecināts, tāpēc atstāju to pēdējam. Es gribēju pienācīga izmēra seju un vieglu konstrukciju. Es biju arī nervozs par fizisku 2 servo apbraukšanu ap centrālo asi. Tas nozīmēja, ka, īsi apskatot ebay, vai nav veco pulksteņu, kā tas ir pamācībā, kam sekoju, es nolēmu dot sev vairāk iespēju, izveidojot to pats.

  • Es saņēmu 2 lielus (~ 30 cm) saplākšņa kvadrātus, kas man bija gulējuši (apmēram 9 mm biezi).
  • Tad es sagriezu veco sliedes sliedi 4x10 cm lielās daļās un saskrūvēju kopā priekšējo un aizmugurējo plāksni.
  • Atzīmējot centrālo caurumu, es to izurbju tādā pašā izmērā kā lielākā misiņa caurule.
  • Tad es to krāsoju ar parastu baltu spīdīgu krāsu.
  • Pēc dažiem eksperimentiem es sapratu, ka es, iespējams, nevarētu iegūt 4 servus ap vienu asi, ja tie visi būtu piestiprināti pie aizmugurējās (vai priekšējās) plāksnes. Tāpēc man uz katras plāksnes vajadzēja būt vai nu 3 + 1, vai 2 + 2. Es beidzu ar 3 aizmugurē un 1 priekšā.
  • Es izstrādāju nepieciešamo nobīdi uz papīra un pēc tam sagriezu misiņa caurules, lai tās atbilstu. Ņemiet vērā, ka biezākā caurule ir īsākā, un visplānākajai ir jāiet līdz aizmugurējai plāksnei. (Es faktiski ievietoju mazāko caurumā, ko daļēji urbju aizmugurējā plāksnē, bet ne līdz galam, lai ass nekustētos atpakaļ).
  • Caurulēm es nopirku cauruļu griezēju, taču to griešanai tiek izmantots spiediens, un tas nozīmē, ka nevar iegūt mazāko cauruli iekšā. Tāpēc es izmantoju zāģi un pēc tam bija jāveic diezgan daudz dokumentu, lai tie sāktu darboties. Te dimanta punktu vīles bija nenovērtējamas.
  • Tad es saskaņoju diagrammu ar faktiskajiem skavu un zobratu nobīdēm *.
  • Kad man bija nobīdes, es zināju, cik "augsts" ir veidot blokus, lai uzstādītu servos. Es salauzu pāris blokus, zāģējot tos pārāk plānus un arī urbjot caurumu, lai vads izietu.
  • Tad nāca viltīgā daļa, kur ievietot blokus, lai tie precīzi atbilstu zobratiem uz ass. Es ieskrūvēju vienu bloku un pēc tam varēju pagriezt servo, lai tas atbilstu asij, un pēc tam ieskrūvēt otro bloku otrā servo galā. Es arī atklāju, ka man vajadzēja nedaudz izgriezt dažus blokus, lai izvairītos no citu zobratu griešanās. Pagāja diezgan ilgs laiks.
  • Kad viss bija paveikts, es dabūju savu aveņu pi korpusu, izurbu tajā divus caurumus un pieskrūvēju to pie priekšējās plāksnes. Tad es varētu pievienot Pi, aizvērt priekšējās un aizmugurējās plāksnes (pieslēdzot servo pie pi (atceroties, kurš servo bija paredzēts kādam ģimenes loceklim) un pagriezties pie rokām…

* Šeit es atklāju lielāko problēmu, kas man vēl ir pilnībā jāatrisina. Misiņa caurules bija 1/4 ", 7/32", 3/16 ", 5/32". Bet skavas bija metriskas (izņemot vienu, kas bija 1/4 collas). Pārvēršot caurules par metriskām, tās bija 6,35 mm, 5,56 mm, 4,76 mm 3,97 mm. Atlikušās skavas bija 4 mm, 5 mm un 6 mm diametra. Mazākās 2 un lielākie ir labi. bet nepārprotami 0,44 mm ir pārāk liels ceļš skavai, tāpēc man tas bija jāizklāj ar papīru. Esmu to izmēģinājis vairākas reizes, un tas kādu laiku darbojas labi, un pēc tam atkal atslābst. roka nedarbojas pareizi. Tomēr apmēram 6 mēnešus tas bija labi, tāpēc laiks, kas tika pavadīts, darot to labi, bija labi ieguldīts laiks. Bet, ja es to darītu vēlreiz, es, iespējams, būtu palielinājies vai samazinājies par 1 izmēru, atstājot plaisu labāka skava, kas piemērota cauruļvadam. piem., 9/32 ", 1/4", (sprauga), 3/16 ", 5/32"

8. solis: pulksteņa rādītāji

Pulksteņa rādītāji
Pulksteņa rādītāji
Pulksteņa rādītāji
Pulksteņa rādītāji
Pulksteņa rādītāji
Pulksteņa rādītāji

Es nolēmu izmantot tērauda loksni, jo gribēju kaut ko stingru, bet mazāk ticamu, ka es to gatavoju. Arī tas, ka bija plāns, nozīmēja, ka četras rokas bija mazāka problēma.

  • Vispirms es ieskicēju formu.
  • Tad es to pārnesu uz tērauda virs kādas maskēšanas lentes.
  • Tad es ļoti neprasmīgi tos izgriezu ar savu finierzāģi. Viņi bija un ir dažādi, bet man tas nav nekas pretī.
  • Tad kāds draugs ieteica aizņemties viņa stenda dzirnaviņas, lai tās veidotu, un tas bija lieliski. augsti ieteicams. Pretējā gadījumā iesniegšana aizņem daudzus gadus.
  • Vēl bija jāapstrādā un pēc tam jāslīpē, lai nebūtu asu malu un arī jauka apdare.
  • Man bija jāizurbj caurumi, lai tie atbilstu attiecīgajām misiņa caurulēm (pārbaudīšanai izmantojiet neizgrieztas caurules, nevis uz pulksteņa uzstādītās).
  • Es atklāju, ka caurumiem bija nepieciešama neliela vīlēšana, lai tie nokļūtu caurulēs, bet reiz tie bija cieši un tiem nebija nepieciešama līme. Izņēmums bija priekšējā roka, kurai es gribēju “vāku”. Tāpēc es izgriezu (pārsvarā) apaļu tērauda gabalu, pēc tam, kad bija izurbis caurumu un ieguvis to pareizajā izmērā, un pielīmēju to uz priekšpusi. to var redzēt pēdējā bildē. Reizēm priekšējai rokai būtu nepieciešama līmjava, lai to nostiprinātu, bet pēc pāris viltus palaišanas rokas darbojas ļoti labi.
  • Es biju noraidījis ideju par fotogrāfijām (jo bērni ātri sūdzas par mūsu datumu fotogrāfijām), tāpēc es nolēmu gleznot uz iniciāļiem ar akrila krāsu.

9. solis: pabeidziet

Pabeigts!
Pabeigts!
Pabeigts!
Pabeigts!

Tas viss darbojas patiešām jauki. Rokas dažreiz ir nedaudz nost, atkarībā no tā, no kurienes tās ir nākušas, bet patiesībā tam nav nozīmes, jo katra atrašanās vieta ir sadaļa, nevis tikai līnija.

Dažreiz, dīvaini, mans tālrunis atsakās atzīt, ka esmu mājās. Kad esmu redzams kartē, es skaidri atrodos Owntracks rādiusā un pat tad, ja precizitāte ir laba … Man nav ne jausmas, kāpēc. šķiet, ka tas necieš pārējo manu ģimeni. bet uzstādīšana ir tāda pati. Tas nozīmē, ka Owntracks nekad nesūta ziņu, un es iestrēdzu ceļojumā. Bet parasti tas galu galā sakārtojas.

Ir bijis ļoti noderīgi būt mūsu virtuvē, galvenokārt zināt, kad meitenes dodas mājās no skolas vai draugu mājām, un tāpēc, kad viņiem gatavot ēdienu/tēju.

Atkal liels paldies cepures padomei @ppeters0502 par lieliskajiem norādījumiem, kas jāievēro. Cerams, ka tie var kaut ko pievienot pulksteņa izgatavošanai ar 4 rokām.

10. solis. Lietas, ko es iemācījos, un vai tās būtu labākas/savādākas, ja man tas būtu jādara vēlreiz

  • Fiziskām būvēm ir nepieciešami izmēģinājumi un kļūdas. Nav iespējams paredzēt kosmosa problēmas, jums vienkārši ir jāiedziļinās un jāmēģina.
  • Koda gadījumā googlēšanas problēmas ir būtiskas
  • Sāciet pamata un veidot. Servi uz testa stenda koka nozīmēja, ka es varētu iegūt lielāko daļu darba bez fiziskas uzbūves
  • Man, iespējams, būtu lāzergrieztas rokas CNC mašīnā. Bet es nezināju, kur atrodas vietējais, un man patīk, kā strādāja maigais tērauds (tas bija lēts, un stenda dzirnaviņas to padarīja daudz vieglāku)
  • pakāpju motors var būt iespējams, ja izmantojat pārnesumu, lai iegūtu 360 pagriezienu. bet tad servos var būt pārāk tuvu centrālajai asij
  • Ir divu veidu servo (Futaba un HiTech). Pārliecinieties, ka esat to pārbaudījis, jo uz splaina ir atšķirīgs zobu skaits. Un es sākotnēji nopirku nepareizus …
  • Neapvienojiet cepuri ar nepareizu polaritāti;-)
  • Google un Stack Overflow ir jūsu draugi. Bet jums ir jāizmanto labi meklēšanas vienumi …
  • Pārbaudes stends patiesībā ir veids, kā daudz vienkāršāk iegūt vienkāršāku, lētāku versiju. Lielākā daļa sarežģījumu ar uzbūvi rodas tāpēc, ka rokām jāgriežas ap vienu un to pašu asi. Ja jūs šajā jautājumā panākat kompromisu, tad viss ir daudz vieglāk. Un es domāju, ka 4 var būt vienas ass robeža, ja vien vārpsta nepaliek daudz garāka. Jūs, manuprāt, varētu būt 3 uz priekšējās plāksnes un trīs uz aizmugurējās plāksnes, ja vārpsta būtu garāka …

11. solis: iespējamie turpmākie paplašinājumi…?

Manas idejas par turpmākajiem soļiem ir šādas.

  1. Es vēlētos pārveidot veco iPad par pulksteņa rādītāju. i., izveidojiet digitālo pulksteni. Iespējams, pārlūkprogramma vai lietotne. Tā kā fiziskais pulkstenis būtībā ir bezvalstnieks (t.i., tas nezina, kur tas pašlaik atrodas, izņemot to, ka rokas atrodas fiziskā stāvoklī), man ir nepieciešama pastāvīga datu krātuve. Sarkanais mezgls var izrakstīties vietējā failu sistēmā, tāpēc es, iespējams, to darītu.
  2. Ja es to darītu, es vēlētos redzēt to no mājām. Bet tad mums patiešām ir jāsakārto drošība. Tā kā piekļuve vienam wifi tīklam ir viena lieta, piekļuve no interneta ir cita. Pašlaik man nav ne jausmas, kā to vislabāk izdarīt, bet man ir aizdomas, ka MQTT abonements, kas notiek citā veidā, varētu darboties (pi publicē pašreizējo statusu un ārējās ierīces to abonē)…?
  3. Es ļoti vēlētos vienu roku filmai “Ārzemēs”. bet tas varētu būt sarežģīti no OwnTracks viedokļa. Varbūt varētu vienkārši izmantot garo/latu kopā ar dažiem milzīgiem rādiusiem?

Ieteicams: