INHOUDSOPGAWE:
Video: Verander LED -kleure met 'n POT en ATTINY85: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
In hierdie projek gebruik ons 'n potensiometer (POT) om die kleure in 'n LED met 'n ATTINY85 te verander.
Enkele definisies -
'N Potensiometer is 'n toestel met 'n klein skroef- / draaimeganisme wat verskillende elektriese weerstande lewer wanneer dit gedraai word. U kan uit die geannoteerde prent hierbo sien dat die POT 3 penne het, naamlik +, - en uitset. Die POT word aangedryf deur die + en - penne aan te sluit op onderskeidelik vcc en grond op 'n kragtoevoer. As die POT -skroef gedraai word, verander die uitsetweerstand en veroorsaak dat die LED afneem of in intensiteit toeneem.. Met ander woorde, dit is 'n veranderlike weerstand. Dit word gebruik in dinge soos huisligte.
LED - Dit is 'n klein liggie wat brand wanneer elektriese stroom daardeur gaan. In hierdie geval gebruik ons 'n veelkleurige LED met drie penne, een grond (middel) en twee penne wat onderskeidelik groen en rooi vertoon wanneer dit geaktiveer word.
ATTINY85-dit is 'n klein goedkoop mikroskyfie wat u soos 'n Arduino kan programmeer.
Oorsig - Die uitset van die POT is gekoppel aan die ATTINY85. As die POT -skroef gedraai word, word 'n verskilweerstand as 'n getal tussen 0 en 255 uitgevoer. Die ATTINY kan dit meet en verskillende aksies neem, afhangende van die waarde van die POT -weerstand. In hierdie geval het ons dit geprogrammeer om soos volg met die LED aan te sluit.
Skakel die LED na GROEN as die getal groter is as 170.
Skakel die LED na ROOI as die getal minder as 170, maar groter as 85 is.
as die getal minder as 85 is, skakel LED GROEN EN ROOI aan, wat lei tot ORANJE.
BOM
1 x 3 -pins LED1 x ATTINY 85
1 x POT (B100K)
1 x broodbord en kabels
1 kragtoevoer.
Stap 1: Programmering van die ATTINY85
In terme van die programmering van die ATTINY85, verwys na my vorige instruksies-https://www.instructables.com/id/15-Dollar-Attiny8…
Die kode word hieronder getoon. 'N Paar opmerkings is dat twee ATTINY -penne, PB3, fisiese pen 2, PB2, fisiese pen 7, in digitale modus aan die LED gekoppel is om kleurverandering te bewerkstellig. ATTINY -pen PB4, fisiese pen 3, word in die analoogmodus aan die POT gekoppel, wat beteken dat dit waardes tussen 0 en 254 kan lees. Ek het die kode wat ek op die internet gevind het, aangepas, sodat ek die werk erken. -
leegte 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 - invoer vir POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 frekwensie ingestel op interne 8 MHz/* hierdie funksie initialiseer die ADC
ADC Prescaler Notas:
ADC Prescaler moet so ingestel word dat die ADC -invoervrekwensie tussen 50 - 200kHz is.
Vir meer inligting, sien tabel 17.5 "ADC Prescaler Selections" in hoofstuk 17.13.2 "ADCSRA - ADC Control and Status Register A" (bladsye 140 en 141 op die volledige ATtiny25/45/85 datablad, Rev. 2586M – AVR – 07/ 10)
Geldige voorverkoelerwaardes vir verskillende kloksnelhede
Klok Beskikbare voorverkoelerwaardes --------------------------------------- 1 MHz 8 (125kHz), 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)
Stel die voorkalker in die voorbeeld hieronder op 128 vir mcu wat op 8MHz werk
(kyk na die gegewensblad vir die regte bitwaardes om die voorverkoeler in te stel) */
// 8-bis resolusie
// stel ADLAR op 1 om die resultaat na links-skuif moontlik te maak (slegs bisse ADC9.. ADC2 is beskikbaar) // dan is slegs die lees van ADCH voldoende vir 8-bis-resultate (256 waardes) DDRB | = (1 << PB3); // Speld word as uitset gestel. DDRB | = (1 << PB2); // Speld word as uitset gestel. ADMUX = (1 << ADLAR) | // uitslag links skuif (0 << REFS1) | // Stel ref. spanning na VCC, bit 1 (0 << REFS0) | // Stel ref. spanning na VCC, bit 0 (0 << MUX3) | // gebruik ADC2 vir invoer (PB4), MUX bit 3 (0 << MUX2) | // gebruik ADC2 vir invoer (PB4), MUX bit 2 (1 << MUX1) | // gebruik ADC2 vir invoer (PB4), MUX bit 1 (0 << MUX0); // gebruik ADC2 vir invoer (PB4), MUX bit 0
ADCSRA =
(1 << ADEN) | // Aktiveer ADC (1 << ADPS2) | // stel prescaler in op 64, bit 2 (1 << ADPS1) | // stel prescaler op 64, bit 1 (0 << ADPS0); // stel prescaler op 64, bietjie 0}
int main (leeg)
{initADC ();
terwyl (1)
{
ADCSRA | = (1 << ADSC); // begin ADC -meting terwyl (ADCSRA & (1 << ADSC)); // wag totdat die omskakeling voltooi is
as (ADCH> 170)
{PORTB | = (1 << PB3); // Speld gestel op HOOG. PORTB | = (1 << PB2); // Speld gestel op HOOG. } anders as (ADCH 85) {PORTB | = (1 << PB3); // Speld gestel op HOOG. PORTB & = ~ (1 << PB2); // Speld gestel op LAAG
} anders {
PORTB | = (1 << PB2); // Speld gestel op HOOG. PORTB & = ~ (1 << PB3); // Speld gestel op LAAG
}
}
terugkeer 0;
}
Stap 2: Skakel
ATTINY penne
PB3, fisiese pen 2 - gekoppelde LED -pen 1
PB4, fisiese pen 3, is gekoppel aan die middelste pen POT
GND, fisiese pen 4, is gekoppel aan die negatiewe spoor - kragtoevoer
PB2, fisiese pen 7 - gekoppelde LED -pen 3
VCC, fisiese pen 8, is gekoppel aan die positiewe spoor - kragtoevoer
POT
pos en neg -pen gekoppel aan die onderskeie relings - kragtoevoer.
LED
middelste pen gekoppel aan die negatiewe spoor - kragtoevoer
Ek het eksperimenteer met 'n 3 en 3.3 volt kragbron en albei het gewerk.
Stap 3: Gevolgtrekking
Die ATTINY85 se vermoë om tussen analoog en digitaal af te beweeg, is baie kragtig en kan in 'n aantal verskillende toepassings gebruik word, bv. ry motors met veranderlike snelhede en maak musieknote. Ek sal dit in die toekomstige instruksies ondersoek. Ek hoop dat u dit nuttig gevind het.
Aanbeveel:
ATtiny85 draagbare trilaktiwiteitsopsporing Horlosie en programmering ATtiny85 met Arduino Uno: 4 stappe (met foto's)
ATtiny85 draagbare trilaktiwiteitsopsporingshorlosie en programmering ATtiny85 met Arduino Uno: hoe kan u die draagbare aktiwiteitopsporing laat kyk? Dit is 'n draagbare apparaat wat ontwerp is om te vibreer wanneer dit stagnasie opspoor. Spandeer u die meeste van u tyd op die rekenaar soos ek? Sit u ure sonder om dit te besef? Dan is hierdie toestel f
Buigsame boekwyser wat verander kan word, kan verander word: 6 stappe
Buigsame boek wat verander kan word: verander u gunsteling papierboekmerk in 'n veranderlike boek met slegs 'n paar maklike stappe. om 'n boek opsy te sit as dinge gaan
Giet gedetailleerde dele: prostetiese vingers (wat gloei, kleur verander met hitte en meer ): 10 stappe (met foto's)
Giet gedetailleerde dele: prostetiese vingers (wat gloei, kleur verander met hitte en meer …): Dit is 'n gids vir die giet van klein, komplekse onderdele - goedkoop. Daar moet gesê word dat ek geen rolverdiener is nie, maar omdat noodsaaklikheid dikwels die uitvinding is - sommige van die prosesse hier het goed gewerk. Ek het Nigel Ackland ontmoet op Future Fest in Londen, en
Maak PCB's vir hobbyiste met professionele CAD -gereedskap deur 'ontwerpreëls' te verander: 15 stappe (met foto's)
Maak PCB's vir hobbyiste met professionele CAD -gereedskap deur die "ontwerpreëls" aan te pas: dit is aangenaam dat daar 'n paar professionele hulpmiddels vir die bordjies beskikbaar is. Hier is 'n paar wenke om dit te gebruik vir ITO -ontwerpborde wat nie 'n professionele vervaardiger benodig om dit werklik te maak nie
Hoe u die teks wat verskyn wanneer u u muis oor die beginknoppie verander, verander: 4 stappe
Hoe u die teks wat verskyn as u met die muis oor die beginknoppie verander, verander: die titel sê alles