Архив автора: yriy

MAX7219 Пример работы

Автор: | 06.01.2020

MAX7219 /MAX7221 — это драйвер 7 сегментного  светодиодного индикатора, с общим катодом способный вывести 8 разрядов. Управление им производится по SPI интерфейсу. В моем случае используется модуль с Aliexpress. Пример кода написан для микроконтроллера Atmel Atmega8. SPI интерфейс реализован программным методом. Код простой как 3 рубля потому как писался по быстрому. max7219.h #define DIN PB0 #define CS PB1… Читать далее »

Библиотека для работы с I2C на микроконтроллере Atmega 8

Автор: | 02.12.2018

Может кому сгодится. i2c.h #ifndef I2C_H_ #define I2C_H_ #include «main.h» void I2C_Ini(void); void I2C_StartCondition(void); void I2C_StopCondition(void); void I2C_SendByte(unsigned char byte); void PCF8574AT_SendByte(unsigned char data,unsigned char adres); #endif /* I2C_H_ */   i2c.c #include «i2c.h» void I2C_Ini(void) { TWBR = 0X20; } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR&(1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);… Читать далее »

Раздел: AVR Метки:

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

Автор: | 27.11.2018

Энкодер ужасно удобное устройство для управления, на мой взгляд гораздо удобнее обычных кнопок. Его можно сравнить с переменным резистором, но у энкодера больше преимуществ например: Может делать сколь угодно оборотов Быстро установить точное значение У микроконтроллеров ST реализована аппаратная обработка сигналов энкодера, входит она в состав некоторых таймеров.   Энкодеры по конструкции бывают разных типов:… Читать далее »

Подавление дребезга кнопки

Автор: | 08.03.2018

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

STM32 Библиотека для работы с модулем PCF8574AT

Автор: | 14.08.2017

Вообщем напрягать меня стало использование LCD дисплея, на контроллере hd44780 с использованием стандартного подключения, даже 4-битный режим не спасение уже. Нашел весьма элегантное на мой взгляд решение, использовать всем известный модуль на микросхеме PCF8574AT. Купить модуль: ссылка Вот он: Устройство микросхемы: К контроллеру она подключается по I2C интерфейсу. К выводам P0-P7 подключается дисплей. P0 —… Читать далее »

Обзор Step Up модуля на UC3843

Автор: | 06.04.2017

    Параметры Входное напряжение:            10-32В Выходное напряжение:          12-35 (регулируется) Макс. Выходной Ток                6А Макс. Входной Ток                  10А Макс. Мощность                    100Вт (пассив.охлажд.)150Вт(принуд.охлажд.)… Читать далее »

Точечная сварка для аккумуляторов

Автор: | 31.03.2017

Если вы хотите самостоятельно собрать точеный сварочный аппарат, то эта статья будет вам интересна. Решил я как то самостоятельно собрать аккумуляторную батарею из элементов 18650, и столкнулся с проблемой соединения их между собой. Вариант с пайкой отвалился сразу, потому как не желательно подвергать сильному нагреву плюсовой вывод аккумулятора. Оставалась только сварка. Нашел готовый вариант аппарата но… Читать далее »

Winavr работа с двумя датчиками DS18b20

Автор: | 04.11.2016

Пример работы с двумя датчиками DS18B20   Есть два алгоритма работы с несколькими датчиками; 1. использование алгоритма SEARCH_ROM, 2. предварительное считывание ROM кодов датчиков, и обращение к каждому по отдельности. Использование первого алгоритма приемлемо когда, требования к стабильности работы устройства минимальны, потому как данный алгоритм довольно сложный. Я ниже буду описывать свой пример реализации второго варианта.… Читать далее »

Eclipse не корректно работает функция sprintf с форматом float

Автор: | 26.10.2016

Понадобилось мне как то вывести переменную типа float на LCD дисплей. Написал код: #define F_CPU 1000000UL // 1 MHz #include <avr\io.h> #include <util\delay.h> #include «LCD.h» #include <stdio.h> unsigned int a = 123; char buffer[200]; float my_custom_float = 25.64; int main (void){ LCDinit(); sprintf(buffer,»V = %.2f uS»,my_custom_float); LCDstring(buffer,0,0); }   На дисплее ожидалось увидеть следующее: (V =… Читать далее »

Работа с AVR микроконтроллерами в среде Eclipse

Автор: | 13.06.2016

Настройка IDE Eclipse для работы с AVR микроконтроллерами   Установка Скачиваем Eclipse с официального сайта . Если у вас не установлен Java SE Development Kit то после запуска установки Eclipse получите следующие сообщение: Жмем да и переходим для загрузки Java SE Development Kit  Если все прошло успешно, запускаем скачанный файл Eclipse и выбираем: Указываем путь распаковки Eclipse  После распаковки, переходим в папку указанную перед распаковкой, и… Читать далее »