Оглавление:

Изменение цвета светодиодов с помощью POT и ATTINY85: 3 шага
Изменение цвета светодиодов с помощью POT и ATTINY85: 3 шага

Видео: Изменение цвета светодиодов с помощью POT и ATTINY85: 3 шага

Видео: Изменение цвета светодиодов с помощью POT и ATTINY85: 3 шага
Видео: ATtiny85 и светодиодная матрица 16x16 адресных светодиодов 2024, Ноябрь
Anonim
Изменение цвета светодиодов с помощью POT и ATTINY85
Изменение цвета светодиодов с помощью POT и ATTINY85
Изменение цвета светодиодов с помощью POT и ATTINY85
Изменение цвета светодиодов с помощью POT и ATTINY85
Изменение цвета светодиодов с помощью POT и ATTINY85
Изменение цвета светодиодов с помощью POT и ATTINY85

В этом проекте мы используем потенциометр (POT) для изменения цвета светодиода с помощью ATTINY85.

Некоторые определения -

Потенциометр - это устройство с маленьким винтовым / поворотным механизмом, которое при повороте выдает различные электрические сопротивления. Вы можете видеть из аннотированного изображения выше, что POT имеет 3 контакта, а именно, +, - и выход. POT получает питание путем подключения контактов + и - к vcc и земле соответственно на источнике питания. При повороте винта POT выходное сопротивление изменяется, что приводит к уменьшению или увеличению яркости светодиода.. Другими словами, это переменный резистор. Их используют в таких вещах, как диммеры домашнего света.

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

ATTINY85 - это небольшой недорогой микрочип, который можно программировать как Arduino.

Обзор - Выход POT подключен к ATTINY85. При повороте винта POT разность сопротивлений выводится в виде числа от 0 до 255. ATTINY может измерять это и предпринимать различные действия в зависимости от значения сопротивления POT. В этом случае мы запрограммировали его для подключения к светодиоду следующим образом.

Если число больше 170, переключите светодиод на ЗЕЛЕНЫЙ.

Если число меньше 170, но больше 85, переключите светодиод на КРАСНЫЙ цвет.

если число меньше 85, включите ЗЕЛЕНЫЙ И КРАСНЫЙ светодиоды, в результате чего появится ОРАНЖЕВЫЙ.

Спецификация

1 x 3-контактный светодиод, 1 x ATTINY 85

1 х горшок (B100K)

1 макетная плата и кабели

1 блок питания.

Шаг 1: Программирование ATTINY85

Что касается программирования ATTINY85, обратитесь к моему предыдущему руководству -

Код показан ниже. Следует отметить, что два контакта ATTINY, PB3, физический контакт 2, PB2, физический контакт 7, подключены в цифровом режиме к светодиоду для изменения цвета. Контакт ATTINY PB4, физический контакт 3, подключен к POT в аналоговом режиме, что означает, что он может считывать значения от 0 до 254. Я настроил код, который нашел в Интернете, поэтому я подтверждаю эту работу. -

void initADC () {// *** // *** Распиновка ATtiny25 / 45/85: // *** PDIP / SOIC / TSSOP // *** ============= ================================================== ============================== // *** // *** (PCINT5 / RESET / ADC0 / dW) PB5 [1] * [8] VCC // *** (PCINT3 / XTAL1 / CLKI / OC1B / ADC3) PB3 [2] [7] PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) // * ** (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) PB4 [3] [6] PB1 (MISO / DO / AIN1 / OC0B / OC1A / PCINT1) // *** GND [4] [5] PB0 (MOSI / DI / SDA / AIN0 / OC0A / OC1A / AREF / PCINT0) // *** // pb4 - вход для POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 частота установлена на внутреннюю частоту 8 МГц / * эта функция инициализирует АЦП

Примечания к предделителю ADC:

Предварительный масштабатор АЦП должен быть установлен так, чтобы входная частота АЦП находилась в диапазоне 50–200 кГц.

Для получения дополнительной информации см. Таблицу 17.5 «Выбор предделителя АЦП» в главе 17.13.2 «ADCSRA - Регистр управления и состояния АЦП A» (страницы 140 и 141 в полном техническом описании ATtiny25 / 45/85, Rev. 2586M – AVR – 07 / 10)

Допустимые значения предделителя для различных тактовых частот

Часы Доступные значения предделителя --------------------------------------- 1 МГц 8 (125 кГц), 16 (62,5 кГц) 4 МГц 32 (125 кГц), 64 (62,5 кГц) 8 МГц 64 (125 кГц), 128 (62,5 кГц) 16 МГц 128 (125 кГц)

В приведенном ниже примере установите предварительный делитель на 128 для микроконтроллера, работающего на частоте 8 МГц.

(проверьте таблицу для правильных значений битов для установки предделителя) * /

// 8-битное разрешение

// установите ADLAR в 1, чтобы включить результат сдвига влево (доступны только биты ADC9.. ADC2) // тогда для 8-битных результатов достаточно только чтения ADCH (256 значений) DDRB | = (1 << PB3); // Вывод установлен как выход. DDRB | = (1 << PB2); // Вывод установлен как выход. ADMUX = (1 << ADLAR) | // результат сдвига влево (0 << REFS1) | // Устанавливает исх. напряжение на VCC, бит 1 (0 << REFS0) | // Устанавливает исх. напряжение на VCC, бит 0 (0 << MUX3) | // использовать АЦП2 для входа (PB4), бит 3 мультиплексора (0 << MUX2) | // использовать АЦП2 для входа (PB4), бит 2 мультиплексора (1 << MUX1) | // использовать ADC2 для входа (PB4), MUX bit 1 (0 << MUX0); // использовать ADC2 для входа (PB4), MUX бит 0

ADCSRA =

(1 << ADEN) | // Включение АЦП (1 << ADPS2) | // устанавливаем предварительный делитель на 64, бит 2 (1 << ADPS1) | // устанавливаем предварительный делитель на 64, бит 1 (0 << ADPS0); // устанавливаем предделитель на 64, бит 0}

int main (пусто)

{initADC ();

в то время как (1)

{

ADCSRA | = (1 << ADSC); // запускаем измерение АЦП while (ADCSRA & (1 << ADSC)); // ждем завершения преобразования

если (ADCH> 170)

{PORTB | = (1 << PB3); // Пин установлен на ВЫСОКИЙ. ПОРТБ | = (1 << PB2); // Пин установлен на ВЫСОКИЙ. } иначе, если (ADCH 85) {PORTB | = (1 << PB3); // Пин установлен на ВЫСОКИЙ. ПОРТБ & = ~ (1 << PB2); // Пин установлен на НИЗКИЙ

} еще {

ПОРТБ | = (1 << PB2); // Пин установлен на ВЫСОКИЙ. ПОРТБ & = ~ (1 << PB3); // Пин установлен на НИЗКИЙ

}

}

возврат 0;

}

Шаг 2: Схема

Схема
Схема

Булавки ATTINY

PB3, физический контакт 2 - подключен светодиод, контакт 1

PB4, физический контакт 3, подключен к среднему контакту POT.

GND, физический контакт 4, подключен к отрицательной шине - источник питания

PB2, физический контакт 7 - подключен светодиод, контакт 3

VCC, физический контакт 8, подключен к положительной шине - источник питания

ГОРШОК

Вывод pos и neg подключены к соответствующим рельсам - источник питания.

ВЕЛ

средний контакт подключен к отрицательной шине - питание

Я экспериментировал с блоком питания на 3 и 3,3 вольта, и оба работали.

Шаг 3: Заключение

Заключение
Заключение

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

Рекомендуемые: