Двухканальный термометр на AtMega8
- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Двухканальный термометр на AtMega8
хвост, исходник в архиве в полном порядке, ничего там не повреждено. Более 300 скачиваний и никто еще не пожаловался.
. Распаковываете архив, и открываете файл term.prj программой CodeVision AVR. В тексте программы есть комментарии.
Re: Двухканальный термометр на AtMega8
Nusik1975 спасибо за ответ. Всех С новым годом!
Последний раз редактировалось хвост Пт янв 01, 2016 18:58:57, всего редактировалось 1 раз.
- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Двухканальный термометр на AtMega8
В исходнике есть строка, она откомментирована, и в ней можно прибавить или отнять столько, на сколько привирает датчик
- Smith2011
- Прорезались зубы
- Сообщения: 210
- Зарегистрирован: Вс дек 26, 2010 23:08:53
- Откуда: Москва, Зеленоград
- Контактная информация:
Re: Двухканальный термометр на AtMega8
Все и вся собрал из темы в один файл, может кому пригодится. 
- Вложения
-
- Двухканальный термометр на AtMega8.rar
- (539.55 КБ) 851 скачивание
- Smith2011
- Прорезались зубы
- Сообщения: 210
- Зарегистрирован: Вс дек 26, 2010 23:08:53
- Откуда: Москва, Зеленоград
- Контактная информация:
Re: Двухканальный термометр на AtMega8
Полистал код и понял что ничего не понимаю
Сделал свой вариант регулировки яркости индикаторов от фоторезистора.
Пытался снять видео, но фотик не передает всю глубину регулировки, он от самой яркой, до еле заметной в темноте, т.к. добавляет чувствительности на матрице фотика
. Регулируется как верхний, так и нижний предел яркости.
Строго не судите, я не схемотехник, но она работает и очень хорошо.
Транзистор у меня стоит КТ502.

Фоторезистор самый простой с Али - 3 рубля штучка http://ru.aliexpress.com/item/Free-Ship ... eb201560_8

Сделал свой вариант регулировки яркости индикаторов от фоторезистора.
Пытался снять видео, но фотик не передает всю глубину регулировки, он от самой яркой, до еле заметной в темноте, т.к. добавляет чувствительности на матрице фотика
Строго не судите, я не схемотехник, но она работает и очень хорошо.
Транзистор у меня стоит КТ502.
Фоторезистор самый простой с Али - 3 рубля штучка http://ru.aliexpress.com/item/Free-Ship ... eb201560_8
- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
У транзистора на вашей схеме надо поменять местами эмиттер и коллектор (минус ведь общий?). Еще стОит последовательно с переменными резисторами поставить небольшие постоянные, во избежание нулевых сопротивлений.Smith2011 писал(а):вариант регулировки яркости индикаторов от фоторезистора
Вот такая схема тоже работает:
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
Nusik1975, я так понимаю, что меняя имена портов в этом куске кода
можно переопределить подключение индикаторов к мк, как удобно для разводки пп? Или ещё где-то что-то менять надо?
Пользуясь случаем, СПАСИБО вам за полезный прибор и многолетнюю поддержку проекта
Спойлер
Код: Выделить всё
void show_digit(char what_digit) //проверяем, какую цифру выводить
{
switch (what_digit)
{case 1: {PORTD.3=0;PORTB.2=0;} break;
case 2: {PORTB.0=0;PORTD.3=0;PORTB.1=0;PORTB.4=0;PORTB.5=0;} break;
case 3: {PORTB.0=0;PORTD.3=0;PORTB.2=0;PORTB.5=0;PORTB.1=0;}break;
case 4: {PORTD.4=0;PORTB.1=0;PORTD.3=0;PORTB.2=0;}break;
case 5: {PORTB.0=0;PORTD.4=0;PORTB.1=0;PORTB.2=0;PORTB.5=0;}break;
case 6: {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.2=0;PORTB.1=0;}break;
case 7: {PORTB.0=0;PORTD.3=0; PORTB.2=0;}break;
case 8: {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTB.4=0;PORTD.4=0;PORTB.1=0;}break;
case 9: {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTD.4=0;PORTB.1=0;}break;
case 0: {PORTB.0=0;PORTD.3=0; PORTB.2=0;PORTB.5=0;PORTB.4=0;PORTD.4=0;}break;
case 10: {PORTB.1=0;}break;
case 11: {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.1=0;}break; // Буква Е
case 12: {PORTB.4=0;PORTB.1=0;}break; // Буква r
case 13: {PORTB.0=0;PORTD.4=0;PORTB.4=0;PORTB.5=0;PORTB.2=0;PORTD.3=0;}break; // Буква О
case 14: {PORTB.4=0;PORTB.5=0;PORTB.2=0;}break; // Буква u
case 15: {PORTD.4=0;PORTB.1=0;PORTB.4=0;PORTB.5=0;}break; // Буква t
}
} Пользуясь случаем, СПАСИБО вам за полезный прибор и многолетнюю поддержку проекта
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Двухканальный термометр на AtMega8
Там придется по всему коду проходить. Мне кажется, что гораздо проще переразвести печатку под себя.
- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
В том и вопрос. Начал делать печатку, и все дороги от мк к индикатору крест-накрест.
Своим выпуклым военно-морским глазом неспециалиста посмотрел код и увидел там еще порт для точки и порты для разрядов.
Чтобы подключить индикаторы по-своему, надо только их, а также сегменты, переопределить, или где-то что-то еще?
Своим выпуклым военно-морским глазом неспециалиста посмотрел код и увидел там еще порт для точки и порты для разрядов.
Чтобы подключить индикаторы по-своему, надо только их, а также сегменты, переопределить, или где-то что-то еще?
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Двухканальный термометр на AtMega8
Нужно пройтись по всему коду и проверить, где используются порты, отвечающие за сегменты. И их переопределить. Разряды трогать не нужно.
- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
Разобрался-поменял-скомпилировал-прошил-работает. На макетке.
Трогал и разряды и сегменты и датчики. Только точка случайно осталась на прежнем месте
Теперь на печатке все ровненько, а было так:

Период опроса датчиков поставил 5 секунд. Коррекцию датчика убрал. Если датчик врет, то он не врет, а стоит в неудачном месте. У меня сейчас оба датчика рядом на макетке - разница показаний обычно 0-0.1°, но бывает до 0.4°, как и обещано в даташите (флуктуации датчика не более ±0.2°).
Трогал и разряды и сегменты и датчики. Только точка случайно осталась на прежнем месте
Теперь на печатке все ровненько, а было так:
Период опроса датчиков поставил 5 секунд. Коррекцию датчика убрал. Если датчик врет, то он не врет, а стоит в неудачном месте. У меня сейчас оба датчика рядом на макетке - разница показаний обычно 0-0.1°, но бывает до 0.4°, как и обещано в даташите (флуктуации датчика не более ±0.2°).
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Двухканальный термометр на AtMega8
Ну и отлично. Выкладывайте тогда здесь свои наработки, может, кому и пригодится 

- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
Моя печатка и прошивка без пользы, все-таки индикаторы и дизайны у всех разные.
Но вот - ГЕНЕРАТОР КОДА, в экселе
Позволяет полуавтоматически получить куски кода под свою разводку пп.
В файле все инструкции есть. Вкратце: при разводке печатки подключаете индикаторы и датчики к портам мк как удобно, вписываете это подключение в файл, полученные куски кода вставляете с заменой в соответствующие места исходника (в CVAVR), компилируете-шьете, работает!
Заодно исправил косячок, который в теме уже упоминался - температура "-9.9" выводилась как "-09".
- в 72 строке
- в 99 строке
- в 141 и 142 строках
- в 189 и 190 строках
Прошивка с исправленной "Проблемой -9.9". Порядок портов как в оригинале. Коррекция первого датчика убрана. Период опроса датчиков 2 сек.
Не забываем отписываться о результатах применения моих поделок
Но вот - ГЕНЕРАТОР КОДА, в экселе
Позволяет полуавтоматически получить куски кода под свою разводку пп.
В файле все инструкции есть. Вкратце: при разводке печатки подключаете индикаторы и датчики к портам мк как удобно, вписываете это подключение в файл, полученные куски кода вставляете с заменой в соответствующие места исходника (в CVAVR), компилируете-шьете, работает!
Спойлер
Для исправления "Проблемы -9.9" нужно в исходнике исправить:- в 72 строке
Код: Выделить всё
if(minus&(tem<=9.9))tochka();
//исправить на
if(minus&(tem<10))tochka();Код: Выделить всё
if(minus1&(tem1<=9.9))tochka();
//исправить на
if(minus1&(tem1<10))tochka();Код: Выделить всё
if(minus&(tem>=9.9))temp=tem;
if(minus&(tem<=9.9))temp=tem*10;
//исправить на
if(minus&(tem>=10))temp=tem;
if(minus&(tem<10))temp=tem*10;Код: Выделить всё
if(minus1&(tem1>=9.9))temp1=tem1;
if(minus1&(tem1<=9.9))temp1=tem1*10;
//исправить на
if(minus1&(tem1>=10))temp1=tem1;
if(minus1&(tem1<10))temp1=tem1*10;Не забываем отписываться о результатах применения моих поделок
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

- Stalker_W
- Открыл глаза
- Сообщения: 50
- Зарегистрирован: Пт окт 09, 2009 19:28:13
- Откуда: Украина
- Контактная информация:
Re: Двухканальный термометр на AtMega8
Генератор кода в Экселе - это, простите за каламбур, ат-мегАоригианлно! мяу!


Re: Двухканальный термометр на AtMega8
Iggis
Спс за прошивку с убранным "косячком -9.9___-09 "
залил, тестирую вторые сутки- полёт нормальный
Спс за прошивку с убранным "косячком -9.9___-09 "
залил, тестирую вторые сутки- полёт нормальный
Пьяный проспиться_Дурак никогда!
Не заведешь кота, самого заставлю мышей жрать!
(Бестужев) кф
ГАРДЕМАРИНЫ, ВПЕРЕД!
Не заведешь кота, самого заставлю мышей жрать!
(Бестужев) кф
ГАРДЕМАРИНЫ, ВПЕРЕД!
- Iggis
- Держит паяльник хвостом
- Сообщения: 947
- Зарегистрирован: Пн мар 25, 2013 03:20:47
- Откуда: Tallinn
Re: Двухканальный термометр на AtMega8
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например: http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg

-
Aleksandr0411
- Первый раз сказал Мяу!
- Сообщения: 29
- Зарегистрирован: Пн авг 25, 2014 09:12:20
Re: Двухканальный термометр на AtMega8
А как установить фьюзы в uniprof?
- Вложения
-
- 1.jpg
- uniprof
- (120.95 КБ) 892 скачивания
Re: Двухканальный термометр на AtMega8
Aleksandr0411 Автор очень хорошо описал установку фьюз в статье там и картинка есть. Повторяю его слова;Для выставления фьюзов в других программах я пользуюсь универсальным правилом. Считываем фьюзы нового МК и смотрим на фьюз RSTDISBL. Если на нем нет галочки (как в CodeVision и как на скриншоте), то все галочки ставим также. А вот если на этом фьюзе есть галочка, то все фьюзы нужно выставить инверсно, то есть наоборот. Фьюз RSTDISBL никогда не трогайте. Если его изменить, то прошивка МК станет невозможна.