Учебный курс AVR. Использования TWI модуля как ведущего I2C устройства. Работа на прерываниях. Ч5
Все операции, выполняемые TWI модулем, завершаются установкой бита прерывания (TWINT бит регистра TWCR) и соответствующего статусного кода (старшие шесть разрядов регистра TWSR). Это позволяет организовать обмен данными по шине с помощью прерываний.
Суть подхода в следующем. Мы формируем сообщение для передачи, затем инициируем ее старт и разрешаем прерывания. Дальнейшую работу выполняет автоматически вызываемый обработчик прерывания TWI модуля, а микроконтроллер может заниматься другими задачами.
Такой подход экономит время микроконтроллера, потому что не нужно опрашивать в цикле бит прерывания, чтобы продолжить процесс обмена данными.
В этой части мы рассмотрим работу ведущего TWI устройства на прерываниях. Код для этого материала основан на руководстве фирмы Atmel - AVR315: Using TWI module as I2C master.
ATtiny10. Самый маленький микроконтроллер AVR
Давно хотел поработать с самыми крохотными микроконтроллерами AVR и наконец сподобился купить несколько ATtiny10. Что можно сказать про эту букашку? По сути, обычный AVR, только с небольшим количеством выводов, памяти и периферии. Однако, на нем вполне можно собрать какой-нибудь вольтметр или термометр, если приложить смекалку.
HC-SR04. Ультразвуковой датчик измерения расстояния
HC-SR04 - это ультразвуковой датчик, позволяющий измерять расстояние до преграды в диапазоне от 2 до 400 см. Он представляет собой плату, на которой размещены излучатель и приемник ультразвука и управляющая электронная схема. Датчик имеет небольшие габариты и простой интерфейс: два вывода питания, один вход и один выход.
Может быть использован в качестве датчика присутствия в умном доме или охранной системе, а также для всяких роботизированных поделок. Также на нем можно сделать парктроник для машины, только в уличных условиях он быстро загрязнится.
Учебный курс AVR. Использования TWI модуля. Работа с DS1307. Статусные коды. Ч4
В составе TWI модуля микроконтроллеров AVR есть регистр TWSR. Старшие 6 разрядов этого регистра содержат статусный код, а младшие - управляющие разряды, которые задают коэффициент деления частоты SCL сигнала. Я сейчас говорю про atmega16, в некоторых микроконтроллерах этих разрядов нет, но не суть.
Статусный код отражает результат последней выполненной операции TWI модуля. По нему можно судить, завершилась ли она успешно или что-то пошло не так, стоит ли продолжать передачу данных или ее пора прекращать.
В предыдущей части был рассмотрен топорный вариант работы с DS1307, в котором статусные коды TWI модуля просто игнорировались. В этом материале разобран пример работы с TWI модулем без прерываний, но с использованием статусных кодов.
Фотодиод
Фотодиод - это полупроводниковый диод, у которого ток зависит от освещенности. Обычно под этим током подразумевают обратный ток фотодиода, потому что его зависимость от освещенности выражена на порядки сильнее, чем прямого тока. В дальнейшем мы будем говорить именно про обратный ток.
В общем случае фотодиод представляет собой p-n переход, открытый для светового излучения. Под воздействием света в области p-n перехода генерируются носители заряда (электроны и дырки), которые проходят через него и вызывают напряжение на выводах фотодиода или протекание тока в замкнутой цепи.
Фотодиод, в зависимости от его материала, предназначен для регистрации светового потока в инфракрасном, оптическом и ультрафиолетовом диапазоне длин волн. Фотодиоды изготавливают из кремния, германия, арсенида галлия, арсенида галлия индия и других материалов.
Фотодиоды широко используются в системах управления, метрологии, робототехнике и других областях. Также они используются в составе других компонентов, например, оптопар, оптореле.