Turinys:
Video: Pakeiskite LED spalvas naudodami puodą ir ATTINY85: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiame projekte mes naudojame potenciometrą (POT), kad pakeistume šviesos diodo spalvas naudodami ATTINY85.
Kai kurie apibrėžimai -
Potenciometras yra įtaisas su mažu varžtu / tekinimo mechanizmu, kuris pasukus išskiria skirtingą elektros varžą. Iš aukščiau esančio paveikslėlio su anotacija matote, kad POT turi 3 kaiščius, būtent +, - ir išvestį. POT maitinamas prijungus + ir - kištukus prie maitinimo šaltinio atitinkamai prie vcc ir įžeminimo. Pasukus POT varžtą, pasikeičia išėjimo varža ir dėl to šviesos diodas sumažėja arba padidėja.. Kitaip tariant, tai kintamas rezistorius. Jie naudojami tokiuose dalykuose kaip namų šviesos reguliatoriai.
Šviesos diodas - tai maža lemputė, kuri užsidega, kai per ją praeina elektros srovė. Šiuo atveju mes naudosime įvairiaspalvį šviesos diodą, kuris turi 3 kaiščius, vieną įžeminimą (vidurį) ir du kaiščius, kurie paleidžiant rodomi atitinkamai žalia ir raudona.
ATTINY85-tai nedidelė nebrangi mikroschema, kurią galite užprogramuoti kaip „Arduino“.
Apžvalga - POT išvestis prijungta prie ATTINY85. Sukant POT varžtą, atsparumo skirtumui rodomas skaičius nuo 0 iki 255. ATTINY gali tai išmatuoti ir atlikti skirtingus veiksmus, priklausomai nuo POT varžos vertės. Šiuo atveju mes užprogramavome jį prisijungti prie šviesos diodo taip.
Jei skaičius didesnis nei 170, perjunkite šviesos diodą į ŽALIĄ.
Jei skaičius yra mažesnis nei 170, bet didesnis nei 85, perjunkite šviesos diodą į RAUDONĄ.
jei skaičius yra mažesnis nei 85, įjunkite ŽALIĄ IR RAUDONĄ šviesos diodą, todėl atsiranda oranžinė spalva.
BOM
1 x 3 kontaktų šviesos diodas 1 x ATTINY 85
1 x POT (B100K)
1 x duonos lenta ir kabeliai
1 maitinimo šaltinis.
1 žingsnis: ATTINY85 programavimas
Kalbant apie ATTINY85 programavimą, žiūrėkite mano ankstesnį nurodymą-https://www.instructables.com/id/15-Dollar-Attiny8…
Kodas parodytas žemiau. Reikia atkreipti dėmesį į tai, kad du ATTINY kaiščiai, PB3, fizinis kaištis 2, PB2, fizinis kaištis 7 yra prijungti skaitmeniniu režimu prie šviesos diodo, kad būtų pakeista spalva. ATTINY kaištis PB4, fizinis 3 kaištis, yra prijungtas prie POT analoginiu režimu, o tai reiškia, kad jis gali nuskaityti reikšmes nuo 0 iki 254. Aš pritaikiau kodą, kurį radau internete, todėl pripažįstu tą darbą. -
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) // ** ši funkcija inicijuoja ADC
ADC prescaler Pastabos:
ADC prescaler reikia nustatyti taip, kad ADC įvesties dažnis būtų nuo 50 iki 200 kHz.
Daugiau informacijos rasite 17.13.2 skyriaus „ADCSRA - ADC valdymo ir būsenos registras A“17.5 lentelėje „ADC prescaler Selections“(ADCSRA - ADC valdymo ir būsenos registras A) (140 ir 141 puslapiai visuose ATtiny25/45/85 duomenų lapuose, red. 2586M – AVR – 07/ 10)
Tinkamos išankstinio kalibravimo vertės įvairiems laikrodžio greičiams
Laikrodis Galimos prescaler vertės --------------------------------------- 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)
Žemiau pateiktame pavyzdyje nustatykite prescalerį į 128, kad mcu veiktų 8 MHz dažniu
(patikrinkite, ar duomenų lape yra tinkamų bitų reikšmių, kad nustatytumėte preskalerį) */
// 8 bitų raiška
// nustatykite ADLAR į 1, kad įjungtumėte kairiojo poslinkio rezultatą (galimi tik bitai ADC9.. ADC2) // tada 8 bitų rezultatams pakanka tik nuskaityti ADCH (256 reikšmės) DDRB | = (1 << PB3); // Smeigtukas nustatytas kaip išvestis. DDRB | = (1 << PB2); // Smeigtukas nustatytas kaip išvestis. ADMUX = (1 << ADLAR) | // kairiojo poslinkio rezultatas (0 << REFS1) | // Rinkiniai nuorod. įtampa iki VCC, 1 bitas (0 << REFS0) | // Rinkiniai nuorod. įtampa iki VCC, bitas 0 (0 << MUX3) | // įėjimui naudokite ADC2 (PB4), 3 MUX bitą (0 << MUX2) | // įėjimui naudokite ADC2 (PB4), MUX bitą 2 (1 << MUX1) | // įėjimui naudokite ADC2 (PB4), MUX bitą 1 (0 << MUX0); // įėjimui naudokite ADC2 (PB4), MUX bitą 0
ADCSRA =
(1 << ADEN) | // Įgalinti ADC (1 << ADPS2) | // nustatykite prescaler į 64 bitą 2 (1 << ADPS1) | // nustatykite prescaler į 64 bitą 1 (0 << ADPS0); // nustatykite prescaler į 64, bitą 0}
int main (niekinis)
{initADC ();
kol (1)
{
ADCSRA | = (1 << ADSC); // pradėti ADC matavimą, kol (ADCSRA & (1 << ADSC)); // palaukite, kol konversija bus baigta
jei (ADCH> 170)
{PORTB | = (1 << PB3); // Smeigtukas nustatytas į HIGH. PORTB | = (1 << PB2); // Smeigtukas nustatytas į HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3); // Smeigtukas nustatytas į HIGH. PORTB & = ~ (1 << PB2); // Smeigtukas nustatytas į LOW
} Kitas {
PORTB | = (1 << PB2); // Smeigtukas nustatytas į HIGH. PORTB & = ~ (1 << PB3); // Smeigtukas nustatytas į LOW
}
}
grįžti 0;
}
2 žingsnis: grandinė
ATTINY kaiščiai
PB3, fizinis kaištis 2 - prijungtas LED kaištis 1
PB4, fizinis kaištis 3, yra prijungtas prie vidurinio kaiščio POT
GND, fizinis 4 kaištis, yra prijungtas prie neigiamo bėgio - maitinimo šaltinio
PB2, fizinis kaištis 7 - prijungtas LED kaištis 3
VCC, fizinis 8 kaištis, yra prijungtas prie teigiamo bėgio maitinimo šaltinio
POT
pos ir neg kaištis prijungti prie atitinkamų bėgių - maitinimo šaltinis.
LED
vidurinis kaištis prijungtas prie neigiamo bėgio - maitinimo šaltinis
Eksperimentavau naudodamas 3 ir 3,3 voltų maitinimo šaltinį ir abu pavyko.
3 žingsnis: Išvada
„ATTINY85“galimybė perjungti iš analoginio į skaitmeninį režimą yra labai galinga ir gali būti naudojama daugelyje skirtingų programų, pvz. vairuoti kintamo greičio variklius ir kurti muzikines natas. Aš tai išnagrinėsiu būsimose instrukcijose. Tikiuosi, kad jums tai buvo naudinga.
Rekomenduojamas:
Kaip padaryti išmanųjį puodą naudojant „NodeMCU“, valdomą programos: 8 veiksmai
Kaip sukurti išmanųjį puodą naudojant „NodeMCU“, valdomą programos: Šiame vadove mes sukursime išmanųjį puodą, valdomą ESP32 ir programą išmaniesiems telefonams („iOS“ir „Android“). Ryšiui ir „Blynk“bibliotekai naudosime „NodeMCU“(ESP32) debesies daiktų internetui ir programai išmaniajame telefone. Galiausiai mes
Lengvai pakeiskite „Android“skirtuko bateriją naudodami 18650 „LiPo“akumuliatorių: 5 žingsniai
Lengvai pakeiskite „Android“skirtuko akumuliatorių naudodami 18650 „LiPo“akumuliatorių: Šioje instrukcijoje pamatysime, kaip pakeisti seną „Android“skirtuką, kurio baterija buvo išsekusi naudojant 18650 LiPo bateriją. Atsakomybės apribojimas: LiPo (ličio polimerų) baterijos yra pagarsėjusios deginimu/sprogimu, jei nesiimama tinkamos priežiūros. Darbas su ličiu
Sukurkite „pasidaryk pats“laistymo puodą su „WiFi“- „Waters Plants“automatiškai ir siunčia įspėjimus, kai vandens yra mažai: 19 žingsnių
Sukurkite „pasidaryk pats“laistymo puodą su „WiFi“- „Waters Plants“automatiškai ir siunčia įspėjimus, kai vandens yra mažai: Šioje pamokoje parodyta, kaip sukurti pritaikytą „WiFi“prijungtą savaiminio laistymo sodinuką naudojant seną sodo sodintuvą, šiukšliadėžę, šiek tiek klijų ir „Self“Laistymo puodo surinkimo rinkinys iš „Adosia“
„Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: 7 žingsniai (su nuotraukomis)
„Arduino RGB“spalvų parinkiklis - pasirinkite spalvas iš realaus gyvenimo objektų: Lengvai pasirinkite spalvas iš fizinių objektų naudodami šį „Arduino“pagrįstą RGB spalvų parinkiklį, leidžiantį atkurti spalvas, kurias matote realaus gyvenimo objektuose savo kompiuteryje ar mobiliajame telefone. Tiesiog paspauskite mygtuką, kad nuskaitytumėte objekto spalvą naudodami pigų TCS347
Atnaujinkite „pasidaryk pats“laistymo puodą su „WiFi“į „pasidaryk pats“judesio aptikimo signalizacijos signalą 17 žingsnių
Atnaujinkite „pasidaryk pats“laistymo puodą su „WiFi“į „pasidaryk pats“judesio aptikimo signalizatorių sėjamoji: Šiame straipsnyje mes parodysime, kaip patobulintą savaiminio laistymo puodą su „WiFi“atnaujinti į „pasidaryk pats“laistymo puodą su „WiFi“ir judesio aptikimo signalizacija. Jei neskaitėte straipsnio apie tai, kaip sukurti „pasidaryk pats“laistymo puodą su „WiFi“, galite baigti