INHOUDSOPGAWE:
- Stap 1: Bou die Xbee -ontvangers
- Stap 2: Die termometer
- Stap 3: Wat is 'n spanningsverdeler?
- Stap 4: Wat is 'n termistor?
- Stap 5: Senderkring
- Stap 6: Huis, huis, het geen bereik nie
- Stap 7: sagteware
- Stap 8: Volgende stappe
Video: Tweet-A-Temp: 8 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Deur Z0tZot's Homebrew Experiments Volg meer deur die skrywer:
Ek en my oudste seun (Minion #1) het 'n Tweet-A-Watt begin bou en kon nie die aanwysings korrek volg nie, naamlik dat ons beide ontvangers as standaard ontvangers gemaak het in plaas van slegs een en dan die tweede XBee-ontvanger half in te vul. ons het twee keuses gehad, óf die ekstra dele afgesny, óf iets anders. Aangesien ek nog nie 'n Kill-A-Watt plaaslik kon vind nie, en ek het hierdie eksterne/interne termometer wat ek al tien jaar wou bereken, het ek geweet wat ek moes doen: ek moes die termometer gebruik om te meet die temperatuur van my bubbelbad, en tweet dit dan! Ek het onlangs vir Minion #1 'n opdrag gegee om 'n bubbelbadbeheerder sonder grense te beskryf. Hy het genoem, wel, ons kan dit draadloos maak, maar nee, dit is dom … ek is mal daaroor as 'n 10-jaarplan tot stand kom. Sien dit op Twitter
Stap 1: Bou die Xbee -ontvangers
Bou twee XBEE -ontvangers. Ek het die ontvangers van Lady Ada gebruik, enige ontvanger sal dit doen. U benodig toegang tot die XBee se VREF- en AD0-pen. Die opset vir die Tweet-A-Watt is die opset. In werklikheid stel u een van die toestelle in om die waardes van die Kill-A-Watt te herhaal met: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Dit stel die adres (1) in, stel die slaapmodus, timer en periode in, en stel dan penne 4 en 2 in op Analoge invoermodus (2), wat 0x13 (19 desimale) pakkies, 1 ms tussen monsters stuur. Die truuk hier is die analoog invoer. U kan klein spanning (0-5V) direk deur die XBee lees. In die Tweet-A-Watt stel u penne 4 en 0 in om die Amps en Volt te stuur, gemeet aan die Kill-A-Watt. In werklikheid stuur dit dit nie, dit stuur die klein spanning wat gemeet word deur die skyfies in die Kill-A-Watt na die ontvanger XBee wat aan 'n rekenaar gekoppel is. Die sagteware op die rekenaar lees voortdurend die pakkies wat ontvang word, en dit herbereken die werklike spanning en stroom, en dan bereken dit die wattage.
Stap 2: Die termometer
Ek het ongeveer 10 jaar gelede twee van hierdie binne/buite -termometers by die huisdepot gekoop. Ek was altyd gefassineer dat die buitekant "termometer" by die basiseenheid aangesluit het met 'n standaard klankstekker. Ek het altyd gewonder of ek temperatuur kan meet deur dit in 'n mikrofoonaansluiting op 'n rekenaar aan te sluit.
Dit blyk dat ek dit waarskynlik kan laat werk, maar dit sal moeilik wees. Die prop is eintlik 'n 3/32 jack, in plaas van 'n 1/8 audio plug. Dit is die standaard prop vir selfone vir eksterne mikrofone. Dit het 'n probleem opgelewer, aangesien ek geen mikrofoonproppe in my hope rommel kon vind nie Ek moes 'n stel Radio Shack ($ 2) koop, wat 'n groot vertraging in die projek veroorsaak (dit was nie maklik om by 'n hok te kom nie.) Ek het een eenheid uitmekaar gehaal voordat ek skielik besef hoe die ding werk, dit was 'n spanningsverdeler! Dit was duidelik as ek daaraan gedink het, dit het die lewe baie maklik gemaak.
Stap 3: Wat is 'n spanningsverdeler?
Een van die beste plekke om te leer oor Electronic, is die Wisconsin Online -verdelers op die bladsy (regs onder), of u kan die Voltage Wikipedia -bladsy besoek. Kortom, as u twee weerstande in serie het, is die spanningsval oor elke weerstand in verhouding tot die grootte van die weerstand. As u spanning V oor 'n stroombaan van R (1) + R (2) het, dan is V = V (1) + V (2). Dus as V = 3V en V (2) = 2V, weet u dat die V (1) = 1V. Nou is die basis van Ohm se wet dat die stroom (I) V/R is. In 'n seriekring is die stroom deurgaans dieselfde, dus is die stroom deur A en B dieselfde vir die hele stroombaan. Daarom is I = V1/R1 = V2/R2. Ons weet V2 = V - V1, as u aansluit, sien ons V1/R1 = (V -V1)/R2. As ons oplos, kry ons R2 = R1*(V-V1)/V1 As ons weet of ons V (1), V en R (2) ken, kan ons dit vir R2 oplos. As ons R2 het, weet ons die waarde van die Termistor!
Stap 4: Wat is 'n termistor?
'N Termistor is 'n weerstand wat weerstand met die temperatuur verander. Met behulp van die tegnieke van die spanningsverdeler om die weerstand te bepaal, kan ons weet watter temperatuur dit is. Die probleem is dat ek 'n goedkoop termistor in 'n omhulsel van 'n 10 jaar oue produk het. Hoe moes ek 'n funksie skep om van weerstand na temperatuur te gaan? Ek het 'n termometer waarmee dit kan aansluit, en ek het baie gemeet. Ek kopieer die temperatuur en meet die weerstand van die termistor. Ek plaas dit in die yskas, dan sit ek dit in warm water. Later sou ek kamertemperature kry, aangesien ek tyd gehad het. spesifikasies. Ag, ek is lui. Dus het ek al die waardes in Excel gegooi en dit dan in grafiek geteken. Ek was oorspronklik bekommerd dat ek die diep donker wiskunde van iets soos "die minste vierkantige pas" moes onthou toe ek ontdek dat Excell dit sal doen Ek ontbreek duidelik gapings op die grafiek, maar ek het baie goeie inligting oor die temperatuur van die bubbelbad (100-105F) gekry, terwyl ek iets opgemerk het, wat my werk amper waardeloos maak. Die "Precise Temp" -termometer het 'n fout van 3-7 grade tussen "binne" en "buite" aangemeld toe die Thermistor 'n paar sentimeter weg was! Dit is moontlik omdat ek die termistor tussen die eenhede gemeng en gepas het, maar ek wed dat dit meer te doen het met die kwaliteit van 'n 10 -jarige item van $ 10 en ongeag die 'akkuraatheid' van die temperatuur, ek het presisie en verskeie toetse van dieselfde nodig reeks toon baie noue resultate oor dae. Op die lange duur sal ek die termistor waarskynlik aan 'n pyp wat in die bubbelbad lei, aanheg, so ek sal in elk geval 'n verrekening nodig hê. So deur Excel te kry om die vergelyking te vertoon, plaas ek dit dan in die kode, en tot dusver is dit " naby."
Stap 5: Senderkring
Die sender kring is eenvoudig. Ek het 'n 100 kOhm -weerstand vir R2 gekies, aangesien dit gelyk het of dit in die grafiek sou pas, en ek het 'n ekstra een gehad om verskillende dinge met die Minions te ontlont. Ek verbind dit in serie met die Thermistor via 'n aansluiting. Toe sit ek 'n battery by. Ek hardloop 3 V na VREF en die top van die spanningsverdeler en na die Xbee +3V -ingang. Ek plaas die GND (Battery Negative) op die GND -invoer en onderaan die verdeler. Ek het toe AD0 (Volt in) aan die middel van die Voltage Divider Circuit gekoppel.
AD0 sal 'n relatiewe spanning van VREF na V (1) lees. As die battery afneem, moet die relatiewe spanning dieselfde daal. Uiteindelik sal ek die eenheid van krag voorsien met 'n plaaslike kragbron. Die voltooide eenheid het goed gewerk; ons verbind alles met krokodilleklemme, wat dit broos gemaak het. Nadat ek die vroulike 3/32 -aansluiting gekry het, plaas ek die sender in 'n ewekansige plastiekbak wat ons gehad het ('n voormalige hummushouer). Dit behoort dit teen weer te beskerm. soos om 'n gat in die plastiek te boor om die konneksie aan die buitekant te voeg met 'n redelik waterdigte verbinding.
Stap 6: Huis, huis, het geen bereik nie
Een van die eerste dinge wat ons opgemerk het, was dat die reeks 'n aaklige dood gesterf het sodra ons met die sender uit die kantoor gestap het. Ons het uit 'n ander kamer probeer, en die resultate was verskriklik. 1 voet daarvandaan het dit verwoes. Tyd om na oplossings te kyk. Dit het by my opgekom dat ons, waar ons toets, 4 bronne van Wi -Fi binne 5 voet het, almal in die 2,5 Ghz -reeks, soos die Xbee. Ons het ook glad nie "die Xbee gerig nie. Na ondersoek het ek vasgestel dat ek 'n meer kragtige Xbee-radio (ongeveer $ 23) kan koop of antennas kan byvoeg. Een van die dinge wat ek nodig gehad het, was 'n goeie Range-toets. Die X-CTU-sagteware van Digi het 'n "Range Test" ingebou, maar dit het niks gedoen nie. Ek het 'n geruime tyd probeer uitvind hoe om dit te laat werk. Eintlik was dit makliker gedoen as gesê. Ek het nie regtig die X-CTU-toets nodig gehad nie, net die Waarde van "RX Signal Strength Indicator" (RSSI). Ek het in die xbee.pyTweet-A-Watt-gebruik gekyk en daar, reël 39: [kode] self.rssi = p [3] [/kode] Dit beteken dat dit deel is van die Xbee -opbrengswaarde! (xb.rssi in wattcher), sodat ek 'n ontfoutingsreël vir my hack verander het: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Spanning: " + str (CalcualtedVolts) +" avgv " + str (avgv) +" Thermistor: " + str (x) + "Temperatuur:" + str (Temperatuur) Wat 'n lyn soos volg lewer: 373: RSSI: 82 | 2009 04 26, 11:18,: Spanning: 1.80100585938 avgv 593 Thermistor: 71.2276559865 Temperatuur: 78.6813444881 U kan sien ook RSSI met verwerking, vanaf Tom's Igoe se bladsy. Alhoewel u die pakkie -lengte (bo -aan) wil aanpas, aangesien Processing gekla het oor die skryf aan die einde van die pakkie -buffer grootte. Ek glo dat u groter as 2 * moet wees pakkie lengte. Tom se kode kyk agteruit na 'n vorige pakkie, wat beteken dat as dit die Ox7E -pakkie -aanwyser misloop, kan dit 'n rukkie loop. Aangesien ek naby die buitenste rand van die meetbereik is, kan dit 'n rukkie gebeur. Ek stel myne op 600, en dit het opgehou om die boodskap "fout, deaktivering van serialEvent ()" te gee. Tom se kode druk slegs die nuutste instelling af, wat nie so nuttig vir my is nie. Met my ontfoutingsreël kan ek volg verander terwyl Minion #1 rond wonder. Nou het ons 'n goeie manier gehad om te meet, meer as 'hey dad we have a packet' was dit tyd om 'n paar tuisbrou -antenna -idees te probeer! Deur idees van https://www.usbwifi.orconhosting.net.nz/ te gebruik, het ek gevind dat die hoekkubus 'n afname in dB gemeet het, hoewel dit in die praktyk nie kon help om 'n losstaande paar te verbind nie. Die Vegatible Steamer was eintlik die beste om te mik en weer aan te sluit. Die opstelling van USB Wifi verskil baie van ander mense. Die stoompotte het 'n steel in die middel, wat dit maklik maak om XBee te plaas. 'N Pho -bak met tinfoelie is ook belowend (alhoewel ons net later die tinfoelie verwyder het en dit op sy plek gehou het). Ons het ook probeer om 'n parabool met 'n buigende stuk warmwiele "spoor" te maak, maar dit het nie gehelp nie. Een van die probleme is dat ons aan die buitekant van die reeks getoets het. Die meeste 2.5Ghz -radio, veral XBee, gebruik verspreide spektrum, wat beteken dat hulle 'n rukkie kan neem om te "sinkroniseer", en dan soek die XBee -sagteware na die begin van 'n XBee -pakkie voor die sneller. Dit beteken as u 'n alles of niks -effek kry. Of die radio's sluit op mekaar, of nie. Soms lyk dit na geluk, maar eintlik is u 'n antenna op hierdie gebiede en kan dit die resultate beïnvloed. Ek het twee stoomwaens gaan koop, maar toe vind ek dat die koste van 'n stoomboot by die plaaslike supermark $ 10 is, en vir die prys van twee stoomwaens kan ek 'n kragtiger XBee kry. Daarom het ek na nog 'n paar plekke gekyk en 'n mooi diep sif gevind wat nog beter geword het. Dit was $ 7. Ek glo die diepte is belangrik, aangesien ek aan die oordrag van dinge is, weerspieël dit meer die sein (volgens die aantekeninge in https://www.usbwifi.orconhosting.net.nz/number13.jpg). Eindresultate, is dat ek met 'n groente-stoomboot aan die een kant (wat vervang moet word) en 'n sif aan die ander kant, ongeveer 20-30 m van 'n binnekantoor, deur 3-4 mure, na die bubbelbad se sein het! om die sif in te bring as u wil 1) U gade moet bly, en/of 2) later gestoomde groente wil hê. Persoonlik hou ek van die blomblaaragtige voorkoms van die groentestoomboot.
Stap 7: sagteware
Begin met die Tweet-A-Wattsoftware en ek het begin om die python-kode weg te kap. Meestal moes ek die Watts-omskakeling, die geskiedenisfunksies verwyder, en dan moes ek 'n aantal deel met 0-beveiligings byvoeg (die Tweet-A-Watt neem aan dat pakkies data bevat). Ek het toe die formule van Excel by die program gevoeg Ek het dit ingestel om elke pakkie af te druk, en ek het baie foutopsporing in die kode om probleme op te los. probeer om 'n groot projek in Python te doen. Ek kon nie al die biblioteke se afhanklikheid en basispakkette binne 20 uur in Windows, Windows 64, Ubuntu en Fedora laat werk nie. Uiteindelik moes ek amper alles van nuuts af bou en selfs toe werk sommige funksies nie. Ek het 2.4, 2.5, 2.6 en verskillende 3. X weergawes probeer, en dan weergawes van elke biblioteek, wat weer afhanklik was van ander pakkette. Terwyl ander die taal kwaad kan maak, het ek op my beste bloot geïnstalleer, selfs al gebruik ek baie van die 'maklike installateurs'! was op 106 F. Ek glo ook nie dat dit op 105 is nie. Aangesien ek nie seker is of ek pakkies of goeie pakkies gaan kry nie, het ek besluit om die temperatuur een keer per uur aan te meld. Ek neem aan dat ek dit binne 'n rukkie sal terugsny. Die script word tans as 'n normale gebruiker uitgevoer. Ek sal dit uiteindelik na 'n diens wil verskuif.
Stap 8: Volgende stappe
Daar is 'n paar duidelike volgende stappe:
1) Vervang die groentesif a. Minions het hul groente nodig! b. Die een was in elk geval oud. 2) Plaas die bubbelbadantenne onder die dek a. Die dek kan dit selfs 'verder' maak, maar dit sal 'n lelike opset moontlik maak. b. Ek kan dan die termistor na die onderkant laat loop en 'n beter plek vind. 3) Voeg meer sensors by a. Die maklikste is 'n buitentemperatuursensor. b. Maar daar is geen rede waarom ons nie die toestand van die bedieningspanele kon opspoor nie, veral die hittesensor wat op magiese wyse aangeraak word wanneer kinders verby is. c. Ander weersensors (wind, humiditeit, ens.) D. Dit sal lekker wees om die bubbelbad te beheer, en ek kan die verwarming vir 'n groot deel van die nag en dag afskakel. 4) Ek kan die sagteware aanpas a. Minions wil reeds beter boodskappe per temperatuur hê. b. Ons moet op antwoorde en DM's kan reageer. c. Ek moet intelligenter tweet (minder as een keer per uur). d. Ek het nog ander lekker dinge beplan.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Alexa Vaardigheid: Lees die nuutste tweet (in hierdie geval, Gods): 6 stappe
Alexa -vaardigheid: Lees die nuutste tweet (in hierdie geval, God se): ek het 'n Alexa -vaardigheid gemaak om " God's Latest Tweet " - die inhoud, dit wil sê van @TweetOfGod, die 5 miljoen+ intekenaarrekening wat deur 'n voormalige komedieskrywer van die Daily Show geskep is. Dit gebruik IFTTT (If This Then That), 'n Google -sigblad en die