Мазмуну:

Tweet-A-Temp: 8 кадам
Tweet-A-Temp: 8 кадам

Video: Tweet-A-Temp: 8 кадам

Video: Tweet-A-Temp: 8 кадам
Video: Spice, Sean Paul, Shaggy - Go Down Deh (Tik Tok Remix 2022) | FAST & FURIOUS [Chase Scene] 2024, Июль
Anonim

By Z0tZot's Homebrew ExperimentsForlow More by the Author:

Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die
Magic 8 Beer 8 Sided Die

Менин тунгуч уулум (Minion #1) жана мен Tweet-A-Watt кура баштадык жана көрсөтмөлөрдү туура аткара албадык, тактап айтканда, биз кабыл алуучулардын экөөнү стандарттык кабыл алуучу катары эмес, экинчи XBee алуучусун жарымына толтурдук. бизде эки тандоо бар болчу, же кошумча бөлүктөрдү кесип салдык, же башка нерсе. Жергиликтүү деңгээлде Kill-A-Watt таба электигимди жана менде 10 жылдан бери компьютерлештирүүнү каалаган бул тышкы/ички термометр бар экенин эске алып, мен эмне кылышым керек экенин билчүмүн: өлчөө үчүн термометрди колдонушум керек болчу. Менин ысык ваннанын температурасы, анан твит! Мен жакында Minion #1ге чеги жок ысык ванна контроллерин сүрөттөө тапшырмасын берген элем. Ал белгилегендей, биз аны зымсыз кыла алмакпыз, бирок жок, бул акылсыздык … Мен 10 жылдык план ишке ашканда аны жакшы көрөм.

1 -кадам: Xbee алуучуларды түзүңүз

Xbee алуучуларды түзүңүз
Xbee алуучуларды түзүңүз

Эки XBEE ресиверин куруңуз. Мен Леди Аданын алуучуларын колдондум, каалаган приемник кылат. Сиз XBee VREF жана AD0 пин кирүү керек болот. Tweet-A-Watt үчүн куулук конфигурация болуп саналат. Иш жүзүндө, сиз Kill-A-Watt маанилерин кайталоо үчүн түзмөктөрдүн бирин койдуңуз: ATMY = 1, SM = 4, ST = 3, SP = C8, D4 = 2, D0 = 2, IT = 13, IR = 1 Бул даректи (1) коет, уйку режимин, таймерди жана мезгилди белгилейт, анан 4 жана 2 -пиндерди аналогдук киргизүү режимине (2) коёт, ал 0x13 (19 ондук) пакеттерди, үлгүлөр ортосунда 1 мс жөнөтөт.. Мындагы куулук - бул аналогдук киргизүү. Сиз кичинекей чыңалууларды (0-5V) XBee түз окуй аласыз. Tweet-A-Wattта сиз 4 жана 0-казыктарды Kill-A-Watt менен өлчөнүүчү амперди жана вольтту жөнөтүү үчүн коймоксуз. Чынында, ал муну жөнөтпөйт, Kill-A-Watt чиптери менен өлчөнгөн кичинекей чыңалууну компьютерге тиркелген XBee алуучуга жөнөтөт. Компьютердеги программалык камсыздоо дайыма алынган пакеттерди окуйт жана чыныгы чыңалуу менен амперди кайра эсептейт, андан кийин Ваттты эсептейт.

2 -кадам: Термометр

Термометр
Термометр
Термометр
Термометр
Термометр
Термометр

Мен 10 жыл мурун үйдүн сыртындагы/сыртындагы термометрлердин экөөнү сатып алдым. Сырттагы "термометрдин" базалык блокко стандарттык аудио сайгычка окшоштурулгандыгы мени дайыма кызыктырчу. Мен муну компьютердеги микрофон уячасына туташтырып, температураны өлчөй аламбы деп ойлончумун.

Көрсө, мен аны иштете алмакмын, бирок бул татаал болмок. Штепсель чынында 1/8 аудио сайгычтын ордуна 3/32 дюйм. Бул тышкы микрофон үчүн уюлдук телефондор үчүн стандарттык сайгыч. Бул көйгөйдү жараткан, анткени мен үйүлгөн микрофондордун арасынан керексиз нерселерди таба алган жокмун. Мен Radio Shack ($ 2) формасын сатып алууга туура келди, бул долбоордун кечеңдешине алып келди (алачыкка жетүү оңой болгон жок). Мен бир нерсенин кантип иштээрин күтүүсүздөн түшүнбөй туруп бөлүп алдым, бул чыңалуу бөлүштүргүч! Бул жөнүндө ойлонгондон кийин айкын болду. Жашоону абдан жеңилдетти.

3 -кадам: Чыңалуу бөлүүчү деген эмне?

Voltage бөлүштүрүүчү деген эмне?
Voltage бөлүштүрүүчү деген эмне?

Электрондукту үйрөнүү үчүн эң жакшы жерлердин бири - Висконсин Онлайн бөлүштүргүчтөрү ошол бетте түшүндүрүлөт (оң жактагы оң жактагы), же сиз вольт Википедия баракчасына кире аласыз. резистордун өлчөмүнө пропорционалдуу. Эгерде сизде R (1) + R (2) чынжыры боюнча V чыңалуусу болсо, анда V = V (1) + V (2). Ошентип, эгер V = 3V жана V (2) = 2V болсо, анда V (1) = 1V экенин билесиз. Эми Ом мыйзамынын негизи токтун (I) V/R экендигинде. Сериялык схемада ток бүтүндөй бирдей, андыктан А жана В аркылуу өткөн ток бүтүндөй схема үчүн бирдей. Ошондуктан I = V1/R1 = V2/R2. Биз билебиз V2 = V - V1, Plugging, we see V1/R1 = (V -V1)/R2. Чечүү биз R2 = R1*(V-V1)/V1 алабыз, эгерде V (1), V жана R (2) билсек, анда биз R2 үчүн чече алабыз. Thermistor!

4 -кадам: Thermistor деген эмне?

Thermistor деген эмне?
Thermistor деген эмне?

Термистор - бул каршылыкты температурага жараша өзгөрткөн резистор. Каршылыкты аныктоо үчүн Вольт бөлүштүргүчтүн ыкмаларын колдонуп, биз анын температурасы кандай экенин айта алабыз. Маселе, менде 10 жылдык продукттун корпусунда арзан термистор бар. Каршылыктан температурага өтүү функциясын кантип түзүш керек эле? Ооба, менде термометр бар, ошондуктан ал көп нерсени өлчөдү. Мен температураны түшүрүп, анан Термистордун каршылыгын өлчөдүм. Муздаткычка койдум, анан жылуу сууга салып койдум. Кийинчерээк мен бош убакыттан бери бөлмө температурасын кармап турмакмын. Википедиянын баракчасын a жана b факторлорун билүүгө аракет кылам деп ойлочумун, бирок мен аны өндүрүшкө дал келбеген сызыктуу эмес, мүмкүн болбогон компонентти колдонуп жүргөм деп ойлогом. өзгөчөлүктөр. Оо, мен жалкоомун. Ошентип, мен Excelдеги бардык баалуулуктарды төгүп салдым, анан аны графикке түшүрдүм. Мен Excell муну кылаарын билгенде, "эң кичинекей квадратка окшош" сыяктуу терең караңгы математиканы эстеп калышым керек деп тынчсыздангам. Мен ачык-айкын графикте боштуктарды жоготуп жатам, бирок мен ысык ваннанын температурасы (100-105F) жөнүндө көптөгөн жакшы маалыматтарды алдым. Бөлмөнүн температурасы диапазонун текшерип жатып бир нерсени байкадым, бул менин жумушумду дээрлик эч нерсеге жараксыз кылат. "Так температура" термометри Thermistor дюймдан алыс болгондо "ички" менен "сырткы" ортосунда 3-7 градус ката кеткенин билдирди! Эми бул термисторду бирдиктердин ортосунда аралаштырып, дал келтиргенимден улам болушу мүмкүн, бирок мен 10 жаштагы баланын сапаты менен байланыштуу деп ойлоп жатам, 10 долларлык жана температуранын "тактыгына" карабастан, мага тактык жана бир нече сыноолор керек болчу диапазону бир нече күндүн ичинде абдан жакын натыйжаларды көрсөттү. Келечекте термисторду ысык ваннага алып баруучу түтүккө тиркеп коём, андыктан мага баары бир офсет керек болот. Ошентип, Excelди теңдөөнү көрсөтүү менен, мен аны кодго салып койгом, азырынча " жакын ".

5 -кадам: Бергич микросхемасы

Тараткычтын микросхемасы
Тараткычтын микросхемасы

Тараткычтын схемасы жөнөкөй. Мен R2 үчүн 100 кОм резистор тандап алдым, анткени ал графиктин диапазонуна туура келет окшойт, жана менде Minions менен ар кандай нерселерди тазалоодон боштук бар болчу. Мен муну туташтыргыч аркылуу Thermistor менен катар туташтырам. Анан мен батарейканы коштум. Мен VREFке жана чыңалуу бөлгүчүнүн чокусуна жана Xbee +3V киришине 3 V чуркадым. Мен GND (Батарея Негативин) GND киришине жана бөлгүчтүн түбүнө койдум. Мен андан кийин AD0 (Вольтту) чыңалуу бөлүштүргүч чынжырынын ортосуна туташтырдым.

AD0 VREFтен V (1) ге салыштырмалуу чыңалуусун окуйт. Батарея азайып баратканда, салыштырмалуу чыңалуу ошол эле деңгээлде төмөндөшү керек. Акыр -аягы, мен блокту жергиликтүү электр булагы менен камсыздайм. Даяр блок жакшы иштеди, биз бардыгын аллигатор клиптери менен байланыштырдык, бул аны морт кылды. Мен аялдык 3/32 "туташуусун алгандан кийин, мен өткөргүчтү бизде болгон кокустук пластикалык ваннага (мурунку гуммус контейнери) жайгаштырам. Бул аны аба ырайынан коргошу керек. Мен" панелдик туташтыргыч "коннекторлорун сатып алгандыктан, бул жөнөкөй эле пластмассадан тешип чыккандан кийин туташтыргычты сыртка суу өткөрбөйт.

6 -кадам: Үй, Үй, Аралыгы жок

Үй, үй, диапазону жок
Үй, үй, диапазону жок
Үй, Үй, Аралыгы жок
Үй, Үй, Аралыгы жок
Үй, үй, диапазону жок
Үй, үй, диапазону жок

Биз байкаган эң биринчи нерселердин бири, биз передатчик менен офистен чыккандан кийин диапазон коркунучтуу өлүм менен өлдү. Биз башка бөлмөдөн аракет кылдык, жыйынтыгы коркунучтуу болду. 1 фут алыстап кетти. Чечимдерди карап чыгууга убакыт келди. Мен тестирлегенде, бизде 5 фут ичинде 4 Wi -Fi булагы бар, баары Xbee сыяктуу 2.5 Гц диапазонунда. Ошондой эле биз "Xbeeге таптакыр багытталган жокпуз. Изилдөөлөрдөн кийин мен күчтүү Xbee радиосун (23 долларга жакын) сатып алаарымды же антенналарды кошо алаарымды аныктадым. Мага керектүү нерселердин бири жакшы диапазондогу тест болчу. X-CTU программасы Digiден "Range Test" орнотулган, бирок эч нерсе болгон жок. Мен аны кантип иштетүү керектигин билүү үчүн бир нече убакыт өткөрдүм. Негизи бул айтылгандан оңой болду. Мага X-CTU тестинин кереги жок болчу, жөн эле "RX Signal Strength Indicator" (RSSI) value. I xbee.pyTweet-A-Watt колдонууларын карадым жана ошол жерде 39-сап: [код] self.rssi = p [3] [/код] Бул анын бир бөлүгү экенин билдирет Xbee кайтаруу маанисинин! (watcherдеги xb.rssi), ошондуктан мен хакым үчүн мүчүлүштүктөрдү оңдоо линиясын өзгөрттүм: print str (counter) + ": RSSI:" + str (xb.rssi) + "| " + time.strftime (" %Y %m %d, %H: %M ") +", " +": Voltage: " + str (CalcualtedVolts) +" avgv " + str (avgv) +" Thermistor: " + str (x) + "Температура:" + str (Температура) Бул сыяктуу сызык чыгарат: 373: RSSI: 82 | 2009 04 26, 11:18,: Voltage: 1.80100585938 avgv 593 Thermistor: 71.2276559865 Temperature: 78.6813444881 Ошондой эле Томс Igoe баракчасынан RSSIди кайра иштетүү менен көрүңүз. Сиз пакеттин узундугун (үстү жагында) өзгөрткүңүз келет, бирок Processing пакеттин буферинин өлчөмүнүн аягына чейин жазууга нааразы болду. Менимче, сиз күткөндөн чоң болушуңуз керек 2 * пакеттин узундугу. Томдун коду мурунку пакетти артка карайт, эгерде ал Ox7E пакетинин индикаторун өткөрүп жиберсе, ал бир канча убакытка чейин иштей алат. Мен өлчөө диапазонунун сырткы четине жакын жерде экенимди эске алып, бул бир аз убакытка чейин болушу мүмкүн. 600 жана ал мага "ката, serialEvent () өчүрүү" билдирүүсүн берүүнү токтотту. Томдун коду жөн эле акыркы жөндөөнү басып чыгарат, бул мен үчүн анча деле пайдалуу эмес. Менин мүчүлүштүктөрдү оңдоочу линия мага көз салууга мүмкүндүк берет Минион #1 болуп өзгөрөт. Эми бизде "эй ата, бизде пакет бар" дегенден көрө, өлчөөнүн жакшы жолу бар эле, антеннага үй демдөөчү идеяларды колдонууга убакыт келди! Http://www.usbwifi.orconhosting.net.nz/деги идеяларды колдонуу Мен Corner Cube дБнын азайышын өлчөгөнүн аныктадым, бирок иш жүзүндө ажыратылган түгөйдү туташтырууга жардам берген жок окшойт. Vegatible Steamer чындыгында эң жакшы болчу жана кайра туташты. USB Wifi орнотуулары башка кишилерден бир топ айырмаланат. Пароходдордун ортосунда сабагы бар, бул XBeeди оңой жайгаштырууну камсыз кылат. Калай фольга салынган фо табак да келечектүү көрүнөт (бирок биз калай фольганы кийинчерээк алып салдык жана аны кармадык). Биз параболаны ысык дөңгөлөктөрдүн ийилген бөлүгү менен "трек" жасоого аракет кылдык, бирок ал жардам бербегендей болду. Проблемалардын бири - биз диапазондун сырткы четинде тестирлеп жатканбыз. 2.5Ghz радиосунун көпчүлүгү, айрыкча XBee, спектрди колдонушат, демек алар "синхрондошот", бирок XBee программасы XBee пакетинин башталышын триггерге чейин издейт. Бул сиз баарына же эч нерсеге эффект албасаңыз болот дегенди билдирет. Же радиолор бири -бирине кулпуланат, же жабылбайт. Кээде бул ийгилик сыяктуу сезилет, бирок чындыгында сиз бул диапазондогу антенна болуп саналат жана натыйжаларга таасир этиши мүмкүн. Мен эки пароход сатып алганы бардым, бирок кийин жергиликтүү супермаркеттен келген пароходдун баасы 10 доллар экенин, ал эми 2 пароходдун баасы үчүн мен дагы күчтүү XBee ала алаарымды билдим. Ошентип, мен дагы бир нече жерлерди карадым жана андан да жакшы болуп чыккан абдан терең чыпканы таптым. Бул 7 доллар болчу. Мен тереңдик маанилүү деп эсептейм, анткени мен нерселердин аягында турам, ал сигналды көбүрөөк чагылдырат (https://www.usbwifi.orconhosting.net.nz/number13.jpg) эскертүүлөрү боюнча. бул бир учунда жашылча буусу менен (алмаштырылышы керек) жана экинчи чыпкасында мен 20-30м жөнүндө сигнал алып турам, ички офистен 3-4 дубал аркылуу ысык ваннага чейин! эгер кааласаңыз, чыпканы алып келүү үчүн 1) Жолдошуңуз калсын, жана/же 2) Буурулган жашылчаларды кийинчерээк кааласаңыз. Жеке мен жашылча буусунун жалбыракка окшош көрүнүшүн жакшы көрөм.

7 -кадам: Программалык камсыздоо

Программалык камсыздоо
Программалык камсыздоо

Tweet-A-Wattsoftware менен баштап мен питон кодун бузуп баштадым. Көбүнчө мен Уоттс конверсиясын, тарых функцияларын алып салуум керек болчу, андан кийин 0 коргоого бөлүүнү кошушум керек болчу (Tweet-A-Watt пакеттери маалыматка ээ болот деп ойлошот). Мен Excel программасын формулага коштум. Мен тестирледим. Мен аны ар бир пакетке басып чыгарууга койдум жана көйгөйлөрдү чечүү үчүн коддо көптөгөн мүчүлүштүктөр бар. Мен графикалык бөлүктү иштетүүгө аракет кылдым, бирок мен баш тарттым: Python Rant: Бул менде экинчи жолу Pythonдо чоң долбоорду ишке ашырууга аракет кылды. Мен бардык китепканаларга көз карандылыкты жана базалык пакеттерди Windows, Windows 64, Ubuntu жана Fedora 20 сааттын ичинде иштей албадым. Мен акыры нөлдөн баштап дээрлик баарын курууга туура келди, ошондо да кээ бир функциялар иштебей калды. Мен 2.4, 2.5, 2.6 жана ар кандай 3. X версияларын, анан ар бир китепкананын версияларын сынап көрдүм, алар өз кезегинде башка пакеттерге көз каранды болгон. Башкалар тилге каршы сөздөрдү айтышса да, мен жөн эле орнотуп койдум, атүгүл көптөгөн "жеңил орнотуучуларды" колдонуу эң эле коркунучтуу! Температураны эсептеп чыккандан кийин, мен 1 градуска тууралоону киргиздим, анткени мен ысык ваннага ишене алган жокмун. 106F болгон. Мен чындап эле 105те экенине ишенбейм, андан кийин отчеттуулукту жана твиттердин логикасын өзгөрттүм. Мен пакеттерди же жакшы пакеттерди алаарымды билбегендиктен, мен саатына бир жолу температураны билдирүүнү чечтим. Мен муну бир аздан кийин кыскартам деп ойлойм. Учурда скрипт кадимки колдонуучу катары иштеп жатат. Мен акыры аны кызматка жылдыргым келет.

8 -кадам: Кийинки кадамдар

Кийинки айкын кадамдар бар:

1) Жашылча чыпкасын алмаштырыңыз a. Миниондорго жашылчалары керек! б. Бул баары бир эски болчу. 2) Hot Tub антеннасын палубанын астына коюңуз. Палуба аны "андан ары" жасай алат, бирок бул жагымсыз орнотууга мүмкүндүк берет. б. Мен анда термисторду астынкы жагына иштетип, жакшы жерди таба алам. 3) Дагы сенсорлорду кошуу a. Эң оңой - бул сырткы температура сенсору. б. Бирок башкаруу панелдеринин абалын, айрыкча, балдар бүткөндө сыйкырдуу тийген жылуулук сенсорун аныктай албаганыбызга эч кандай себеп жок. в. Башка аба ырайы сенсорлору (шамал, нымдуулук ж. Б.) Г. Ыстык ваннаны көзөмөлдөп туруу жакшы болмок, мен түн менен күндүн көп бөлүгүндө жылуулукту өчүрө алмакмын. 4) Мен программалык камсыздоону тууралай алам а. Миниондор буга чейин бир температурага карата жакшы билдирүүлөрдү каалашат. б. Биз жоопторго жана ДМдерге жооп бере алышыбыз керек. в. Мен дагы акылдуу твит кылышым керек (саатына бир жолудан аз). г. Дагы башка кызыктуу нерселерди пландап жатам.

Сунушталууда: