Sadržaj:

Promijenite boje LED -a pomoću POT i ATTINY85: 3 koraka
Promijenite boje LED -a pomoću POT i ATTINY85: 3 koraka

Video: Promijenite boje LED -a pomoću POT i ATTINY85: 3 koraka

Video: Promijenite boje LED -a pomoću POT i ATTINY85: 3 koraka
Video: Led reklama crvena 2024, Novembar
Anonim
Promijenite LED boje pomoću POT i ATTINY85
Promijenite LED boje pomoću POT i ATTINY85
Promijenite LED boje pomoću POT i ATTINY85
Promijenite LED boje pomoću POT i ATTINY85
Promijenite LED boje pomoću POT i ATTINY85
Promijenite LED boje pomoću POT i ATTINY85

U ovom projektu koristimo potenciometar (POT) za promjenu boja LED diode pomoću ATTINY85.

Neke definicije -

Potenciometar je uređaj s malim mehanizmom za zavrtnje / okretanje koji prilikom okretanja daje različite električne otpore. Na gornjoj označenoj slici možete vidjeti da POT ima 3 pina, naime +, -, i izlaz. POT se napaja spajanjem + i - pinova na vcc i uzemljenje na izvor napajanja. Kako se POT zavrtanj okreće, izlazni otpor se mijenja i uzrokuje smanjenje ili povećanje intenziteta LED diode.. Drugim riječima, to je promjenjivi otpornik. Koriste se u stvarima poput prigušivača svjetla kod kuće.

LED - Ovo je malo svjetlo koje svijetli kada kroz njega prođe električna struja. U ovom slučaju, koristit ćemo višebojnu LED diodu koja ima 3 pina, jedan uzemljeni (srednji) i dva pina koji pri pokretanju pokazuju zelenu i crvenu boju.

ATTINY85-ovo je mali jeftini mikročip koji možete programirati poput Arduina.

Pregled - Izlaz iz POT -a je spojen na ATTINY85. Kako se POT zavrtanj okreće, razlika otpora izlazi kao broj između 0 i 255. ATTINY to može izmjeriti i poduzeti različite radnje ovisno o vrijednosti POT otpora. U ovom slučaju, programirali smo ga za spajanje na LED na sljedeći način.

Ako je broj veći od 170, LED prebacite u ZELENU.

Ako je broj manji od 170, ali veći od 85, LED prebacite u CRVENU.

ako je broj manji od 85, uključite LED ZELENU I CRVENU što rezultira NARANČASTOM.

BOM

1 x 3 -polna LED1 x ATTINY 85

1 x POT (B100K)

1 x matična ploča i kablovi

1 napajanje.

Korak 1: Programiranje ATTINY85

Što se tiče programiranja ATTINY85, molimo vas da pogledate moje prethodne upute-https://www.instructables.com/id/15-Dollar-Attiny8…

Kôd je prikazan ispod. Treba napomenuti da su dva ATTINY pina, PB3, fizički pin 2, PB2, fizički pin 7 spojena, u digitalnom načinu, na LED kako bi se izvršila promjena boje. ATTINY pin PB4, fizički pin 3, spojen je na POT u analognom načinu rada, što znači da može čitati vrijednosti između 0 i 254. Prilagodio sam kôd koji sam pronašao na internetu pa potvrđujem da radi. -

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 - ulaz za POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frekvencija postavljena na internih 8 MHz/* ova funkcija inicijalizira ADC

Napomene za ADC predskaler:

Predkaler ADC -a mora biti podešen tako da ulazna frekvencija ADC -a bude između 50 - 200kHz.

Za više informacija pogledajte tablicu 17.5 "Izbori pretkalerara ADC -a" u poglavlju 17.13.2 "ADCSRA - ADC kontrolni i statusni registar A" (stranice 140 i 141 na kompletnom podatkovnom listu ATtiny25/45/85, Rev. 2586M – AVR – 07/ 10)

Važeće vrijednosti predrazdjelnika za različite brzine takta

Sat Dostupne vrijednosti predkalerara --------------------------------------- 1 MHz 8 (125 kHz), 16 (62,5 kHz) 4 MHz 32 (125 kHz), 64 (62,5 kHz) 8 MHz 64 (125 kHz), 128 (62,5 kHz) 16 MHz 128 (125 kHz)

Ispod primjera postavite predskaler na 128 za mcu koji radi na 8MHz

(provjerite u tablici podataka odgovarajuće vrijednosti bitova za postavljanje predskalera) */

// 8-bitna rezolucija

// postavite ADLAR na 1 da biste omogućili rezultat pomaka ulijevo (dostupni su samo bitovi ADC9.. ADC2) // tada je samo čitanje ADCH dovoljno za 8-bitne rezultate (256 vrijednosti) DDRB | = (1 << PB3); // Pin je postavljen kao izlaz. DDRB | = (1 << PB2); // Pin je postavljen kao izlaz. ADMUX = (1 << ADLAR) | // rezultat pomaka ulijevo (0 << REFS1) | // Setovi ref. napon na VCC, bit 1 (0 << REFS0) | // Setovi ref. napon na VCC, bit 0 (0 << MUX3) | // koristimo ADC2 za ulaz (PB4), MUX bit 3 (0 << MUX2) | // koristimo ADC2 za ulaz (PB4), MUX bit 2 (1 << MUX1) | // koristimo ADC2 za ulaz (PB4), MUX bit 1 (0 << MUX0); // koristimo ADC2 za ulaz (PB4), MUX bit 0

ADCSRA =

(1 << ADEN) | // Omogući ADC (1 << ADPS2) | // postavimo predskaler na 64, bit 2 (1 << ADPS1) | // postavimo predskaler na 64, bit 1 (0 << ADPS0); // postavio predskaler na 64, bit 0}

int main (void)

{initADC ();

dok (1)

{

ADCSRA | = (1 << ADSC); // započinje ADC mjerenje while (ADCSRA & (1 << ADSC)); // čekati da se konverzija dovrši

ako (ADCH> 170)

{PORTB | = (1 << PB3); // Pin postavljen na HIGH. PORTB | = (1 << PB2); // Pin postavljen na HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin postavljen na HIGH. PORTB & = ~ (1 << PB2); // Pin postavljen na LOW

} else {

PORTB | = (1 << PB2); // Pin postavljen na HIGH. PORTB & = ~ (1 << PB3); // Pin postavljen na LOW

}

}

return 0;

}

Korak 2: Krug

Krug
Krug

ATTINY pinovi

PB3, fizički pin 2 - spojen LED pin 1

PB4, fizički pin 3, spojen je na srednji pin POT

GND, fizički pin 4, spojen je na negativnu šinu - izvor napajanja

PB2, fizički pin 7 - spojen LED pin 3

VCC, fizički pin 8, spojen je na pozitivnu šinu - napajanje

POT

poz i neg pin spojeni na odgovarajuće šine - napajanje.

LED

srednji pin spojen na negativnu šinu - napajanje

Eksperimentisao sam sa napajanjem od 3 i 3,3 volta i oba su radila.

Korak 3: Zaključak

Zaključak
Zaključak

Sposobnost ATTINY85 za prebacivanje između analognog i digitalnog načina rada je vrlo moćna i može se koristiti u brojnim različitim aplikacijama, npr. upravljanje motorima promjenjive brzine i stvaranje muzičkih nota. Ovo ću istražiti u budućim instrukcijama. Nadam se da vam je ovo bilo korisno.

Preporučuje se: