Электронный термометр с беспроводным датчиком

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

Для измерения температуры я использовал распространенные датчики DS18B20, для отображения показаний применил не менее популярный ЖК дисплей Nokia 5110. Радиомодули и алгоритм передачи данных я рассматривал ранее в статье про передатчик и приемник на 433 МГц (далее…)

Продолжить чтение Электронный термометр с беспроводным датчиком

Подключение радиомодулей к микроконтроллеру

Подключение радиомодулей
Я давно думал о подключении радиомодулей к микроконтроллеру для осуществления беспроводной передачи данных, и однажды просматривая сеть, наткнулся на дешевые радио-модули под платформу Arduino. Это простые радиомодули, передатчик (модель FS1000A) собран на двух транзисторах, модуляция сигнала амплитудная, несущая частота равна 433 Мгц, стабилизирована ПАВ резонатором. Плата передатчика имеет три вывода: Vcc, Gnd для питания (3,5-12В), вывод data является входом для модуляции данных, высокий логический уровень на этом выводе включает передатчик. (далее…)

Продолжить чтение Подключение радиомодулей к микроконтроллеру

Подключение микроконтроллера к компьютеру

Подключение МК к ПК
Микроконтроллеры PIC16 имеют универсальный синхронно-асинхронный приемопередатчик USART, с помощью которого можно реализовать передачу информации между компьютером и микроконтроллером. Передача данных по USART осуществляется поочередно по одному биту, поэтому данный интерфейс называют последовательным, логические уровни сигналов обычно соответствуют уровням логики ТТЛ, КМОП и т.д. На компьютере UART (асинхронный последовательный интерфейс) реализован в виде интерфейса RS-232 через последовательный порт (COM) компьютера. Основное отличие интерфейса RS-232 заключается в величине логических уровней сигнала, логическому “0” соответствует положительное напряжение +5…15В, логической “1” отрицательной напряжение -5…15В. Такие уровни были выбраны для улучшения помехоустойчивости и увеличения дальности связи. (далее…)

Продолжить чтение Подключение микроконтроллера к компьютеру

Подключение энкодера к микроконтроллеру

Подключение энкодера к микроконтроллеру
Инкрементальный энкодер представляет собой механическое устройство (датчик) преобразующее угол поворота вала (ручки) в электрические сигналы. Энкодер имеет три вывода, или пять в зависимости от наличия встроенной кнопки. Здесь я рассматриваю наиболее распространенные энкодеры, которые встраивают в бытовую аппаратуру, например, для регулировки громкости, навигации в меню и т.д. В отличие от переменного резистора, положение ручки энкодера меняется дискретно, “щелчками”, при этом происходит несколько коммутаций, последовательность которых зависит от направления вращения. На один полный оборот ручки может приходиться различное количество дискретных положений (12, 20, 24), в зависимости от модели энкодера. (далее…)

Продолжить чтение Подключение энкодера к микроконтроллеру

Использование модулей АЦП и ШИМ в микроконтроллерах PIC16

АЦП и ШИМ в PIC16
Микроконтроллеры PIC16 имеют на борту 10-ти разрядный модуль аналого-цифрового преобразователя (АЦП) последовательного приближения. Метод последовательного приближения предполагает получение результата за несколько измерений (сравнений), с постепенным увеличением точности в каждом последующем сравнении. Таким образом, преобразование выполняется за несколько машинных циклов. Естественно данный метод уступает параллельным АЦП по скорости преобразования, в которых результат получают за один такт (машинный цикл). Я не буду здесь углубляться в тонкости различных методов, необходимую информацию можно найти в сети. (далее…)

Продолжить чтение Использование модулей АЦП и ШИМ в микроконтроллерах PIC16

RGB куб

RGB Led CubeИдея представленного светового куба хоть и не нова, но очень интересна, суть идеи заключается в применении 3-х осевого акселерометра, измеряющего проекции ускорения на три пространственные оси. По граням куба расположены трехцветные (RGB) светодиоды, яркость которых управляется посредством ШИМ. Значение яркости зависит от величины ускорения, каждый цвет соответствует одной пространственной оси, красный – оси X, зеленый – оси Y, синий – оси Z. Таким образом, при изменении ориентации, куб светится различными цветами. (далее…)

Продолжить чтение RGB куб

Динамическая индикация. Подключение светодиодной матрицы к микроконтроллеру

Динамическая индикация
Иногда требуется подключить к микроконтроллеру несколько семисегментных индикаторов или светодиодную матрицу, при этом для отображения информации используется динамическая индикация. Суть динамической индикации заключается в поочередном выводе информации на индикаторы. Ниже на схеме представлен пример соединения нескольких семисегментных индикаторов (для примера с общим катодом) для реализации динамической индикации, вообще с учетом точки получается 8 сегментов, но по старинке их называют именно так. Все выводы (аноды) одноименных сегментов соединяют вместе, итого 8 линий которые через резисторы подключают к микроконтроллеру. Общий катод каждого индикатора подключают к микроконтроллеру через транзистор. (далее…)

Продолжить чтение Динамическая индикация. Подключение светодиодной матрицы к микроконтроллеру

Змейка и Тетрис на микроконтроллере

Тетрис и Змейка
Увидел как-то интересный видеоролик в сети, в нем демонстрировалась игра змейка реализованная на микроконтроллере и светодиодной матрице 8х8, потом нашел еще несколько подобных роликов, которые заинтересовали меня. Среди них также был ролик, где на “мощном” микроконтроллере была собрана игра тетрис. После просмотра, я решил разработать собственный вариант устройства, в котором совмещены обе игры, с применением микроконтроллера PIC16F688 и двух светодиодных матриц, которые отображают игровое поле с разрешением 8х16 точек. (далее…)

Продолжить чтение Змейка и Тетрис на микроконтроллере