Съдържание:

Промяна на цветовете на светодиодите с помощта на POT и ATTINY85: 3 стъпки
Промяна на цветовете на светодиодите с помощта на POT и ATTINY85: 3 стъпки

Видео: Промяна на цветовете на светодиодите с помощта на POT и ATTINY85: 3 стъпки

Видео: Промяна на цветовете на светодиодите с помощта на POT и ATTINY85: 3 стъпки
Видео: Neon LED RGB Strip - адресная wi-fi лента для Tuya Smart c IP67, интеграция в Home Assistant 2024, Ноември
Anonim
Променете цветовете на светодиодите с помощта на POT и ATTINY85
Променете цветовете на светодиодите с помощта на POT и ATTINY85
Променете цветовете на светодиодите с помощта на POT и ATTINY85
Променете цветовете на светодиодите с помощта на POT и ATTINY85
Променете цветовете на LED с помощта на POT и ATTINY85
Променете цветовете на LED с помощта на POT и ATTINY85

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

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

Потенциометърът е устройство с малък винт / завъртащ механизъм, който при завъртане извежда различни електрически съпротивления. Можете да видите от анотираното изображение по -горе, че POT има 3 пина, а именно +, - и изход. POT се захранва чрез свързване на + и - щифтовете съответно към vcc и маса към захранване. Когато POT винтът се завърти, изходното съпротивление се променя и причинява намаляване или увеличаване на интензитета на светодиода.. С други думи, това е променлив резистор. Те се използват в такива неща като димери за домашна светлина.

LED - Това е малка светлина, която свети, когато през нея преминава електрически ток. В този случай ще използваме многоцветен светодиод, който има 3 пина, един заземен (среден) и два пина, които показват зелено и червено съответно при задействане.

ATTINY85-това е малък евтин микрочип, който можете да програмирате като Arduino.

Преглед - Изходът от POT е свързан към ATTINY85. Когато POT винтът се завърти, различното съпротивление се извежда като число между 0 и 255. ATTINY може да измери това и да предприеме различни действия в зависимост от стойността на POT съпротивлението. В този случай сме го програмирали за свързване към светодиода, както следва.

Ако числото е по -голямо от 170, превключете светодиода на ЗЕЛЕН.

Ако числото е по -малко от 170, но по -голямо от 85, превключете светодиода на ЧЕРВЕН.

ако числото е по -малко от 85, включете LED ЗЕЛЕН И ЧЕРВЕН, което води до ОРАНЖЕВО.

BOM

1 x 3 -пинов светодиод 1 x ATTINY 85

1 x POT (B100K)

1 х макет и кабели

1 захранване.

Стъпка 1: Програмиране на ATTINY85

По отношение на програмирането на ATTINY85, моля, вижте предишните ми инструкции-https://www.instructables.com/id/15-Dollar-Attiny8…

Кодът е показан по -долу. Някои точки, които трябва да се отбележат, са, че два щифта ATTINY, PB3, физически пин 2, PB2, физически щифт 7 са свързани, в цифров режим, към светодиода, за да се промени промяната на цвета. ПИН ATTINY PB4, физически пин 3, е свързан към POT в аналогов режим, което означава, че може да чете стойности между 0 и 254. Аз персонализирах кода, който намерих в интернет, така че потвърждавам тази работа. -

void initADC () {// *** // *** Pinout 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 MHz/* тази функция инициализира ADC

Бележки на ADC Prescaler:

ADC Prescaler трябва да бъде настроен така, че входната честота на ADC да е между 50 - 200kHz.

За повече информация вижте таблица 17.5 „Избори на предварителя на ADC“в глава 17.13.2 „ADCSRA - Регистър за контрол и състояние на ADC A“(страници 140 и 141 на пълния лист с данни ATtiny25/45/85, Rev. 2586M – AVR – 07/ 10)

Валидни стойности на предусилвател за различни тактови честоти

Часовник Налични стойности на предусилвател --------------------------------------- 1 MHz 8 (125kHz), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)

По -долу пример задайте предсказване на 128 за mcu, работещ на 8MHz

(проверете листа с данни за правилните стойности на битовете, за да зададете предварителния дебитор) */

// 8-битова резолюция

// настройте ADLAR на 1, за да активирате резултата от смяната наляво (налични са само битове ADC9.. ADC2) // след това само четенето на ADCH е достатъчно за 8-битови резултати (256 стойности) DDRB | = (1 << PB3); // Pin е зададен като изход. DDRB | = (1 << PB2); // Pin е зададен като изход. ADMUX = (1 << ADLAR) | // резултат от изместване наляво (0 << REFS1) | // Комплекти ref. напрежение към VCC, бит 1 (0 << REFS0) | // Комплекти ref. напрежение към VCC, бит 0 (0 << MUX3) | // използваме ADC2 за вход (PB4), MUX бит 3 (0 << MUX2) | // използваме ADC2 за вход (PB4), MUX бит 2 (1 << MUX1) | // използваме ADC2 за вход (PB4), MUX бит 1 (0 << MUX0); // използваме ADC2 за вход (PB4), MUX бит 0

ADCSRA =

(1 << ADEN) | // Активиране на ADC (1 << ADPS2) | // настройте предварително делителя на 64, бит 2 (1 << ADPS1) | // настройте предварително делителя на 64, бит 1 (0 << ADPS0); // настройте предварително делителя на 64, бит 0}

int main (void)

{initADC ();

докато (1)

{

ADCSRA | = (1 << ADSC); // стартиране на ADC измерване докато (ADCSRA & (1 << ADSC)); // изчакайте, докато преобразуването завърши

ако (ADCH> 170)

{PORTB | = (1 << PB3); // ПИНът е зададен на HIGH. PORTB | = (1 << PB2); // ПИНът е зададен на HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // ПИНът е зададен на HIGH. PORTB & = ~ (1 << PB2); // ПИН зададен на LOW

} else {

PORTB | = (1 << PB2); // ПИНът е зададен на HIGH. PORTB & = ~ (1 << PB3); // ПИН зададен на LOW

}

}

връщане 0;

}

Стъпка 2: Схема

Верига
Верига

ATTINY щифтове

PB3, физически извод 2 - свързан LED извод 1

PB4, физически извод 3, е свързан към средния извод POT

GND, физически извод 4, е свързан към отрицателната шина - захранване

PB2, физически извод 7 - свързан LED извод 3

VCC, физически извод 8, е свързан към положителната шина - захранване

POT

pos и neg pin, свързани към съответните релси - захранване.

LED

среден щифт, свързан към отрицателната шина - захранване

Експериментирах с захранване с 3 и 3,3 волта и и двете работеха.

Стъпка 3: Заключение

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

Възможността на ATTINY85 да се движи между аналогов и цифров режим е много мощна и може да се използва в редица различни приложения, напр. шофиране на двигатели с променлива скорост и създаване на музикални ноти. Ще проуча това в бъдещи инструкции. Надявам се, че сте намерили това за полезно.

Препоръчано: