2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-23 14:47
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 okreće POT vijak, izlazni otpor se mijenja i uzrokuje smanjenje ili povećanje intenziteta LED diode.. Drugim riječima, radi se o promjenjivom otporniku. Koriste se u stvarima poput prigušivača svjetla kod kuće.
LED - Ovo je malo svjetlo koje svijetli kada električna struja prolazi kroz njega. 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 s POT -a spojen je na ATTINY85. Kako se POT vijak 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 kabeli
1 izvor napajanja.
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 spojeni, 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 // frekvencija ATTINY 85 postavljena na unutarnjih 8 MHz/* ova funkcija inicijalizira ADC
Napomene za ADC predskaler:
Predkaler ADC -a potrebno je postaviti tako da ulazna frekvencija ADC -a bude između 50 - 200kHz.
Za više informacija pogledajte tablicu 17.5 "Izbori ADC predskalera" u poglavlju 17.13.2 "ADCSRA - Registar kontrole i statusa ADC -a A" (stranice 140 i 141 na potpunom podatkovnom listu ATtiny25/45/85, Rev. 2586M – AVR – 07/ 10)
Vrijedeć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)
Dolje u primjeru postavite predskaler na 128 za mcu koji radi na 8MHz
(provjerite u tablici ispravne vrijednosti bitova za postavljanje predskalera) */
// 8-bitna razlučivost
// postavimo ADLAR na 1 kako bismo 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) | // Postavi ref. napona na VCC, bit 1 (0 << REFS0) | // Postavi ref. napon na VCC, bit 0 (0 << MUX3) | // koristite ADC2 za ulaz (PB4), MUX bit 3 (0 << MUX2) | // koristimo ADC2 za ulaz (PB4), MUX bit 2 (1 << MUX1) | // koristiti 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) | // namjestite predskaler na 64, bit 2 (1 << ADPS1) | // postavimo predskaler na 64, bit 1 (0 << ADPS0); // namjestite predskaler na 64, bit 0}
int main (void)
{initADC ();
dok (1)
{
ADCSRA | = (1 << ADSC); // pokretanje ADC mjerenja while (ADCSRA & (1 << ADSC)); // čekati dok se konverzija ne 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
ATTINY igle
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 tračnicu - napajanje
PB2, fizički pin 7 - spojen LED pin 3
VCC, fizički pin 8, spojen je na pozitivnu tračnicu - napajanje
LONAC
poz i neg pin spojen na odgovarajuće tračnice - napajanje.
LED
srednji pin spojen na negativnu tračnicu - napajanje
Eksperimentirao sam s napajanjem od 3 i 3,3 volta i oboje je radilo.
Korak 3: Zaključak
Sposobnost ATTINY85 za prelazak s analognog na digitalni način rada vrlo je snažna i može se koristiti u brojnim različitim aplikacijama, npr. upravljanje motorima promjenjive brzine i stvaranje glazbenih nota. Ovo ću istražiti u budućim instrukcijama. Nadam se da vam je ovo bilo korisno.
Preporučeni:
Promijenite svoj OBD-II kabel kako se ne bi ispraznila baterija automobila: 5 koraka
Izmijenite svoj OBD-II kabel kako se ne bi ispraznila baterija automobila: Odavno su sva vozila opremljena ugrađenim dijagnostičkim priključkom. Vrlo često je ovaj port dostupan kao OBD-II konektor. Postoji više uređaja koji mogu komunicirati pomoću ovog priključka, mnogi od njih su bazirani
Svjetlo upozorenja za rotacijske svjetionike u dvije boje u dvije boje: 6 koraka
Svjetlo upozorenja rotacijskog svjetionika u dvije boje: U ovom Instructable -u stvorit ćemo mini svjetlo. Znate, jedno od onih starinskih rotirajućih svjetala koje su stavljali na građevinsku opremu prije nego što su LED diode postale velike? Da. Jedan od onih. Ovaj će biti relativno jednostavan i malen
Promijenite naziv Bluetooth slušalica/zvučnika/adaptera ili druge postavke putem UART -a: 8 koraka (sa slikama)
Promijenite naziv Bluetooth slušalica/zvučnika/adaptera ili druge postavke putem UART -a: Imate li slučajno par Bluetooth slušalica ili drugih Bluetooth audio dodataka koji imaju zaista odvratan naziv i svaki put kad ih uparite imate unutarnju želju promijeniti Ime? Čak i ako razlozi nisu isti, postoji
Otkrivanje boje pomoću RGB LED: 4 koraka
Otkrivanje boje pomoću RGB LED: Jeste li ikada poželjeli automatizirani način otkrivanja boje objekta? Osvjetljavanjem određene boje na objektu i gledanjem koliko se svjetlosti reflektira natrag, možete znati koje je boje objekt. Na primjer, ako zasvijetlite crveno svjetlo o
Promijenite LED diode s tipkovnice: 5 koraka
Promijenite LED diode s tipkovnice: Ovo je još jedan jednostavan, ali cool projekt koji možete raditi s tipkovnicom. Vjerojatno ste umorni od zelenih LED dioda s tipkovnice i želite neku drugu boju? Ili možda želite drugu boju za svaku LED diodu na tipkovnici? Ovaj instruktor