Луна И Msp430

Добрый день! Сразу хочу сказать, что я не пропагандирую msp430, но раз уж купил, то надо, как говорится, пользоваться.

Сообщество снова пожаловалось на отсутствие конкретики в постах об этой платформе.

Итак, история такова.

Была поставлена задача приобрести ночник в спальню.

Сказали, что нужно сходить в ИКЕА, у них там есть.

Но легкий путь не для нас.

Лампа подбиралась с учетом последующей возможной модернизации.

Итак, труп:

Луна и msp430

Изначально под патрон Е14. Но 5-метровая светодиодная лента уже давно пылилась в заначке.

Картридж закончился.

Я приклеила скотч по периметру с внутренней стороны.

Самоклеящийся слой подсох, но, слава богу, перестал ужасно пахнуть.

Пришлось использовать суперклей.

Получилось примерно так:

Луна и msp430

Излучатель готов.

Управляющий микроконтроллер был выбран из самого младшего из поставляемых в комплекте Launchpad — msp430g2452. Я не использовал всю отладочную плату.

Это большая боль, и я слежу за контроллером, который используется в программаторе/эмуляторе.

Я взял неработающий брелок от автосигнализации и вырезал для него плату.

Процесс сборки я не снимал.

В итоге произошло вот что:

Луна и msp430

Позвольте мне объяснить немного подробно.

VT1 – клавиша, управляющая ИК-светодиодом; VT2 – выездной коммутирующий светодиодную ленту; HL1 – ИК – фототранзистор; HL2 – ИК – светодиодный; HL3 – зеленый светодиод; С1 – блокирующий электролит для питания DA1 - стабилизатор 3,3В.

К нему, кстати, припаян небольшой радиатор.

обратная сторона платы:

Луна и msp430

куски проводов справа внизу – разъем для отладки и программирования.

К нему подключается отладчик/программатор с волшебным адаптером:

Луна и msp430

Далее по конструкции: В качестве бесконтактного датчика был выбран ранее испытанный инфракрасный датчик расстояния на основе светодиода Л-53Ф3С и фототранзистора Л-53П3С.

Я уже имел дело с этой парой.

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

Они хорошо себя зарекомендовали.

Принцип работы датчика прост. Процессор сначала измеряет напряжение на фототранзисторе через АЦП при выключенном ИК-светодиоде.

После чего включает ИК светодиод и снова измеряет напряжение на фототранзисторе.

Разница измерений будет зависеть от того, насколько сильно окружающие предметы отражают ИК-излучение.

Чем ближе объект, тем больше отраженного света попадает в фототранзистор.

На всякий случай я сделал по три измерения для каждого состояния.

Результат был усреднён.

Вот переключатель в корпусе:

Луна и msp430

в сборе:

Луна и msp430

Просто включать/выключать — это не по-спортивному.

Для начала я сделал FadeIn и FadeOut. Те.

плавное увеличение яркости до максимума и плавное выключение.

Для регулировки яркости я использовал аппаратный ШИМ.

Наконец, я добавил функцию ручной регулировки яркости.

Если долго держать руку, яркость постепенно увеличивается.

Затем оно уменьшается.

Исходник на картинке (нужно распаковать винраром)

Луна и msp430

Исправленный источник на картинке (см.

комментарии)

Луна и msp430

Из особенностей программы.

Работаем с АЦП (меряем напряжение на фотодиоде); Работаем с таймером0 (нужен для аппаратного ШИМ, также моргаем светодиодом HL3); С WDT мы не работаем, хотя было бы неплохо уберечься от внезапных зависаний.

Еще не видел, поэтому не трогал.

Используется экспоненциальная зависимость яркость-ШИМ, поскольку линейное изменение рабочего цикла не приводит к линейному изменению яркости.

Собственно, результат работы: ПС.

Я нарисовал схему.



Луна и msp430

Теги: #Сделай сам или Сделай сам #msp430 Лунный диммер

Вместе с данным постом часто просматривают: