Эксперимент #1.18 UART в PIC18 XC8

В общем думал я, что все будет по накатанной идти, а оказалось, что в использовании уарта в 18 серии есть некоторые различия.

Компилятор XC8 имеет набор встроенных функций для работы с периферией, найти заголовочные файлы можно в папке /includes/plib. Нас на данный момент интересует usart.h.

Сформулируем интересующие нас задачи:

  • Запись одного символа
  • Запись строки
  • Чтение одного символа = 1 байта
  • Чтение нескольких байт

Все это дело будем пробовать завести на PIC18F14K50.

Читать далее

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

Давно меня преследовала идея попробовать поднять свой веб сервер, с помощью которого можно было бы управлять некоторой домашней автоматикой и мониторить текущее состояние дел с любой точки земли.

Читать далее

Внедряем аудиопроц, прерывания uart, инициализацию из EEPROM в усилок

Код проекта усилителя на tda7294 в PIC16f877a становится все больше, отлаживать его все труднее и дольше, но останавливаться уже нельзя :) В проекте вместе с новыми добавлениями появляются хирургические вырезы, но уже фактически видна финишная прямая, вон уже шлифмашинку заказал корпус свой пилить. Ну да это все лирика… Ну, приступим. Читать далее

Усилитель. Шаг 1. Мозги.

Начинаем продвижение по созданию усилителя. Первым делом я решил собирать мозги, так как именно от них зависит весь функционал периферии и эта часть имеет прямое отношение к тематике блога. Итак, что мы имеем.

  • PIC16f877a
  • DS1307
  • DS18b20

Что требуется получить в итоге?

В первом приближении создаем просто базу с часами реального времени, термометром (снятие показаний температуры внутри корпуса, для регулировки кулера), USARTом, и эта база снабжена выводами под все возможные порты, для последующего расширения функционала – этакий конструктор для периферии усилителя.

Читать далее

Усилитель с мозгами на tda7294

Немного предыстории: Приобрел я тут на днях себе колонки вега 25AC-109 (которые поновее и 8 Ом), подключил их к своему самодельному усилку на tda7294, запихнутому в корпус от старого комповского БП (правда с оговоркой, что трансформатор находится вне корпуса), меня вроде как и звучание вполне устраивает, но хочется чего то эстетически выдержанного, ну и плюс заодно научиться работать с некоторой периферией.

Итак, что же необходимо сделать:

  1. Собственно два усилителя на два канала на tda7294 с аудиопроцессором (управление как минимум громкостью + режим Mute по шине I2C).
  2. Два блока питания: один для питания цифры и кулера(ов), второй мощный с двумя выходными напряжениями для питания усилителя.
  3. Мозг усилителя, в первом приближение плата с PIC16f877a + DS1307 + DS18b20 на борту и выводами на все порты ввода/вывода для дальнейшего использования с чем угодно.
  4. Модуль радиоприемника+радиопередатчика для беспроводной передачи звука на усилитель.
  5. Модуль интернет-радио (если хватит на это терпения).
  6. GUI для управления через USB.
  7. ЖК дисплей + кнопки железного управления.
  8. Управление через ИК.
  9. Регулировка громкости и управление меню с помощью энкодера.
  10. Корпус (чувствую будет самым геморным пунктом).
  11. Меню для ЖК дисплея.
  12. Low VDD Detector.

[Проект находится в стадии разработки и периодически данная статья будет дополняться]

Наглядная структурная схема

update#1: мозги готовы в таком виде, в котором и планировались, ссылка в пункте 3. Следующим этапом пойдет подключение LCD и вывод на него времени и температуры.

update#2: добавлено подключение LCD + функции вывода температуры и времени на него.

update#3: добавлены процедуры обработки вращения энкодера.

update#4: обновлены процедуры обработки вращения энкодера.

update#5: создал меню для ЖК дисплея.

update#6: внедрил ИК управление в девайс.

update#7: готов источник питания цифры и кулеров.

update#8: готов источник питания для усилков.

update#9: готовы сами усилители на tda7294.

update#10: готова плата с аудиопроцессором tda8425

update#11: готов Low Vdd Detector

PIC мк. Эксперимент №18. Windows приложение для работы с COM портом.

Терминал это конечно замечательно, но для своих поделок всегда хочется чего-то эстетически привлекательного. Решил я взяться потихоньку за освоение C++ Builder и сварганил программку для включения светодиодов на моей devboard с помощью интерфейса компьютера.

Читать далее

PIC мк. Эксперимент №15. Часы реального времени DS1307.

Мне прилетели из Китая микросхемы и я начал над ними издеваться в целях исследования перед внедрением в будущие часы. Предупреждаю – в данной статье я исследовал только работу со временем, дата и прочие приблуды этих часов меня мало интересовали и я не терял на это время.

Задача: Запись значения времени/чтение значения времени и вывод через USART из микросхемы DS1307.

Исходный материал: PIC16f628a, DS1307, MAX232 level converter, devboard, proteus.

Читать далее

PIC мк. Эксперимент №14. Модуль USART.

Рассмотрим примеры работы с USART. В статье я постараюсь идти двумя путями:

1. Применяем готовые решения из компилятора.

2. Пишем свои функции.

В общем обо всем по-порядку.

Читать далее