Да, сейчас результат АЦП сразу влияет на яркость. Для добавления поддержки dht22 экономил на чем только мог, в том числе на коде, дававшем эту плавность. Думаю, прилепив туда конденсатор, можно добиться похожего эффекта "аппаратным" способом.
Устанавливать после WinAVR. После установки добавить компилятор в PATH раньше WinAVR-овского (Это где-то в Панель управления => Система => Дополнительно => Переменные среды => Path).
Я когда-то пробовал ради интереса на другом проекте и снял скринкаст - WinAVR, GCC, QtCreator - настройка этой связки под Windows.
"Плавность" установки яркости обеспечивалась этим кодом, который сейчас упрощён.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Ок. спрасибо. avr-gcc настроился)) сейчас яркость сделаю, а то при дневном освещении заметны подергивания яркости, а когда темнеет-- нормально регулируется от АЦП... может наводки?
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Выпилил наконец из 5мм толщины АБС-пластика корпус и засунул свои "проводки" внутрь.
Матрицы размером 32x32 мм², размеры корпуса получились 42x138*26 мм³. Датчик BMP180 закреплён внутри сзади (высверлено отверстие под сенсор), датчик DHT22 подключается через обычный 3.5мм аудиоразъём. Датчик освещённости сверху (на фото/видео прикрыт кусочком тёмной плёнки, чтобы яркость была минимальна и фото/видео с телефона более-менее получились).
корпус это хорошо)). у меня редко конструкции доживают до корпуса. никак git не могу победить. не хочет патч накладываться и всё тут, склонировал вашу ветку полностью, внес изменения, создал патч, результат на картинке. я бы из без патчей обошелся, даже перешил фьюзы под 8МГц и переназначил порты под китайскую плату, но теперь у нас опять ветки расходиться начали -- я вернул плавную регулировку яркости, как было раньше((( руками постоянно править исходники это же неправильно, когда git это умеет делать быстро
кстати не сравнивали температуру с датчиков? у меня BMP180 +26,8 а DS18b20 +21,3 показывает. Нагревается похоже BMP от платы..
Похоже, придётся BMP180 наружу выводить. Как минимум, крепить на задней стенке - но снаружи. Когда все датчики болтались на проводах - что DS18B20, что BMP180, что DHT22 показывали приблизительно одно и то же, разница между минимальным и максимальным значениями была меньше 0,5°C.
По поводу git - я бы мог показать, как это сделать в git красиво (с отдельной локальной веткой). В Skype можете меня (wiselord1983) добавить, через тот же teamviewer я бы мог всё показать и пояснить.
WiseLord поэтому я и убирал показания температуры от BMP180, завышаются сильно от нагрева. проще, кажется еще один DS18B20 поставить в отверстие в корпусе, чтобы он заподлицо был и не торчал из него.
shura2000 посмотрите, может контакт где-то плохой. последние прошивки работают стабильно. я и под 8 и под 16Мгц только что проверял. кстати, нашел причину отказа автоматической регулировки яркости при кварце на 16МГЦ. Причина в настройках АЦП была. вернул от ранней версии и все работает на 16МГц. в новой было так: Спойлерvoid matrixScrollAndADCInit(void) { // Enable Timer2 overflow interrupt and set prescaler to 1024 (7812 Hz) #if defined(atmega8) TIMSK |= (1<<TOIE2); TCCR2 = (1<<CS22) | (1<<CS21) | (1<<CS20); #else TIMSK2 = (1<<TOIE2); TCCR2B |= (1<<CS22) | (1<<CS21) | (1<<CS20); #endif
// Adjust result to left, use VCC as Vref and set ADC channel // ADMUX = (1<<ADLAR) | (0<<REFS1) | (1<<REFS0) | ADC_CHANNEL; // Enable ADC ADCSRA |= (1<<ADEN);
return; }
я вернул на вот это из ранней версии: Спойлерvoid matrixScrollAndADCInit(void) { /* Enable Timer2 overflow interrupt and set prescaler to 1024 (7812 Hz) */ #if defined(atmega8) TIMSK |= (1<<TOIE2); TCCR2 |= (1<<CS22) | (1<<CS21) | (1<<CS20); #else TIMSK2 |= (1<<TOIE2); TCCR2B |= (1<<CS22) | (1<<CS21) | (1<<CS20); #endif
ADCSRA |= (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); /* Set ADC prescaler to 128 */ ADMUX = (1<<ADLAR) | (0<<REFS1) | (1<<REFS0); /* Adjust result to left, use VCC as Vref */ ADMUX |= ADC_CHANNEL; /* Set ADC channel */
у меня DS18B20 в массивном стальном корпусе, тепловая инерция большая и такой кусок железа работает как радиатор, нагрев меньше даже если установлен в корпусе прибора.
Всем привет! WiseLord, можете сделать прошивку, в которой выход на "пищалку" будет инвертирован? Это нужно, чтобы подключить ее как в схеме JY-MCU 3208pro, а то сейчас она все время пищит, замолкает только при нажатии на кнопку. И еще, если не сложно, можно отключить вывод температуры с BMP180 и DHT22, а также убрать из бегущей строки атм., рт. ст.? Сам в программировании не силен, поэтому вся надежда на Вас. Буду очень признателен. Заранее спасибо.
_________________ Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Пищалка в моём варианте схемы подключена между выводом МК и питанием, т.е. пищит, когда МК выдаёт 0 на линию. В схеме J-MCU Pro пищалка подключена между землёй и коллектором npn-транзистора Q1. Когда на его базу МК выдаёт 0, транзистор (NPN!) открывается, и пищалка начинает звучать.
Разницы в сигналах никакой. Не знаю, как Вы там подключили пищалку, но явно неправильно.
Чтобы не выводить температуры с датчиков DHT22 и BMP180 просто удалите эти строки в исходнике. Программистом быть для этого не надо, а как собрать прошивку под windows тут уже обсуждалось не раз, в том числе совсем недавно. Текстовые метки можно подсократить hex-редактором, подправив eeprom, либо же там же в исходнике убрать вообще. Опять же, программистом быть для этого не нужно, код в этом месте достаточно прост.
Упс.. А пищалку-то я себе еще и не припаял. От материнской платы пойдет или нужна со встроенным генератором? Упустил я этот момент с пищалкой , ибо будильником на этом устройстве не пользуюсь , т.к. лень будет утром из кровати к нему добираться чтоб выключить. Использую просто как метеостанцию. Вот была бы удалённая кнопка выключения, вроде пульта RC5, то можно и пользоваться. Хотя у меня десятка три платок attiny2313 с обвязкой думаю может их приспособить дергать порты кнопок по нажатию клавиш на пульте. В мегу328 то код влезет, но сам я его не добавлю, мозгов маловато видимо... А для тини2313 библиотеки есть и три порта по приему сигналов от пульта это уж просто сделать.
Чтобы не выводить температуры с датчиков DHT22 и BMP180 просто удалите эти строки в исходнике. Программистом быть для этого не надо, а как собрать прошивку под windows тут уже обсуждалось не раз, в том числе совсем недавно. Текстовые метки можно подсократить hex-редактором, подправив eeprom, либо же там же в исходнике убрать вообще. Опять же, программистом быть для этого не нужно, код в этом месте достаточно прост.
Сделал, как Вы советовали тут. display.c и eeprom.h поправил. Что нужно сделать дальше? Первый раз этим занимаюсь, поэтому не судите строго. И еще: при правке меток в eeprom нужно вписывать 0xFF или 0x00? Заранее спасибо.
_________________ Того, кто не задумывается о далеких трудностях, ожидают близкие неприятности.
Сейчас этот форум просматривают: Ser555 и гости: 72
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения