Բովանդակություն:
Video: Փոխեք LED գույները ՝ օգտագործելով զամբյուղ և ATTINY85: 3 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս նախագծում մենք օգտագործում ենք պոտենցիոմետր (POT) ՝ LED- ում գույները փոխելու համար ՝ օգտագործելով ATTINY85:
Որոշ սահմանումներ -
Պոտենցիոմետրը փոքր պտուտակով / պտտման մեխանիզմ ունեցող սարք է, որն անջատելիս տալիս է տարբեր էլեկտրական դիմադրություններ: Վերևի ծանոթագրված պատկերից կարող եք տեսնել, որ POT- ն ունի 3 կապում, այն է ՝ +, -, և ելք: POT- ը սնուցվում է ` + և - կապումներն համապատասխանաբար vcc- ին և գետնին միացնելով սնուցման աղբյուրի վրա: Երբ POT պտուտակը պտտվում է, ելքային դիմադրությունը փոխվում է և առաջացնում LED- ի նվազում կամ ինտենսիվության բարձրացում:. Այլ կերպ ասած, դա փոփոխական դիմադրություն է: Դրանք օգտագործվում են այնպիսի իրերի մեջ, ինչպիսիք են տան լույսի լուսամփոփները:
LED - Սա փոքր լույս է, որը լուսավորում է, երբ էլեկտրական հոսանքը անցնում է դրանով: Այս դեպքում մենք կօգտագործենք բազմագույն LED, որն ունի 3 կապում, մեկ հիմք (մեջտեղում) և երկու կապում, որոնք միացման ժամանակ համապատասխանաբար կանաչ և կարմիր են ցույց տալիս:
ATTINY85-սա փոքր էժան միկրոչիպ է, որը կարող եք ծրագրավորել Arduino- ի նման:
Ակնարկ - Կաթսայից ելքը միացված է ATTINY85- ին: Երբ POT պտուտակը պտտվում է, տարբերության դիմադրությունը դուրս է գալիս որպես թիվ 0 -ից 255 -ի միջև: ATTINY- ն կարող է դա չափել և տարբեր գործողություններ կատարել `կախված POT- ի դիմադրության արժեքից: Այս դեպքում մենք ծրագրել ենք այն LED- ին միանալ հետևյալ կերպ.
Եթե համարը 170 -ից մեծ է, LED- ը փոխեք Կանաչի:
Եթե թիվը 170 -ից փոքր է, բայց 85 -ից մեծ է, LED- ը փոխեք ԿԱՐՄԻՐ:
եթե թիվը 85 -ից փոքր է միացրեք LED GREEN AND RED- ը, որի արդյունքում ստացվում է Նարնջագույն:
BOM
1 x 3 փին LED1 x ATTINY 85
1 x կաթսա (B100K)
1 x տախտակ և մալուխներ
1 էլեկտրամատակարարում:
Քայլ 1. ATTINY85 ծրագրավորում
Ինչ վերաբերում է ATTINY85- ի ծրագրավորմանը, խնդրում եմ անդրադառնալ իմ նախորդ ուսանելիին `https://www.instructables.com/id/15-Dollar-Attiny8…
Կոդը ներկայացված է ստորև: Որոշ կետեր պետք է նշել, որ երկու ATTINY կապում ՝ PB3, ֆիզիկական 2, PB2, ֆիզիկական կապ 7, թվային ռեժիմում միացված են LED- ին ՝ գույնի փոփոխություն կատարելու համար: ATTINY pin PB4, ֆիզիկական կապ 3, անալոգային ռեժիմում միացված է POT- ին, ինչը նշանակում է, որ այն կարող է կարդալ արժեքներ 0 -ից 254 -ի միջև: Ես հարմարեցրել եմ ինտերնետում գտած կոդը, որպեսզի ընդունեմ այդ աշխատանքը: -
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 - մուտքագրում POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 հաճախականությունը սահմանվում է ներքին 8 ՄՀց/* այս գործառույթը նախնականացնում է ADC- ն
ADC Prescaler Նշումներ.
ADC Prescaler- ը պետք է այնպես սահմանվի, որ ADC մուտքագրման հաճախականությունը լինի 50-200 կՀց -ի միջև:
Լրացուցիչ տեղեկությունների համար տե՛ս աղյուսակ 17.5 «ADC Prescaler Selections» բաժնում 17.13.2 «ADCSRA - ADC Control and Status Register A» (էջ 140 և 141 ամբողջական ATtiny25/45/85 տվյալների թերթիկում, Rev. 2586M – AVR – 07/ 10)
Presամացույցի տարբեր արագությունների համար նախալեզվային վավեր արժեքներ
Clամացույց Հասանելի նախալեզվային արժեքներ ------------------------------------------- 1 ՄՀց 8 (125 կՀց), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)
Ստորև բերված օրինակը նախածավալաչափը սահմանել է 128 ՝ 8 ՄՀց հաճախականությամբ աշխատող mcu- ի համար
(ստուգեք տվյալների թերթիկը `նախալեզվիչը սահմանելու համար բիթերի համապատասխան արժեքների համար) */
// 8-բիթանոց լուծում
// սահմանել ADLAR- ը 1-ի համար `ձախակողմյան տեղաշարժի արդյունքը (հասանելի են միայն ADC9.. ADC2 բիթերը) // այնուհետև միայն ADCH- ի ընթերցումը բավարար է 8-բիթանոց արդյունքների համար (256 արժեք) DDRB | = (1 << PB3); // Pin- ը սահմանվում է որպես ելք: DDRB | = (1 << PB2); // Pin- ը սահմանվում է որպես ելք: ADMUX = (1 << ADLAR) | // ձախ հերթափոխի արդյունք (0 << REFS1) | // Սահմանում է հղում լարումը դեպի VCC, բիթ 1 (0 << REFS0) | // Սահմանում է հղում լարումը դեպի VCC, բիթ 0 (0 << MUX3) | // մուտքագրման համար օգտագործեք ADC2 (PB4), MUX բիթ 3 (0 << MUX2) | // մուտքագրման համար օգտագործեք ADC2 (PB4), MUX բիթ 2 (1 << MUX1) | // մուտքագրման համար օգտագործեք ADC2 (PB4), MUX բիթ 1 (0 << MUX0); // մուտքագրման համար օգտագործեք ADC2 (PB4), MUX բիթ 0
ADCSRA =
(1 << ԱԴԵՆ] | // Միացնել ADC (1 << ADPS2) | // նախալեզվիչը սահմանել 64, բիթ 2 (1 << ADPS1) | // նախալեզվիչը սահմանել 64, բիթ 1 (0 << ADPS0); // նախալեզվիչը սահմանել 64, բիթ 0}
int հիմնական (անվավեր)
{initADC ();
մինչդեռ (1)
{
ADCSRA | = (1 << ADSC); // սկսել ADC չափումը մինչ (ADCSRA & (1 << ADSC)); // սպասեք մինչև փոխակերպումն ավարտվի
եթե (ADCH> 170)
{PORTB | = (1 << PB3); // Pin- ը սահմանվել է HIGH: PORTB | = (1 << PB2); // Pin- ը սահմանվել է HIGH: } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin- ը սահմանվել է HIGH: PORTB & = ~ (1 << PB2); // Պին սահմանվել է OWԱOWՐ
} ուրիշ {
PORTB | = (1 << PB2); // Pin- ը սահմանվել է HIGH: PORTB & = ~ (1 << PB3); // Պին սահմանվել է OWԱOWՐ
}
}
վերադարձ 0;
}
Քայլ 2: Շղթա
ATTINY կապում
PB3, ֆիզիկական կապ 2 - միացված LED փին 1
PB4- ը, ֆիզիկական 3 -րդ կապը, միացված է միջին PIN POT- ին
GND- ը, ֆիզիկական 4 -րդ կապը, միացված է բացասական ռելսին `էլեկտրամատակարարմանը
PB2, ֆիզիկական կապում 7 - միացված LED փին 3
VCC- ն, ֆիզիկական 8 -րդ կապը, միացված է դրական ռելսին `էլեկտրամատակարարմանը
Կաթսա
pos և neg pin, որոնք կապված են համապատասխան ռելսերի հետ - էլեկտրամատակարարում:
LED
միջին քորոց `միացված բացասական երկաթուղու հետ - էլեկտրամատակարարում
Ես փորձարկեցի ՝ օգտագործելով 3 և 3.3 վոլտ էներգիայի աղբյուր և երկուսն էլ աշխատեցին:
Քայլ 3: Եզրակացություն
ATTINY85- ի անալոգային և թվային ռեժիմի միջև շարժվելու ունակությունը շատ հզոր է և կարող է օգտագործվել մի շարք տարբեր ծրագրերում, օրինակ. փոփոխական արագության շարժիչներ վարելը և երաժշտական նոտաներ ստեղծելը: Ես դա կուսումնասիրեմ ապագա հրահանգների մեջ: Հուսով եմ, որ սա օգտակար եք գտել:
Խորհուրդ ենք տալիս:
Հետևող անձ ՝ զամբյուղ. 8 քայլ
Անձը, որը հետևում է զամբյուղին. Այսօրվա դրությամբ ռոբոտները զբաղեցնում են չնչին աշխատանքների մեծ մասը, որտեղ ժամանակին պահանջվում էր մարդկային ուշադրություն: Եկեք սկսենք մի պարզ բանով. The
Ինչպես ես պատրաստեցի պտղատու զամբյուղ ՝ օգտագործելով «Վեբ» -ը Fusion 360 -ում: 5 քայլ
Ինչպե՞ս եմ պատրաստել պտղատու զամբյուղ ՝ օգտագործելով «Վեբ» -ը Fusion 360 -ում :: Մի քանի օր առաջ հասկացա, որ չեմ օգտագործել " կողիկներ " Fusion 360- ի առանձնահատկությունը: Այսպիսով, ես մտածեցի այն օգտագործել այս նախագծում: &Laquo; կողերի » ամենապարզ կիրառումը: կարող է լինել պտղատու զամբյուղի տեսքով, այնպես չէ՞: Տեսեք, թե ինչպես օգտագործել
Rainbow-Tinkercad- ի գույները `4 քայլ
Rainbow-Tinkercad- ի գույները. Բարև: Im Kalani Tops, և այսօր ես կներկայացնեմ իմ նախագիծը, որը դուք նույնպես կարող եք անել, եթե ունեք այն, ինչ անհրաժեշտ է: Ես այս նախագիծը դարձրել եմ հատկապես հեշտ, քանի որ ես դանդաղ եմ, և այլ մարդիկ, ովքեր կարող են կարդալ սա, կարող են լինել ինձ պես: Այսպիսով
Խելացի զամբյուղ. 4 քայլ
Խելացի զամբյուղ. Խելացի գնումների զամբյուղ (տրոլեյբուս) նախագիծը իրականացվում է գերակշռող ավտոմատացման միջոցով և դյուրացնում մարդկանց կյանքը: Այս սայլակն ունի տարբեր ունակություններ, այդ թվում ՝ մարդկանց հետևել, ժեստերի ճանաչում, 3DOF ռոբոտային թևով առարկաներ վերցնել և տեղադրել
Ֆոտոնների գույները `3 քայլ
Ֆոտոնների գույներ. Ֆոտոնների գույներ Այս նկարը փոխվում է ամեն պահի որպես նոր: Այն, ինչ ես օգտագործում եմ. Adafruit NeoPixel Digital RGB LED Strip 144 LED × 2 ակրիլ ապակի/ 1 սմ հաստությամբ Adafruit Hook-up Wire Spool Set Adafruit Perma-Proto Breadboard PCB Adafruit R