Привет всем!
Для тех, кто не в курсе, подсадил меня недавно один хороший товарищ на микроконтроллеры (чему очень рада моя дорогая супруга), а конкретно, — на изделия от Texas Instruments, msp430. заказал я у них launchpad, который очень быстро был доставлен почтой россии FedEx-ом.
Раньше я не имел дела с контроллерами, очень мало с программированием, а тут — почти халява! за какие-то 4,5 убитых енота получаешь отладочную плату, софт и парочку контроллеров до кучи!
Мигать светодиодами разными методами быстро наскучило, и у добрых китайцев купил я вот такую вот девайсину.
Девайсина — поделка дядюшки ляо, на борту имеет набор 7-сегментных индикаторов, 8 светодиодов и 8 кнопок, всё это дело управляется контроллером tm1638, который в свою очередь, управляется программно по шине SPI.
Долго ли коротко ли, получилась у меня такая библиотека под launchpad
что она сейчас умеет:
- Зажигать отдельные цифры
- зажигать отдельные светодиоды
- управлять яркостью (пока не доделал)
- гасить всё, — индикаторы и диоды
- выдавать зачудительную надпись «Еггог»
- и, что доставило больше всего геморроя удовольствия, — возвращает номер нажатой кнопки
- до кучи есть небольшая программка, которая снимает показания со встроенного АЦП, и выдаёт в виде значений температуры и напряжения.
Хотелось бы ей внушить в будущем:
- показывать цельную цифру
- показывать какие-нибудь дурацкие надписи
- добавить поддержку нескольких модулей
А здесь аналогичный проект для Stellaris
Принимаю идеи и пожелания в копилку
Пример работы библиотеки tm1638 для msp430:
Показ температуры со встроенного термодатчика и АЦП msp430g2553 на tm1638



Discussion (8) ¬
Зачот!
обновлено
Добавил управление яркостью, немного переписал код, работает чудесно и явно чуть быстрее чем раньше
а так — всё работало чудесно.
вечером часа полтора потратил на разбор полётов, когда оно выдавало не то, что нужно. Оказалось, — напутал с номерами светодиодов, которые всего лишь не должны быть равны нулю
Не понятно куда у вас подключен подтягивающий резистор. Если смотреть по схеме на странице проекта, то к питанию MSP430, если по фотографии, то к +5v tm1638, а на схеме в коде (TM1638.c) совсем другое подключение. Так как правильно?
Резистор подключен к +3,3В питания, TM1638 питается так же от 3,3в (вполне хватает, даже на полной яркости).
На фото он подключен к аноду D2 (по схеме). На самом деле, резистор нужен только если вы хотите принимать от 1638 данные, — код кнопки. Если этого не нужно, — можно исключить диоды и резистор.
Спасибо, все заработало с первого раза. Кнопки не подключал.
Ну здорово
Рекомендую теперь попробовать часики на этом индикаторе и ds1394