Obsah:

Zmeňte farby LED pomocou hrnca a ATTINY85: 3 kroky
Zmeňte farby LED pomocou hrnca a ATTINY85: 3 kroky

Video: Zmeňte farby LED pomocou hrnca a ATTINY85: 3 kroky

Video: Zmeňte farby LED pomocou hrnca a ATTINY85: 3 kroky
Video: Fanoušci mi “vlezli” na pozemek! 😱 Děcka, tohle není v pořádku! 🥵 2024, November
Anonim
Zmeňte farby diód LED pomocou hrnca a ATTINY85
Zmeňte farby diód LED pomocou hrnca a ATTINY85
Zmeňte farby diód LED pomocou hrnca a ATTINY85
Zmeňte farby diód LED pomocou hrnca a ATTINY85
Zmeňte farby diód LED pomocou hrnca a ATTINY85
Zmeňte farby diód LED pomocou hrnca a ATTINY85

V tomto projekte používame potenciometer (POT) na zmenu farieb v LED pomocou ATTINY85.

Niektoré definície -

Potenciometer je zariadenie s malým skrutkovacím / otáčacím mechanizmom, ktoré pri otočení vydáva rôzne elektrické odpory. Z komentovaného obrázku vyššie vidíte, že POT má 3 piny, konkrétne +, - a výstup. POT je napájaný pripojením pinov + a - k vcc a uzemneniu na napájacom zdroji. Otáčaním skrutky POT sa výstupný odpor mení a spôsobuje zníženie alebo zvýšenie intenzity diódy LED.. Inými slovami, je to variabilný odpor. Používajú sa v takých veciach, ako sú domáce stmievače svetla.

LED - toto je malé svetlo, ktoré sa rozsvieti, keď ním prechádza elektrický prúd. V tomto prípade použijeme viacfarebnú LED diódu, ktorá má 3 piny, jeden uzemňovací (stredný) a dva piny, ktoré pri spustení ukazujú zelenú a červenú farbu.

ATTINY85-Jedná sa o malý nízkonákladový mikročip, ktorý môžete programovať ako Arduino.

Prehľad - Výstup z POT je pripojený k ATTINY85. Keď sa skrutka POT otáča, rozdielový odpor je vydávaný ako číslo od 0 do 255. ATTINY to môže merať a vykonávať rôzne akcie v závislosti od hodnoty odporu POT. V tomto prípade sme ho naprogramovali na pripojenie k LED nasledovne.

Ak je číslo vyššie ako 170, prepnite LED na ZELENÚ.

Ak je číslo menšie ako 170, ale väčšie ako 85, prepnite LED na ČERVENÚ.

ak je číslo menšie ako 85, zapnite LED ZELENÉ A ČERVENÉ, čo má za následok ORANŽOVÚ.

BOM

1 x 3 kolíková LED 1 x ATTINY 85

1 x HRNEC (B100K)

1 x doska a káble

1 napájací zdroj.

Krok 1: Programovanie ATTINY85

Pokiaľ ide o programovanie ATTINY85, pozrite si môj predchádzajúci návod-https://www.instructables.com/id/15-Dollar-Attiny8…

Kód je zobrazený nižšie. Niektoré body je potrebné poznamenať, že dva kolíky ATTINY, PB3, fyzický kolík 2, PB2, fyzický kolík 7 sú v digitálnom režime pripojené k dióde LED na zmenu farby. ATTINY pin PB4, fyzický pin 3, je pripojený k POT v analógovom režime, čo znamená, že dokáže čítať hodnoty medzi 0 a 254. Prispôsobil som kód, ktorý som našiel na internete, takže uznávam, že funguje. -

neplatné 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 - vstup pre POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frekvencia nastavená na interných 8 MHz/* táto funkcia inicializuje ADC

Poznámky k predbežnému meraču ADC:

ADC Prescaler je potrebné nastaviť tak, aby bola vstupná frekvencia ADC medzi 50 - 200 kHz.

Bližšie informácie nájdete v tabuľke 17.5 „Výbery predzosilňovača ADC“v kapitole 17.13.2 „ADCSRA - Ovládací a stavový register ADC A“(strany 140 a 141 v kompletnom technickom liste ATtiny25/45/85, rev. 2586M – AVR – 07/ 10)

Platné hodnoty predzosilňovača pre rôzne rýchlosti hodín

Hodiny Dostupné hodnoty predzosilňovača -------------------------------------- 1 MHz 8 (125 kHz), 16 (62,5kHz) 4 MHz 32 (125kHz), 64 (62,5kHz) 8 MHz 64 (125kHz), 128 (62,5kHz) 16 MHz 128 (125kHz)

V nasledujúcom príklade nastavte prescaler na 128 pre MCU bežiace na 8 MHz

(skontrolujte správne bitové hodnoty v údajovom liste na nastavenie predzosilňovača) */

// 8-bitové rozlíšenie

// nastavte ADLAR na 1, aby ste povolili výsledok posunu doľava (k dispozícii sú iba bity ADC9.. ADC2) // potom na 8-bitové výsledky (256 hodnôt) stačí iba čítanie ADCH | DDRB | = (1 << PB3); // Pin je nastavený ako výstup. DDRB | = (1 << PB2); // Pin je nastavený ako výstup. ADMUX = (1 << ADLAR) | // výsledok posunu doľava (0 << REFS1) | // Nastaví ref. napätie do VCC, bit 1 (0 << REFS0) | // Nastaví ref. napätie do VCC, bit 0 (0 << MUX3) | // použitie ADC2 pre vstup (PB4), bit MUX 3 (0 << MUX2) | // použitie ADC2 pre vstup (PB4), bit MUX 2 (1 << MUX1) | // použitie ADC2 pre vstup (PB4), bit MUX 1 (0 << MUX0); // použitie ADC2 pre vstup (PB4), bit MUX 0

ADCSRA =

(1 << ADEN) | // Povoliť ADC (1 << ADPS2) | // nastavenie prescaleru na 64, bit 2 (1 << ADPS1) | // nastavenie prescaleru na 64, bit 1 (0 << ADPS0); // nastavte predzmes na 64, bit 0}

int main (prázdny)

{initADC ();

zatiaľ čo (1)

{

ADCSRA | = (1 << ADSC); // spustenie merania ADC while (ADCSRA & (1 << ADSC)); // počkajte, kým sa konverzia nedokončí

ak (ADCH> 170)

{PORTB | = (1 << PB3); // Pin nastavený na HIGH. PORTB | = (1 << PB2); // Pin nastavený na HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin nastavený na HIGH. PORTB & = ~ (1 << PB2); // Pin nastavený na NÍZKU

} else {

PORTB | = (1 << PB2); // Pin nastavený na HIGH. PORTB & = ~ (1 << PB3); // Pin nastavený na NÍZKU

}

}

návrat 0;

}

Krok 2: Okruh

Obvod
Obvod

ATTINY piny

PB3, fyzický kolík 2 - pripojený LED kolík 1

PB4, fyzický kolík 3, je pripojený k strednému kolíku POT

GND, fyzický kolík 4, je pripojený k zápornej lište - napájaniu

PB2, fyzický kolík 7 - pripojený LED kolík 3

VCC, fyzický kolík 8, je pripojený k kladnému zdroju napájania koľajnice

HRNEC

pos a neg pin spojený s príslušnými koľajnicami - napájanie.

LED

stredný kolík pripojený k zápornej lište - napájanie

Experimentoval som s použitím 3 a 3,3 voltového napájacieho zdroja a oba fungovali.

Krok 3: Záver

Záver
Záver

Schopnosť ATTINY85 prechádzať medzi analógovým a digitálnym režimom je veľmi silná a môže byť použitá v mnohých rôznych aplikáciách, napr. riadenie motorov s premenlivou rýchlosťou a vytváranie hudobných poznámok. Budem to skúmať v budúcich pokynoch. Dúfam, že ste to považovali za užitočné.

Odporúča: