[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
По мотивам проекта "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
памяти в мк хватает, но пока встрял с непонятной ошибкой. Пока не могу разобраться на что вообще ругается компилятор

Прикрепления: 0288573.jpg (104.7 Kb) · 5732083.jpg (382.7 Kb) · 8480197.jpg (384.5 Kb) · 4140101.jpg (121.6 Kb) · 2427068.png (33.7 Kb) · 4514230.png (26.3 Kb) · 2153047.png (106.1 Kb)


 
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хему целиком выложу попозже.
Прикрепления: 8893289.jpg (240.9 Kb) · 1878957.jpg (459.0 Kb)


 
maxДата: Среда, 17.04.2013, 21:26 | Сообщение # 8
Группа: Друзья
Сообщений: 170

Статус: Offline
Нормально получается. ok
Осталось переделать USB термометр на 2 датчикаsmile


 
exersizzeДата: Среда, 17.04.2013, 21:41 | Сообщение # 9
Группа: Администраторы
Сообщений: 723

Статус: Offline
max, ну кстати да, вариант поинтересней будет smile

 
maxДата: Среда, 17.04.2013, 21:46 | Сообщение # 10
Группа: Друзья
Сообщений: 170

Статус: Offline
Это точно. smile

 
RD3AVJДата: Четверг, 18.04.2013, 17:19 | Сообщение # 11
Группа: Свой человек
Сообщений: 175

Статус: Offline
Блин мои передатчики с 26 февраля идут из Китая sad

 
maxДата: Четверг, 18.04.2013, 17:27 | Сообщение # 12
Группа: Друзья
Сообщений: 170

Статус: Offline
Скоро должны подойти, проблемы на почте почти устранены.

 
exersizzeДата: Пятница, 19.04.2013, 13:05 | Сообщение # 13
Группа: Администраторы
Сообщений: 723

Статус: Offline
Ага, с международными отправления у нашей почты сейчас какой-то пздц, который они скромненько называют коллапсом  biggrin у самого с февраля железки где-то "едут". Но вроде из того уже что-то проклюнулось.
Вот набросал схемку для приемника термометра к коду который выкладывал выше
Прикрепления: 1603705.png (120.7 Kb)


 
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 посылок получилось.К новому году наверное дойдут smile


 
kip96Дата: Суббота, 20.04.2013, 07:46 | Сообщение # 16
Группа: Свой человек
Сообщений: 170

Статус: Offline
Мне пришли посылки мартовские. Рекорд -18 дней. А с февраля и начала марта ещё нет. Видимо в низу кучи лежат.
Цитата (exersizze)
Не знаю как лучше сделать,
Так сделай, как уже обсуждалось,  при работе с несколькими передатчиками. Сделай приёмик как ведущий. Все датчики ждут запроса от приёмника. И кого спросили, тот и ответил. А если нет, то нет связи. Я выкладывал код, там приёмник определял присутствие датчика.
Таким образом, сможишь связать всё что угодно, выводить на комп всё, к чему привяжишь трансиверы, смотреть температуру, логер, синхронизировать часы по дому, включать чайник по утрам вместо будильника smile




Сообщение отредактировал 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)
Передатчик взял с этой темы http://avrproject.ru/publ/logger_temperatury_2_0/1-1-0-134

exersizze
, передатчик поместится в какойнибудь attiny2313?


 
maxДата: Воскресенье, 21.04.2013, 17:23 | Сообщение # 19
Группа: Друзья
Сообщений: 170

Статус: Offline
Цитата (niko-lay)
exersizze, передатчик поместится в какойнибудь attiny2313?
Да. В конце статьи:
Цитата
Код для передатчика на Attiny2313 (спасибо Max'у за тестирование)


 
exersizzeДата: Воскресенье, 21.04.2013, 20:38 | Сообщение # 20
Группа: Администраторы
Сообщений: 723

Статус: Offline
niko-lay, в тини полезет. Но тот код который в конце статьи по ссылке не подойдет, здесь надо отправлять только два байта, писал выше.
max, твои модули для передатчика подойдут как раз кстати wink Дойдут руки попробую их использовать с минимальными переделками.


Да и еще, никто не задумывался об использовании солнечных батарей в качестве источника питания уличных приборов? Может есть у кого опыт?
Прикрепления: 2493331.jpg (304.8 Kb)


 
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
maxexersizze
Шикарная, доведенная идея!  victory smile
Результат ошеломил


 
  • Страница 1 из 1
  • 1
Поиск: