Страница 1 из 2
Atmega128 Usb
Добавлено: Пн окт 22, 2012 7:46 pm
ser009
Доброго времени суток.
Есть в наличии вот такое железо.
Можно ли его приспособить к данному проекту???

- 22102012218_.JPG (72 КБ) 14447 просмотров
Плата mega128+Usb
Ecn28j60 модуль
UsbUsp программатор (для платы)
Датчики ds18B20
Может кто занимался написанием прошивок
Просто из меня "писатель прошивок" - никакой

Re: Atmega128 Usb
Добавлено: Вт окт 23, 2012 11:09 am
sergejey
Теоретически, возможно -- нужно лишь всё это друг к другу подключить и прошить правильно

Но боюсь, что я тоже не помогу, т.к. в таких кастомных прошивках не очень разбираюсь...
Re: Atmega128 Usb
Добавлено: Вт окт 30, 2012 11:45 pm
ser009
И так ...
Накидал код для датчиков ds18b20 .
Программа посылает в порт строку формата:
GET /objects/?object=sensorT2&op=m&m=statusChanged&t=-9999.0
GET /objects/?object=sensorT1&op=m&m=statusChanged&t=26.0
sensorT1 - датчик №1
sensorT2 - соответственно датчик №2
Строку взял из
http://smartliving.ru/Main/ArduinoCode
Вот только не получается параметр температуры вывести в меню управления???
Может формат кода неверный???
sprintf(buf, "GET /objects/?object=sensorZal&op=m&m=tempChanged&t=%0d.%d HTTP/1.0", (int)current_temp2, abs(temp1));
насколько я понял эту строку:
- Sprintf - процедура вывода данных
- buf [?]
- sensorZal - название датчика (у меня sensorT1/sensorT2)
-%0d.%d - непосредственно параметр температуры
причём как я правильно понимаю уходит информация находящаяся чисто в скобках " "
Вот как выходят данные у меня:

- gw_1.jpg (141.87 КБ) 14373 просмотра
Подскажите может нужно строку подкорректировать?
Re: Atmega128 Usb
Добавлено: Ср окт 31, 2012 12:30 am
ser009
Всё с выводом температуры разобрался:

- 1.jpg (33.88 КБ) 14371 просмотр

- 2.jpg (27.61 КБ) 14371 просмотр

- 3.jpg (37.36 КБ) 14371 просмотр
Методы:
//$params['t']
$old_temperature=$this->getProperty('temperature');
$t=round($params['t']*2)/2;
$this->setProperty('temperature',$t);
if ($t>$old_temperature) {
$d=1;
} elseif ($t<$old_temperature) {
$d=-1;
} else {
$d=0;
}
$this->setProperty('direction',$d);
$this->setProperty("updated",time());
$this->setProperty("updatedTime",date("H:i",time()));
кусок кода из CodevisionAVR обработки 1 датчика:
while (1)
{
temp[0]=ds18b20_temperature(&rom_code[0][0]);
if (temp[0]>1000){
temp[0]=4096-temp[0];
temp[0]=-temp[0];
}
printf("GET /objects/?object=sensorT1&op=m&m=TempChanged&t=%i.%u \r\n",temp[0],temp[0]%1); // процедура отправки температуры в формате temp=xx
Re: Atmega128 Usb
Добавлено: Ср окт 31, 2012 10:44 am
sergejey
а как в итоге получилось железо друг к другу подключить?
Re: Atmega128 Usb
Добавлено: Ср окт 31, 2012 11:11 am
ser009
Плата имеет USB порт собранный на PL-2303.
При подключении устройство определяется как виртуальный COM-порт.
Ну а дальше как в статье
http://smartliving.ru/Main/ArduinoDirect Arduino без Ethernetshield-а
С ecn28j60 надо собирать стабилизатор на 3.3v согласно Datasheeta.
Из стабилизаторов только 7805 на 5.0v
У меня нет магазина радиодеталей шаговой доступности, поэтому приобретаю кучей у китайцев, либо когда выезжаю в крупный город.
PS . Комплект под Arduino уже едет:
W5100 Ethernet + ATmega2560 ATmega2560-16AU + USB -
http://www.aliexpress.com/snapshot/204467756.html
MQ-8 hydrogen sensor module new in stock -
http://www.aliexpress.com/snapshot/204467755.html Датчик хочу использовать на природный газ
ну и радио модули NRF24L01 upgrade version, так до кучи взял
http://www.aliexpress.com/snapshot/204467755.html
Весь в ожидании ПОСЫЛКИ продолжение следует ...
Re: Atmega128 Usb
Добавлено: Ср окт 31, 2012 11:04 pm
ser009
Увеличил количество подключаемых датчиков ds18b20 до 8шт.
Подкорректировал формат вывода температуры
Вот может кто подскажет как вывести в формате хх.х градуса???

- Макетка и 8 датчиков
- gw_1.jpg (83.29 КБ) 14340 просмотров
Re: Atmega128 Usb
Добавлено: Чт ноя 01, 2012 11:12 am
sergejey
ser009 писал(а):Увеличил количество подключаемых датчиков ds18b20 до 8шт.
Подкорректировал формат вывода температуры
Вот может кто подскажет как вывести в формате хх.х градуса???
система принимает дробные значения, так что по идее проблем не должно быть.
единственное, что меня смущает, так это передача значка градусов -- я думаю этого не нужно, можно передавать просто цифру для корректности хранения данных
Re: Atmega128 Usb
Добавлено: Пт ноя 02, 2012 7:25 am
ser009
sergejey писал(а):ser009 писал(а):
единственное, что меня смущает, так это передача значка градусов -- я думаю этого не нужно, можно передавать просто цифру для корректности хранения данных
Знак градуса убрал
Re: Atmega128 Usb
Добавлено: Пт ноя 02, 2012 11:59 pm
ser009
Попробовал подключить к 1-wire шине датчик ds1990 вот примерно что получилось ...

- ds1990.JPG (84 КБ) 14281 просмотр

- gw_12.jpg (73.12 КБ) 14281 просмотр
шина работает медленно датчик приходится держать несколько секунд.
???Вот думаю нужен ли серийный номер датчикам температуры???
продолжение следует...