По мотивам проекта "USB термометр"
|
|
exersizze | Дата: Понедельник, 15.04.2013, 22:29 | Сообщение # 1 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Собственно, широко известный в узких кругах, проект термометра подключающегося к компьютеру по USB http://bascom.at.ua/publ/usb_termometr_na_atmega8/1-1-0-30
Все началось с того, что решил на работу собрать простенький термометр. Вариант с индикаторами и дисплеями отбросил сразу-работа за компьютером, поэтому достаточно подключения к пк по uart и вывод в маленькое окно приложения. И тут снова попался на глаза этот проект. Соединение по юсб, есть куча готовых приложений так что остановился на этом варианте. В устройстве используется софтовый USB http://avrproject.ru/publ....1-0-118 поэтому как нельзя кстати подошел проггер usbasp в качестве заготовки для устройства Единственное что пришлось изменить - это перебросить вывод D- USB на PortD.3 (usbasp использует для входа D- ножку PortB.0). Благо в проггере этот вывод не используется и никуда не заведен, можно просто соединить проводком эти выводы.
Красным на схеме показаны изменения относительно исходной
На плате еще есть светодиоды (PortC.0 и PortC.1), задействованы и они
Вход для датчика температуры я перебросил на PortB.3 (он же MOSI) - удобней соединять на разъеме
Прошивка и исходник для этого термометра лежит здесь http://avrproject.ru/usb_termo_rf/kod0001.zip устройство определяется как HID устройство поэтому дополнительный драйвер для винды ставить не нужно, на семерке пошло без проблем.
А теперь то что мне очень понравилось в данном проекте. Респект Петру с http://purebasic.mybb.ru который написал приложение для просмотра данных с этого термометра. Да не просто просмотра, а с организацией web сервера в ней, с помощью которого можно получать температуру на любой компьютер находящийся в сети!
Саму программу можно взять здесь http://avrproject.ru/usb_termo_rf/webserverhid.zip <b></b>
После запуска программа создает сервер который транслирует температуру в сеть. Их можно посмотреть в любом браузере набрав сетевой адрес компа в сети если программа запущена на данном компьютере достаточно ввести айпи по умолчанию http://127.0.0.1
и на удаленном компьютере в локальной сети, для этого нужно ввести адрес того компьютера где запущена программа и подключен термометр
UPD: за простым повторением дело не стоит, хочу попробовать добавить радиоканал чтобы была возможность принимать температуру с улицы. Радиотрансиверы все теже: NRF24L01 http://avrproject.ru/publ....-1-0-92 памяти в мк хватает, но пока встрял с непонятной ошибкой. Пока не могу разобраться на что вообще ругается компилятор
|
|
| |
kip96 | Дата: Вторник, 16.04.2013, 07:26 | Сообщение # 2 |
Группа: Свой человек
Сообщений: 170
Статус: Offline
| Цитата (exersizze) Вход для датчика температуры я перебросил на PortB.3 (он же MOSI) - удобней соединять на разъеме Так,а как ты NRF24L01 хочешь подключить? Не будут ли они конфликтовать?
|
|
| |
exersizze | Дата: Вторник, 16.04.2013, 10:17 | Сообщение # 3 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Неее, датчика на приемнике потом не будет, он будет на передатчике.
|
|
| |
exersizze | Дата: Вторник, 16.04.2013, 14:37 | Сообщение # 4 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Цитата (exersizze) встрял с непонятной ошибкой Разобрался в чем дело. В коде трансивера есть константа Status, по видимому в библиотеки usb она тоже где-то проскакивает.
|
|
| |
Петр | Дата: Среда, 17.04.2013, 01:13 | Сообщение # 5 |
Группа: Проверенные
Сообщений: 47
Статус: Offline
| Цитата (exersizze) Прошивка и исходник для этого термометра лежит здесь Там библиотека версии 1.02. В принципе для термометра не имеет значения, но все же ее лучше обновить до версии 1.06, в которой исправлены многие ошибки.
|
|
| |
exersizze | Дата: Среда, 17.04.2013, 13:38 | Сообщение # 6 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Петр, спасибо поменяю!
|
|
| |
exersizze | Дата: Среда, 17.04.2013, 21:14 | Сообщение # 7 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Удалось подключить радиомодули к этому термометру и проверить код
код сыроват, но уже позволяет передавать температуру с удаленного термометра-передатчика.
исходник и прошивка
Передатчик взял с этой темы http://avrproject.ru/publ/logger_temperatury_2_0/1-1-0-134 единственное что пришлось переделать прошивку (данные от термометра отправляются в сыром виде - 2 байта которые читаются с датчика)
код и прошивка передатчика
Из того что требуется добавить - обнаружение пропадания сигнала от передатчика, а то при его отключении остаются последние показания температуры. Не знаю как лучше сделать, обнулением переменных через определенный промежуток времени или делать дополнительный опрос передатчика на присутствие?
NRF24L01 в приемнике подключил так: SS - PortB.2, CE - PortC.2, IRQ - PortC.3, остальные стандартный SPI. Cхему целиком выложу попозже.
|
|
| |
max | Дата: Среда, 17.04.2013, 21:26 | Сообщение # 8 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Нормально получается. Осталось переделать USB термометр на 2 датчика.
|
|
| |
exersizze | Дата: Среда, 17.04.2013, 21:41 | Сообщение # 9 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| max, ну кстати да, вариант поинтересней будет
|
|
| |
max | Дата: Среда, 17.04.2013, 21:46 | Сообщение # 10 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Это точно.
|
|
| |
RD3AVJ | Дата: Четверг, 18.04.2013, 17:19 | Сообщение # 11 |
Группа: Свой человек
Сообщений: 175
Статус: Offline
| Блин мои передатчики с 26 февраля идут из Китая
|
|
| |
max | Дата: Четверг, 18.04.2013, 17:27 | Сообщение # 12 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Скоро должны подойти, проблемы на почте почти устранены.
|
|
| |
exersizze | Дата: Пятница, 19.04.2013, 13:05 | Сообщение # 13 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Ага, с международными отправления у нашей почты сейчас какой-то пздц, который они скромненько называют коллапсом у самого с февраля железки где-то "едут". Но вроде из того уже что-то проклюнулось. Вот набросал схемку для приемника термометра к коду который выкладывал выше
|
|
| |
exersizze | Дата: Пятница, 19.04.2013, 13:07 | Сообщение # 14 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| IRQ и CE конечно можно повесить на PB.0 и PB1 сделав изменения в прошивке, но на плате проггера они заняты. Поэтому как будет отдельная плата для термометра можно будет перебросить.
|
|
| |
Aleks8383 | Дата: Пятница, 19.04.2013, 15:17 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 104
Статус: Offline
| Цитата Цитата (max) Скоро должны подойти, проблемы на почте почти устранены. Я бы так не говорил,вот почитайте особенно понравилось про количество товаро зависшего на таможне.А у меня как на зло, появилось немного денжат,заказал себе всяких железок,целых 12 посылок получилось.К новому году наверное дойдут
|
|
| |
kip96 | Дата: Суббота, 20.04.2013, 07:46 | Сообщение # 16 |
Группа: Свой человек
Сообщений: 170
Статус: Offline
| Мне пришли посылки мартовские. Рекорд -18 дней. А с февраля и начала марта ещё нет. Видимо в низу кучи лежат. Цитата (exersizze) Не знаю как лучше сделать, Так сделай, как уже обсуждалось, при работе с несколькими передатчиками. Сделай приёмик как ведущий. Все датчики ждут запроса от приёмника. И кого спросили, тот и ответил. А если нет, то нет связи. Я выкладывал код, там приёмник определял присутствие датчика. Таким образом, сможишь связать всё что угодно, выводить на комп всё, к чему привяжишь трансиверы, смотреть температуру, логер, синхронизировать часы по дому, включать чайник по утрам вместо будильника
Сообщение отредактировал kip96 - Суббота, 20.04.2013, 07:47 |
|
| |
exersizze | Дата: Воскресенье, 21.04.2013, 10:34 | Сообщение # 17 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Цитата (kip96) Я выкладывал код, там приёмник определял присутствие датчика. во! то что нужно
|
|
| |
niko-lay | Дата: Воскресенье, 21.04.2013, 17:04 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 19
Статус: Offline
| exersizze, передатчик поместится в какойнибудь attiny2313?
|
|
| |
max | Дата: Воскресенье, 21.04.2013, 17:23 | Сообщение # 19 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Цитата (niko-lay) exersizze, передатчик поместится в какойнибудь attiny2313? Да. В конце статьи:
|
|
| |
exersizze | Дата: Воскресенье, 21.04.2013, 20:38 | Сообщение # 20 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| niko-lay, в тини полезет. Но тот код который в конце статьи по ссылке не подойдет, здесь надо отправлять только два байта, писал выше. max, твои модули для передатчика подойдут как раз кстати Дойдут руки попробую их использовать с минимальными переделками.
Да и еще, никто не задумывался об использовании солнечных батарей в качестве источника питания уличных приборов? Может есть у кого опыт?
|
|
| |
max | Дата: Воскресенье, 21.04.2013, 21:55 | Сообщение # 21 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Цитата (exersizze) Дойдут руки попробую их использовать с минимальными переделками. Правильное решение.
|
|
| |
max | Дата: Среда, 24.07.2013, 09:22 | Сообщение # 22 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Как-то так: Первый шаг к домашней метеостанции
|
|
| |
exersizze | Дата: Среда, 24.07.2013, 12:49 | Сообщение # 23 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| max,
|
|
| |
max | Дата: Среда, 24.07.2013, 17:05 | Сообщение # 24 |
Группа: Друзья
Сообщений: 170
Статус: Offline
| Это тебе спасибо за идею и за примеры кода работы с датчиками.
|
|
| |
AlekS | Дата: Среда, 24.07.2013, 21:59 | Сообщение # 25 |
Группа: Проверенные
Сообщений: 247
Статус: Offline
| max, exersizze, Шикарная, доведенная идея! Результат ошеломил
|
|
| |