Оглавление:
Видео: Изменение цвета светодиодов с помощью POT и ATTINY85: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В этом проекте мы используем потенциометр (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 может переключаться между аналоговым и цифровым режимами очень мощно и может использоваться в ряде различных приложений, например. управление двигателями с регулируемой скоростью и создание музыкальных нот. Я исследую это в будущих инструкциях. Надеюсь, вы нашли это полезным.
Рекомендуемые:
Изменение цвета на POP-X2 GLCD с помощью ручки: 6 шагов
Переход цвета на POP-X2 GLCD Использование ручки: В основном, этот проект демонстрирует особенность платы контроллера, которую я люблю использовать. Плата POP-X2 производства INEX имеет встроенный цветной ЖК-дисплей, ручку, порты ввода / вывода и компоненты, аналогичные другим платам контроллеров. Пожалуйста, проверьте руководство к плате, чтобы узнать
Изменение цвета ночника с использованием Ardruino 101: 4 шага (с изображениями)
Изменение цвета ночника с использованием Ardruino 101: В этом проекте вы будете делать ночник с помощью ardruino, полосок Adafruit neo rgb и 3D-принтера. Обратите внимание, что эта инструкция предназначена исключительно для моего школьного проекта. Код этого проекта основан на другом проекте. С учетом сказанного, я не бывший
Цепь смены цвета светодиодов RGB: 4 шага
Цепь смены цвета светодиодов RGB: как переделать схему циклического переключения цветов светодиодов RGB из освежителя воздуха Glade LightShow. Я был в процессе создания схемы циклического переключения красного, зеленого и синего цветов на основе микроконтроллера PIC, когда я заметил Glade Освежитель воздуха LightShow
Секвенсор цвета светодиодов RGB - без микропроцессора: 3 шага
Последовательность цветов светодиодов RGB - без микропроцессора: 'Отображение цветовых комбинаций цветных светодиодов без использования микропроцессора. Используя одну логическую микросхему, которая стоит менее 50 центов, вы можете создать простой индикатор цветового цикла для светодиодов RGB. Несколько нажатий вверху используются для «программирования» дис
Изменение цвета Office 2010: 4 шага
Изменение цвета Office 2010: это руководство, по сути, является обновлением моей предыдущей инструкции (Как изменить цвет Office 2007). Если вы используете бета-версию Microsoft Office 2010 (которая доступна бесплатно (как пиво!) На веб-сайте Microsoft), вы можете