Jump to content

Recommended Posts

Всем,кому интересен данный прибор.Может кому надо разводка платы в PCADе 2006.http://forum.cxem.net/style_images/1/folder_attach_images/attach_add.png

bk_lcd.rar

Share this post


Link to post
Share on other sites

Ребята, подскажите пожалуйста, а какие конкретно можно применять индикаторы, ато на Украине нигде в продаже не найду.

Или конкретно, какой из этих подойдет?

WH1601A-YGH-CTK

WH1601L-NGG-CT

WH1601L-TMI-CT WH1601 BIG BLUE

WH1602A-YGH-CTK

WH1602B-TMI-CT

WH1602B-YYH-CTK

WH1602C-NGG-CT

WH1602C-YGH-CTK

И еще вопросик, кварц на ATMEGA8 какой цеплять?

Edited by magical

Share this post


Link to post
Share on other sites
Или конкретно, какой из этих подойдет?

И еще вопросик, кварц на ATMEGA8 какой цеплять?

теоретически - любой из этих (только нужно посмотреть наличие подсветки, температурный диапазон и т.д.)

WH1602A-YGH-CTK

WH1602B-TMI-CT

WH1602B-YYH-CTK

WH1602C-NGG-CT

WH1602C-YGH-CTK

т.к. устройство не критично к временным интервалам, кварц на ATMEGA8 не нужен. микроконтроллер тактируется импульсами от внутреннего генератора на частоте 8 МГц.

ANAIT: С трудом нашел Винстаровский

у меня в городе МЭЛТОВ тоже нет. я заказывал MT-16S2H-2YLG в chipdip по почте. прислали через 8 дней.

все три устройства делал на этом индикаторе. попробуйте связаться с ними, и обсудить детали пересылки на Украину.

to ANAIT: самый простой способ проверить прошитый контроллер:

запрограммировать ATMEGу 8. установить её в устройство. подать питание .подождать 5-7 сек или более для инициализации. нажмите и удерживайте кнопку МЕНЮ. пъезоизлучатель (висит на 13-м выводе) должет пикнуть. если "пикает" то контроллер обрабатывает программу корректно, и далее причину нужно искать в индикаторе. но судя по симптомам вашего Микроконтроллера "программатор не видит МК" ошибка в прошивании.

Edited by Юрец

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Автору.Еще раз спасибо.Меня так заинтерисовл Ваш прибор,что еще не запустив схему,сделал печатную плату(надеюсь Вы не в обиде за маленькие дополнения.)Завтра иду на рынок за очердной Мегой,попробую еще раз прошить.Что-то мне с ними фатально не везет.

Share this post


Link to post
Share on other sites

Спасибо большое за поддержку, давно мечтал о точном наличии бензина в баке, буду пробовать.

Хана всем АЗС за не долив!

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

Всем! Всем!Всем! Запустил схему! Работает великолепно,яркость дисплея нормальная.Правда пока на макетной плате,но на днях перепаяю на основную.Теперь встал вопрос о корпусе,но это детали,а главное что схема работает.Спасибо Автору за очень нужный прибор. :rolleyes:

to magical: Идикатор WH1602C-YGH-CTK с подсветкой и поддержкой кирилиицы покупал но радиобазаре в Киеве стоит 52 Гривни.

Share this post


Link to post
Share on other sites

>Запустил схему!

рад за Вас!

в чем были грабли (почему сразу не получилось)? неправильно зашили микроконтроллер?

Share this post


Link to post
Share on other sites
Всем! Всем!Всем! Запустил схему! Работает великолепно,яркость дисплея нормальная.Правда пока на макетной плате,но на днях перепаяю на основную.Теперь встал вопрос о корпусе,но это детали,а главное что схема работает.Спасибо Автору за очень нужный прибор. :rolleyes:

to magical: Идикатор WH1602C-YGH-CTK с подсветкой и поддержкой кирилиицы покупал но радиобазаре в Киеве стоит 52 Гривни.

Спасибо большое, нашел такой, в космодроме (они по всей Украине).

Щас еду покупать и за паялник.

Вопрос к Юрию.

Скажите пожалуйста, вот чтоб индицировало доли градуса температуры - это круто конечно,

а нельзя ли сделать чтоб состояние топлива индицировалось, пусть не до десятых - но хоть до поллитра, понятно, что там просто не хватит витков для такой точности, но человеку, умеющему держать паяльник в руках - не составит большой сложности либо перемотать это сопротивление, там нихром 300 ом, либо как сделал я, просто заменить это сопротивление на переменное, где витков - несколько тысяч?

Share this post


Link to post
Share on other sites

Добрый день. Спасибо за схемку, работает отлично. Но только не понятно почему ножка №3 индикатора LCD подключена к общему проводу (минус питания), а не через резистивный делитель напряжения для регулировки контрастности дисплея, ведь в таком включении контрастность максимальная и на дислее одни черные прямоугольники знакомест?

Share this post


Link to post
Share on other sites

на разных дисплеях по-разному. у меня тоже на землю нужно контраст кидать для максимапльной контрастности.

возникла проблема несовместимости дисплеев некоторых.

на картинке: не показывается мягкий знак. питание от программатора. схема собрана на макетке

решение проблмы: предлагаю использовать синонимы без мягкого знака))

"дневн.", "ночн." и прочее.

http://slil.ru/27484984

Edited by Блуд

Share this post


Link to post
Share on other sites
а нельзя ли сделать чтоб состояние топлива индицировалось, пусть не до десятых - но хоть до поллитра

можно. подождите немного - катастрофически не хватает времени (работа, семья, экзамены...)

почему ножка №3 индикатора LCD подключена к общему проводу (минус питания), а не через резистивный делитель напряжения для регулировки контрастности дисплея, ведь в таком включении контрастность максимальная и на дислее одни черные прямоугольники знакомест?

в индикаторах МЭЛТ визуально сильной засветки знакомест нет. для других можно самостоятельно подобрать сопротивление.

на картинке: не показывается мягкий знак.

интересная особенность...

а что за индикатор? (похож на winstar'овский).

чуть позже исправлю.

p.s. хочу кардинально изменить программу: выкинуть тяжелую функцию sprintf; изменить функцию отображения русских букв, и т.д.

Share this post


Link to post
Share on other sites
решение проблмы: предлагаю использовать синонимы без мягкого знака))

"дневн.", "ночн." и прочее.

вот обновленная прошивкаlcd.rar . минус: мягкий знак показывается в нижнем регистре.

Share this post


Link to post
Share on other sites

благодарю. теперь действительно всё кажет корректно.

дисплейчик один из лучших по даташиту из винстаровских. WH162 вроде бы.

при включении габаритов должно 12 вольт подаваться на резисторный делитель?

Share this post


Link to post
Share on other sites
при включении габаритов должно 12 вольт подаваться на резисторный делитель?

совершенно верно. я взял 12в с клавиши включения габаритов.

Share this post


Link to post
Share on other sites

Автору.Да скорее всего это была моя ошибка при прошивке.

to Cadrik. В Винстаровском индикаторе вывод 3 подключи к общему проводу через резистор 5,6 кОм.

Share this post


Link to post
Share on other sites

ну, раз так серьёзно всё зашло, то можно ли сделать несколько замечаний (или пожеланий?), так как приведённая схема изначально слишком непомехонеустойчива.

1) разве можно выводы коротить напрямую на землю???ни в коем случае. конечно, работать это будет, но всё же сильно не рекомендуется так делать. обязательно через резисторы на пару килоом (если не жалко резисторов- то на каждую кпоночку, если дефицит- то один общий на землю)

2) почему нога ресет висит в воздухе? О_О

настоятельно рекомендую подключить его через резистор 10к на питание. если такого под рукой нету, подойдёт любой от 4,7к до 10к. в ЗАКОНЧЕННОМ устройстве можно подключить непосредственно на питание или вовсе отключить его, запрограммировав фьюз RSTDISBL=0, но в этом случае можно забыть про 5-проводные программаторы, а я думаю, что автор всё же выпустит рано или поздно более интересную версию, до которой захочется перепрошиться(?), или же вы сами напишите нечто подобное по той же распайке.

просто, если этого не сделать, то в один хороший день камень или не стартанёт или будет перезагружаться в зависимости от каких-либо явлений. надо это?

3) где фильтр на AVCC и AGND (выводы 20 и 22)? не вижу. вообще, в идеале, цифровое питание должно подаваться отдельно от аналогового. не сложно ведь допаять дроссель/резистор и пару конденсаторов на ~0,1 мкф. а в результате будем иметь АЦП более устойчивое к шумам и наводкам. то есть более точное.

4) декомпилировал и посмотрел исходники. бе. компиллятор, видимо, действительно был cvavr. притом не второй версии. попробуйте перекомпилировать другим. размер прошивки будет меньше и сама прошивка будет более оптимизированная. просто так, для сравнения. можете даже не выкладывать прошивку. я к тому, что разницы-то в работе не заметите, а вот если будете добавлять новые функции в свой проект, то памяти может рано или поздно не хватить.

это не критика, это просто попытка поддержать и помочь проекту, так как он довольно интересный.

Share this post


Link to post
Share on other sites
1) разве можно выводы коротить напрямую на землю???ни в коем случае...

Расскажите, пожалуйста, почему нельзя - очень интересно...

2) почему нога ресет висит в воздухе? О_О

Для тех кто не в курсе - в AVR-ках есть внутренняя, прекрасно работающая схема сброса. Внешняя цепь может оказаться нужна при особых условиях питания....

4) декомпилировал и посмотрел исходники. бе. компиллятор, видимо, действительно был cvavr. притом не второй версии...

Расскажите пожалуйста, как по декомпилированным исходникам можно определить компилятор - очень интересно...

Share this post


Link to post
Share on other sites
Расскажите, пожалуйста, почему нельзя - очень интересно...

не рекомендуется. в любых серьёзных проектах, где есть клавиатура, ВСЕГДА стоят резисторы.

Для тех кто не в курсе - в AVR-ках есть внутренняя, прекрасно работающая схема сброса. Внешняя цепь может оказаться нужна при особых условиях питания....

это понятно. тем не менее, подав землю за эту ногу, можете убедится, что сброс будет выполнен.

Расскажите пожалуйста, как по декомпилированным исходникам можно определить компилятор - очень интересно...

ради интереса, попробуйте скомпилировать какой-нить проект сначала GCC, потом CVAVR, а потом IAR. и декомпилируйте. наблюдайте разницу. делая так со многими проектами и неоднократно, сами в конце концов будете с ходу определять, ибо это будет непосредственно видно. не знаю, как ещё объяснить.

Share this post


Link to post
Share on other sites
..не рекомендуется. в любых серьёзных проектах, где есть клавиатура, ВСЕГДА стоят резисторы.

Вот я и спрашиваю про ПРИЧИНЫ такого решения. А догматичные утверждения, увы, не интересуют...

..это понятно. тем не менее, подав землю за эту ногу, можете убедится, что сброс будет выполнен...

И как это обязывает ставить внешнюю схему сброса на RC-цепочке? Когда схема нуждается в такой цепочке, лучше уже специализированный супервизор питания ставить...

...ибо это будет непосредственно видно. не знаю, как ещё объяснить.

По чем это видно? Каша в исходниках никак не коррелирует с полученным результатом?

Share this post


Link to post
Share on other sites
Вот я и спрашиваю про ПРИЧИНЫ такого решения. А догматичные утверждения, увы, не интересуют...

резистор нужен, чтобы по нему прошёл ток.

И как это обязывает ставить внешнюю схему сброса на RC-цепочке? Когда схема нуждается в такой цепочке, лучше уже специализированный супервизор питания ставить...

почему бы и нет? хуже-то не будет.всего один резистор припаять. долго что ли? зато точно будете знать, что потенциал на ноге есть.

По чем это видно? Каша в исходниках никак не коррелирует с полученным результатом?

каждый компилятор вносит свою особенную "кашу", которая его отличает)

Edited by Блуд

Share this post


Link to post
Share on other sites
резистор нужен, чтобы по нему прошёл ток.

Шутку оценил :) . Но все же... Можно понять, когда резисторы подключают к МАТРИЧНОЙ клавиатуре - там входы с выходами периодически меняются и легко накосячить. Здесь же, имхо, вполне безобидная ситуация, нужно постараться чтобы сжечь пины...

почему бы и нет? хуже-то не будет.всего один резистор припаять. долго что ли? зато точно будете знать, что потенциал на ноге есть.

Можно, но отсутствие не есть ошибка. Хотя внешнюю RC-цепочку я везде ставлю...

каждый компилятор вносит свою особенную "кашу", которая его отличает)

Я серьезно спрашиваю. Пару характерных моментов можете описать?

Share this post


Link to post
Share on other sites
Шутку оценил :) . Но все же... Можно понять, когда резисторы подключают к МАТРИЧНОЙ клавиатуре - там входы с выходами периодически меняются и легко накосячить. Здесь же, имхо, вполне безобидная ситуация, нужно постараться чтобы сжечь пины...

ну, значит, я не прав. просто я всё привык делать так, чтобы было максимально эффективно и продуктивно. и если делать, то делать, и экономить на одном резисторе не вижу смысла.

Можно, но отсутствие не есть ошибка. Хотя внешнюю RC-цепочку я везде ставлю...

так и я ставлю. и рекомендую в этом проекте поставить. и я не сказал, что это ошибка - и так ведь всё будет работать. писал же, что все мои слова - это просто "пожелания" или "рекомендации", не более того.

Я серьезно спрашиваю. Пару характерных моментов можете описать?

в своё время осилил тему, начав свои эксперименты.

http://kazus.ru/forum/topics/f_119460.html

здесь конкретно и с рабочими примерчиками народ сравнивал компиляторы))

Edited by Блуд

Share this post


Link to post
Share on other sites

Эх, если бы он еще расход моментальный показывал. Ведь можно с контроллера, который управляет инжекторами, взять эту инфу.

Share this post


Link to post
Share on other sites

это несложно, и в инете есть уже готовые проекты (если чисто по поводу расхода).

другое дело, что более полезным сделать индикатор расхода на карбюраторный двигатель да и вообще на любой (!) - универсальность!, то есть это либо самодельный датчик (и у каждого такого будут "свои" параметры), либо взять готовый (например, от водосчётиков- они продаются в огромном количестве, механические и электронные, и совсем недорогие). и это будет уже реальный расход того бензина, который проходит через датчик. а не примерная инфа с инжектора.

алгоритм простейший- считай импульсы, умножай на константу (выведенную практически), да выводи на дисплей, всё!, ничего мудрить не надо, разве что откалибровать по-человечески ту константу, чтобы точно выводилось.

но, боюсь, что придётся взять уже мегу16 для этого проекта.... или ещё одну восьмёрочку или что попроще.

Edited by Блуд

Share this post


Link to post
Share on other sites

это несложно, и в инете есть уже готовые проекты (если чисто по поводу расхода).

Никогда не встречал. А ссылку можно?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Makxvl
      Добрый день всем! Сразу прошу прощения если вопрос не по теме и за то что не силен в схем техники и электроники, на уровни припаять отпаять конденсатор ))).
      Вопрос в следующем есть штатная магнитола с AUX входом, и есть Блютуз модуль с питание 12v, встроить модуль в магнитолу я могу, проблема в другом в модуле есть функция переключение треков, на руле у меня есть кнопки стандартные переключение треков. Как мне их подружить? Что бы можно было переключать треки с кнопок на руле или на магнитоле стандартными кнопками?
      Если найдутся добрые люди готовые помочь, напишу модель магнитолы и блютуз модуля.
    • By Сашура
      Всех приветствую.
      Собственно наболевшая тема:
       
      Приветствую,
      Задача восстановить смарт ключ после серии не удачных экспериментов по замене севших батарей. На данный момент открываю и завожу обходным методом.
      Авто Toyota Auris Hybreed 2015.
      ------------------
      1. Для начала хорошо бы разобраться в алгоритме взаимодействия схемы ключа с бортовым компьютером. К сожалению я нигде не нашел вменяемое описание.
      Размышляю вслух:
      1.1. опознавание ключа в зоне его чувствительности происходит периодическим передачей n-bit в эфир 433.92MHz (Европа, Азия?)
      1.2. в случае отклика приемника ключа на n-bit код последний активизирует ответ в виде обратного ответа тем же кодовым значением, происходит активизация логики на открытие дверей и на пуск кнопки запуска двигателя.
      1.3. т.к. в режиме аварийного запуска (смарт модуль на кнопку) активизация запуска (через иммобилаизер) происходит, следовательно, код запуска на смарт блоке не затерт, чувствительность приемника предельно малая, от того брелок нужно прикладывать к кнопке, далее на нем активизируется передатчик и транслирует код доступа. Как-то так.
      Есть открытый вопрос — по процедуре замены батареи. В мануалах я где-то встречал лимит по времени не более 10 с. Но я не думаю что Eeprom слетает по причине его длительного обесточивания. Сегодня они все энергонезависимые.
      1.4. соответственно дверь не можно открывать по той же причине.
      Вывод — приемник смарт ключа не реагирует на запрос, передатчик не заводится.
      Батарея 3,3V.
      Led  на ключе в зоне действия мертвый.
      А может подобрать китайский Can bus c соответствующим софтом под модель авто?
      Любой опыт и ссылки приветствуются. 
      То немногое, что народ выкладывает на yOuTobe особой ясности не дает.


    • By Вячеслав_НС
      помогите разобраться с кодом .(послать значение по шине TWI на ЦАП PCF8591) не работает в протеусе ...
      #define F_CPU 8000000UL 
      #include <stdlib.h>
      #include <avr/io.h>
      #include <util/delay.h>
      //*** ИНИЦИАЛИЗАЦИЯ ШИНЫ TWI ***/
      void TWI_Init(void)
      {
          // Установка тактовой частоты F_scl  = 100 кГц
          TWBR =32;
          TWSR &= (~((1<<TWPS1)|(1<<TWPS0)));
          TWCR |= (1 << TWEN);            // Разрешение работы TWI-модуля
      }

      /*** ЗАПУСК TWI ***/
      void TWI_Start(void)
      {
          TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
          TWDR = 1001000; // передача адреса модуля PCF8591 в шину TWI
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
      }
      /*** ОСТАНОВКА TWI ***/
      void TWI_Stop(void)
      {
          TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
          while(TWCR & (1<<TWSTO));        // Ожидание завершения передачи условия СТОП
      }
      /***ПЕРЕДАЧА ДАННЫХ В TWI***/
      void TWI_WriteByte(uint8_t data)
      {
          TWDR = data;                    // Загрузка данных в TWDR
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1 << TWINT)));    // Ожидание завершения передачи данных
      }
      /*** ПЕРЕДАТЬ ЗНАЧЕНИЕ В PCF8591 ***/
      void PCF8591_get(void)
      {
          TWI_Start();                // Запуск TWI
          TWI_WriteByte(0x40);        //включаем цап
          TWI_WriteByte(100);            // запись в ЦАП значения 100
          TWI_Stop();                    // Остановить TWI
      }            
          int main(void)
      {
          TWI_Init();    
          while (1)
      {
              PCF8591_get;
             _delay_ms(50);
        }
      }
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  • Сообщения

    • Линейка, бесспорно, тоже нужна! Для плоскостных измерений, приносит удобство. А сверло, мечик или плашку линейкой уже не измерить. Тогда на помощь приходит штангенциркуль и таблица в помощь. Для хорошего мастера не помешает иметь и то и другое. Перелистывать страницы справочника - это тоже потеря времени. А так, глянул в таблицу и сразу получил ответ соответствия. И не надо считать деления на линейке. Это преимущество особенно ярко выражено, если величина перевода не кратная. Полезные таблицы, вообще желательно распечатать на принтере, наклеить на жёсткую картонку и магнитиком прихватить возле рабочего стола. Например: нужно реставрировать предохранитель, глянул в эту таблицу, и за считанные минуты запаял требуемый волосок калиброванного провода для данного тока. Помимо этой таблицы, желательно повесить и таблицу с ESR параметрами. Для ремонтника и не только она не будет лишней.
    • Для чего? Руки чесались? От трансформатора наводки, пробовали трансформатор вынести из коробки подальше от плат? Опередили
    • Попробуйте трансформатор питания повернуть или подальше от плат отодвинуть, это могут быть от него наводки.
    • И за что их "травят" в детской такими пульсациями.
    • "Поменяно местами, заменено, грешу", а должно быть - с помощью осциллографа или высокоомных наушников, обнаружено, что гул начинается после определённого каскада, иначе и 10001 тем будет мало.
    • Все эти светодиодные лампы, полное говнище. Причём 99% ламп что есть на прилавках магазинов, фуфло дичайшее. И дело не в схеме питания, а в охлаждении. Для китайских светодиодов низкого и среднего ценового диапазона, требуется МИНИМУМ 30 см2 площади радиатора на 1 Вт номинальной мощности. И то, радиатор при этом греется до 55-60 С° при 25 С° окружающей среды. Я уже десятки светильников себе собрал и каждый гонял часами в разных положения радиаторов, записывая все показатели температуры радиаторов, подложек, температуры люминофора, силе света и прочего. Сначала расчёты, потом натурные испытания. Лампа с площадью коруса, от силы 100 см2 не может долго работать на 10 Вт, как обещает производитель. Если нужно нормальное освещение, лучше много маломощных источников света, чем один мощный. Свет получается равномерный и охлаждать проще.
  • Покупай!

×
×
  • Create New...