Страница 1 из 2

Atmega128 Usb

Добавлено: Пн окт 22, 2012 7:46 pm
ser009
Доброго времени суток.

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

Может кто занимался написанием прошивок
Просто из меня "писатель прошивок" - никакой :oops:

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
gw_1.jpg (141.87 КБ) 14373 просмотра
Подскажите может нужно строку подкорректировать?

Re: Atmega128 Usb

Добавлено: Ср окт 31, 2012 12:30 am
ser009
Всё с выводом температуры разобрался:
1.jpg
1.jpg (33.88 КБ) 14371 просмотр
2.jpg
2.jpg (27.61 КБ) 14371 просмотр
3.jpg
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шт.
Подкорректировал формат вывода температуры

Вот может кто подскажет как вывести в формате хх.х градуса???

gw_1.jpg
Макетка и 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
ds1990.JPG (84 КБ) 14281 просмотр
gw_12.jpg
gw_12.jpg (73.12 КБ) 14281 просмотр
шина работает медленно датчик приходится держать несколько секунд.

???Вот думаю нужен ли серийный номер датчикам температуры???

продолжение следует...