Оглавление:
- Шаг 1. Соберите ресиверы Xbee
- Шаг 2: термометр
- Шаг 3: Что такое делитель напряжения?
- Шаг 4: Что такое термистор?
- Шаг 5: Схема передатчика
- Шаг 6: Дом, Дом, нет диапазона
- Шаг 7: Программное обеспечение
- Шаг 8: Дальнейшие действия
Видео: Tweet-A-Temp: 8 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:55
Автор экспериментов с домашним пивом Z0tZot.
Мой старший сын (миньон №1) и я начали создавать Tweet-A-Watt и не смогли правильно следовать указаниям, а именно, мы сделали оба приемника стандартными вместо одного, а затем наполовину заполнили второй приемник XBee. у нас было два варианта: либо отрезать лишние части, либо что-то еще. Учитывая, что мне еще предстоит найти Kill-A-Watt на месте, и у меня был этот внешний / внутренний термометр, который я хотел компьютеризировать в течение 10 лет, я знал, что мне нужно сделать: мне пришлось использовать термометр для измерения температура в моей гидромассажной ванне, а затем опубликовать ее в Твиттере! Недавно я дал Миньону №1 задание описать контроллер без границ. Он упомянул, что мы могли бы сделать это беспроводным, но нет, это глупо … Мне нравится, когда 10-летний план воплощается в жизнь. Смотрите это в Twitter.
Шаг 1. Соберите ресиверы Xbee
Соберите два приемника XBEE. Я использовал приемники от леди Ады, подойдет любой приемник. Вам понадобится доступ к выводам VREF и AD0 XBee. Уловка с 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-5 В) непосредственно на XBee. В Tweet-A-Watt вы должны установить контакты 4 и 0 для передачи ампер и вольт, измеренных Kill-A-Watt. На самом деле он не отправляет это, он отправляет небольшое напряжение, измеренное микросхемами в Kill-A-Watt, на приемник XBee, который подключен к компьютеру. Программное обеспечение на компьютере постоянно считывает полученные пакеты и пересчитывает фактическое напряжение и силу тока, а затем вычисляет мощность.
Шаг 2: термометр
Я купил два таких комнатных / наружных термометра около 10 лет назад на домашнем складе. Меня всегда восхищало, что внешний «термометр» подключается к базовому блоку с помощью того, что выглядело как стандартный аудиоразъем. Мне всегда было интересно, могу ли я измерить температуру, подключив его к микрофонному разъему на компьютере.
Оказывается, я, вероятно, смогу заставить это работать, но это будет сложно. Штекер на самом деле представляет собой разъем 3/32 дюйма, а не аудиоразъем 1/8. Это стандартный штекер для мобильных телефонов для внешних микрофонов. Это представляло проблему, поскольку я не мог найти микрофонные штекеры в своих кучах мусора, который не монтировались на поверхность. Мне пришлось купить набор Radio Shack (2 доллара), что сильно задержало проект (добраться до лачуги было непросто). Я разобрал один модуль, прежде чем я внезапно понял, как работает тот, кто работает, это был делитель напряжения! Это было очевидно, как только я подумал об этом. Он очень облегчил жизнь.
Шаг 3: Что такое делитель напряжения?
Одно из лучших мест, где можно узнать об электронике, - это разделители Wisconsin Online, которые объясняются на этой странице (внизу справа), или вы можете посетить страницу Википедии напряжения. Короче говоря, если у вас есть два последовательно подключенных резистора, падение напряжения на каждом резисторе составляет пропорционально размеру резистора. Если у вас есть напряжение V в цепи R (1) + R (2), тогда V = V (1) + V (2). Итак, если V = 3V и V (2) = 2V, вы знаете, что V (1) = 1V. Теперь в основе закона Ома лежит то, что ток (I) равен V / R. В последовательной цепи ток одинаков во всей цепи, поэтому ток через A и B одинаков для всей цепи. Следовательно, I = V1 / R1 = V2 / R2. Мы знаем, что V2 = V - V1, подключив, мы видим V1 / R1 = (V-V1) / R2. Решая, мы получаем R2 = R1 * (V-V1) / V1 Итак, если мы знаем, знаем ли мы V (1), V и R (2), мы можем решить для R2. Если у нас есть R2, мы знаем значение Термистор!
Шаг 4: Что такое термистор?
Термистор - это резистор, сопротивление которого изменяется в зависимости от температуры. Используя методы делителя напряжения для определения сопротивления, мы можем сказать, какая это температура. Проблема в том, что у меня есть дешевый термистор в корпусе от продукта 10-летней давности. Как я мог создать функцию перехода от сопротивления к температуре? Ну, у меня есть термометр, к которому он подключается! Так что я много измерил. Я скопировал температуру, а затем измерил сопротивление термистора. Поставил в холодильник, потом в теплую воду. Позже я бы взял комнатную температуру, так как у меня было время. Я предполагал, что мог бы прочитать таблицу в Википедии, попытаться угадать факторы a и b, но я предположил, что использую нелинейный, возможный неисправный компонент, который больше не подходит для его производства. технические характеристики. Да, и я ленив. Поэтому я выгрузил все значения в Excel, а затем построил их на графике. Изначально я беспокоился, что мне пришлось вспомнить глубокую темную математику чего-то вроде "подгонки по наименьшему квадрату", когда я обнаружил, что Excell сделает это для Мне! Ясно, что у меня отсутствуют пробелы на графике, но я получил много хороших данных о температурах в гидромассажной ванне (100-105F). Проверяя диапазоны температур в комнате, я заметил кое-что, что почти делает мою работу бесполезной. Термометр «Precise Temp» сообщил о погрешности в 3-7 градусов между значениями «внутри помещения» и «снаружи», когда термистор находился в нескольких дюймах! Возможно, это связано с тем, что я смешал и подобрал термистор между устройствами, но я уверен, что это связано с качеством 10-летнего предмета за 10 долларов. Независимо от «точности» температуры, мне нужна была точность и несколько тестов одного и того же range показал очень близкие результаты за несколько дней. В конечном итоге я, скорее всего, прикреплю термистор к трубе, ведущей в гидромассажную ванну, поэтому мне все равно понадобится смещение. Поэтому, заставив Excel отобразить уравнение, я затем вставил его в код, и пока что это так " близко."
Шаг 5: Схема передатчика
Схема передатчика проста. Я выбрал резистор 100 кОм для R2, так как он выглядел так, как будто он соответствовал диапазону, указанному на графике, и у меня был запасной от распайки различных вещей с помощью Minions. Я подключаю его последовательно с термистором через разъем. Потом добавил аккумулятор. Я перебрал 3 В на VREF, верхнюю часть делителя напряжения и на вход Xbee + 3 В. Я помещаю GND (отрицательный аккумулятор) на вход GND и в нижнюю часть разделителя. Затем я подключил AD0 (входное напряжение) к середине схемы делителя напряжения.
AD0 будет считывать относительное напряжение от VREF до V (1). По мере того, как батарея разряжается, относительное напряжение должно уменьшаться на столько же. В конце концов я запитаю агрегат от местного источника питания. Готовый агрегат работал нормально, все соединяем зажимами из крокодиловой кожи, что сделало его хрупким. После того, как я получил гнездовое соединение 3/32 , я помещаю передатчик в случайную пластиковую ванну, которая у нас была (контейнер для бывшего хумуса). Это должно защитить его от погодных условий. Поскольку я купил разъемы для панельного монтажа, это было очень просто как просверлить отверстие в пластике, чтобы добавить разъем снаружи с довольно водонепроницаемым соединением. Как только мы это сделали, пришло время проверить.
Шаг 6: Дом, Дом, нет диапазона
Одна из первых вещей, которые мы заметили, было то, что диапазон умер ужасной смертью, как только мы вышли из офиса с передатчиком. Мы пробовали из другой комнаты, и результаты были ужасными. На расстоянии 1 фута он вывалился наружу. Пора взглянуть на решения. Мне пришло в голову, что там, где мы тестировали, у нас было 4 источника Wi-Fi в пределах 5 футов, все в диапазоне 2,5 ГГц, как Xbee. Кроме того, мы вообще не нацеливались на Xbee. После исследования я решил, что могу купить более мощное радио Xbee (около 23 долларов) или добавить антенны. Одна из вещей, которые мне понадобились, это хороший тест на дальность. Программное обеспечение X-CTU от Digi есть встроенный "тест дальности", но он ничего не сделал. Я потратил некоторое время, пытаясь понять, как заставить его работать. На самом деле это было проще, чем сказано. Мне действительно не нужен был тест X-CTU, просто Значение "индикатора мощности сигнала RX" (RSSI). Я посмотрел в xbee.pyTweet-A-Watt, где используется, и прямо там, строка 39: [code] self.rssi = p [3] [/code] Что означает, что это часть возвращаемого значения Xbee! (xb.rssi в wattcher), поэтому я изменил строку отладки для своего хака: print str (counter) + ": RSSI:" + str (xb.rssi) + "| "+ time.strftime ("% Y% m% d,% H:% M ") +", "+": Voltage: "+ str (CalcualtedVolts) +" avgv "+ str (avgv) +" Термистор: " + str (x) + "Temperature:" + str (Temperature) Выводит такую строку: 373: RSSI: 82 | 2009 04 26, 11:18,: Voltage: 1.80100585938 avgv 593 Термистор: 71.2276559865 Температура: 78.6813444881 Вы можете также см. RSSI с обработкой со страницы Тома Иго. Хотя вы захотите изменить длину пакета (вверху), поскольку Processing жаловалась на запись после конца размера буфера пакетов. Я считаю, что вы должны быть больше 2 * ожидаемого длина пакета. Код Тома смотрит назад в поисках предыдущего пакета, что означает, что если он пропустит индикатор пакета Ox7E, он может работать некоторое время. Учитывая, что я нахожусь около внешнего края диапазона измерения, это может произойти какое-то время. Я установил свой на 600, и он перестал выдавать мне сообщение «ошибка, отключение serialEvent ()». Код Тома просто печатает последнюю настройку, что не так уж и полезно для меня. Моя строка отладки позволяет мне отслеживать меняется, когда Миньон №1 удивляется. Теперь у нас был хороший способ измерения, больше, чем «эй, папа, у нас есть пакет», пришло время попробовать некоторые идеи для домашних антенн! Используя идеи из https://www.usbwifi.orconhosting.net.nz/, я обнаружил, что угловой куб измеряет уменьшение в дБ, хотя на практике, похоже, не помогает подключить отключенную пару. Vegatible Steamer на самом деле был лучшим для прицеливания и повторного соединения. Настройка USB Wifi сильно отличается от настройки некоторых других людей. У пароварок есть шток посередине, что облегчает установку XBee. Миска для фото с оловянной фольгой также выглядит многообещающей (хотя мы просто сняли оловянную фольгу позже и удерживали ее на месте). Мы также пытались сделать параболу с изгибом «гусеницы» горячих колес, но это, похоже, не помогло. Одна из проблем заключалась в том, что мы тестировали на внешнем крае диапазона. Большинство радиостанций с частотой 2,5 ГГц, особенно XBee, используют расширенный спектр, что означает, что они могут использовать «но» для «синхронизации», а затем программное обеспечение XBee ищет начало пакета XBee перед срабатыванием. Это означает, если вы получите эффект «все или ничего». Либо радиомодули сцепляются друг с другом, либо нет. Иногда это кажется удачей, но на самом деле вы являетесь антенной на этих диапазонах и можете влиять на результаты. Я пошел купить две пароварки, но потом обнаружил, что стоимость пароварки в местном супермаркете составляет 10 долларов, а по цене двух пароварок я могу получить более мощный XBee. Я посмотрел еще несколько мест и нашел довольно глубокое ситечко, которое оказалось даже лучше. Это было 7 долларов. Я считаю, что глубина важна, так как я нахожусь на стороне передачи, она отражает больше сигнала (согласно примечаниям в https://www.usbwifi.orconhosting.net.nz/number13.jpg). Конечные результаты, это то, что с пароваркой для овощей на одном конце (который нужно заменить) и ситечком на другом, у меня есть сигнал примерно на 20-30 м из внутреннего офиса, через 3-4 стены, к гидромассажной ванне! Совет профессионала: помните принести ситечко, если вы хотите, чтобы 1) ваша супруга осталась, и / или 2) хотите приготовить овощи на пару позже. Лично мне нравится лепестковый вид пароварки для овощей.
Шаг 7: Программное обеспечение
Начиная с Tweet-A-Wattsoftware, я начал взламывать код Python. В основном мне нужно было удалить преобразование ватт, функции истории, а затем мне нужно было добавить число защит, разделенных на 0 (Tweet-A-Watt предполагает, что в пакетах будут данные). Затем я добавил формулу из Excel в программу Я настроил его на печать каждого пакета, и у меня есть много отладки в коде, чтобы выявить проблемы. Я попытался заставить графическую часть работать, но я сдался, что привело меня к: Python Rant: Это второй раз, когда у меня пытался сделать крупный проект на Python. Я не мог заставить все зависимости библиотек и базовые пакеты работать менее чем за 20 часов в Windows, Windows 64, Ubuntu и Fedora. В конце концов мне пришлось собрать почти все с нуля, и даже тогда некоторые функции не работали. Я пробовал 2.4, 2.5, 2.6 и различные версии 3. X, а затем версии каждой библиотеки, которые, в свою очередь, зависели от других пакетов. В то время как другие могут критиковать язык, я обнаружил, что простая установка, даже с использованием многих «простых установщиков», в лучшем случае устрашает! После того, как я подсчитал температуру, я сделал поправку на 1 градус, потому что я не мог поверить в джакузи был на 106F. Я тоже не верю, что это 105. Затем я подправил отчеты и логику твиттера. Поскольку я не уверен, получу ли я пакеты или хорошие пакеты, я решил сообщать о температуре один раз в час. Я предполагаю, что через некоторое время я уменьшу это. В настоящее время скрипт работает как обычный пользователь. В конце концов, я захочу перенести его в сервис.
Шаг 8: Дальнейшие действия
Следующие шаги очевидны:
1) Замените сетчатый фильтр для овощей a. Миньонам нужны их овощи! б. В любом случае, тот был старым. 2) Поместите антенну гидромассажной ванны под палубу a. Колода может сделать это еще "дальше", но это позволит сделать более уродливую настройку. б. Затем я могу переместить термистор на нижнюю часть и найти место получше. 3) Добавьте дополнительные датчики a. Самый простой - датчик температуры наружного воздуха. б. Но нет никаких причин, по которым мы не могли бы определить состояние панелей управления, особенно теплового датчика, который волшебным образом прикасается, когда дети заканчивают. c. Другие датчики погоды (ветра, влажности и т. Д.) D. Было бы неплохо управлять гидромассажной ванной, и я мог бы отключать отопление на большую часть ночи и дня. 4) Я могу настроить программное обеспечение а. Миньоны уже хотят получать более качественные сообщения в зависимости от температуры. б. Мы должны иметь возможность отвечать на ответы и личные сообщения. c. Я должен твитнуть более разумно (реже одного раза в час). d. У меня запланированы другие забавные дела.
Рекомендуемые:
Дизайн игры в Flick за 5 шагов: 5 шагов
Дизайн игры в Flick за 5 шагов: Flick - это действительно простой способ создания игры, особенно чего-то вроде головоломки, визуального романа или приключенческой игры
Счетчик шагов - Micro: Bit: 12 шагов (с изображениями)
Счетчик шагов - Микро: Бит: Этот проект будет счетчиком шагов. Мы будем использовать датчик акселерометра, встроенный в Micro: Bit, для измерения наших шагов. Каждый раз, когда Micro: Bit трясется, мы добавляем 2 к счетчику и отображаем его на экране
Играйте в Doom на своем IPod за 5 простых шагов !: 5 шагов
Играйте в Doom на своем IPod за 5 простых шагов!: Пошаговое руководство по двойной загрузке Rockbox на iPod, чтобы играть в Doom и десятки других игр. Это действительно легко сделать, но многие люди до сих пор удивляются, когда видят, как я играю дум на своем iPod, и путаются с инструкциями
Кормушка для рыбы Arduino Uno за 6 простых и простых шагов !: 6 шагов
Arduino Uno Fish Feeder за 6 простых и дешевых шагов !: Итак, для этого проекта может потребоваться немного предыстории. Людям с домашними рыбками, вероятно, приходилось сталкиваться с той же проблемой, что и мне: отпуск и забывчивость. Я постоянно забывала покормить рыбу и всегда старалась это сделать, пока она не упала
Акустическая левитация с Arduino Uno, шаг за шагом (8 шагов): 8 шагов
Акустическая левитация с Arduino Uno Пошаговая инструкция (8 шагов): ультразвуковые преобразователи звука L298N Женский адаптер питания постоянного тока с штыревым контактом постоянного тока Arduino UNOBreadboard Как это работает: сначала вы загружаете код в Arduino Uno (это микроконтроллер, оснащенный цифровым и аналоговые порты для преобразования кода (C ++)