Съдържание:
Видео: Промяна на цветовете на светодиодите с помощта на POT и ATTINY85: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
В този проект използваме потенциометър (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 да се движи между аналогов и цифров режим е много мощна и може да се използва в редица различни приложения, напр. шофиране на двигатели с променлива скорост и създаване на музикални ноти. Ще проуча това в бъдещи инструкции. Надявам се, че сте намерили това за полезно.
Препоръчано:
Управлявайте светодиодите си с дистанционното за телевизора ?! -- Arduino IR урок: 5 стъпки (със снимки)
Управлявайте светодиодите си с дистанционното за телевизора ?! || Arduino IR Tutorial: В този проект ще ви покажа как пренасочих безполезните бутони на дистанционното на телевизора си, за да управлявам светодиодите зад моя телевизор. Можете също да използвате тази техника, за да контролирате всякакви неща с малко редактиране на код. Ще говоря и малко за теорията
AVR микроконтролер. Превключване на светодиодите чрез превключвател с бутон. Отстраняване на бутон: 4 стъпки
AVR микроконтролер. Превключване на светодиодите чрез превключвател с бутон. Отстраняване на бутони: В този раздел ще научим как да направим код на програма C за ATMega328PU, за да превключва състоянието на трите светодиода според входа от превключвател на бутон. Също така, ние проучихме решения на проблема с „Switch Bounce“. Както обикновено, ние ще
Светодиодите като сензори за светлина: 5 стъпки
Светодиоди като сензори за светлина: Светодиодите са чудесни за създаване на светлина, но те също могат да усещат светлина! Наскоро попаднах на този сайт, в който се споменава: „През 1977 г. Форест М. Мимс ни напомня в един от неговите„ Инженерни бележници “че светодиодите могат да се използват и като фотодиоди … & q
Всичко, което трябва да знаете за светодиодите: 7 стъпки (със снимки)
Всичко, което трябва да знаете за светодиодите: Светодиодът е електронно устройство, което излъчва светлина, когато през него преминава ток. Светодиодите са малки, изключително ефективни, ярки, евтини, електронни компоненти. Хората смятат, че светодиодите са просто обикновени компоненти, излъчващи светлина & склонен
Промяна на цвета на нощната светлина с помощта на Ardruino 101: 4 стъпки (със снимки)
Промяна на цвета на нощната светлина с помощта на Ardruino 101: В този проект вие ще правите нощна лампа, използвайки ardruino, Adafruit neo rgb Strips и 3D принтер. Обърнете внимание, че този натрапчив е само за моя училищен проект. Кодът за този проект се основава на друг проект. С това казах, че не съм бивш