Სარჩევი:

შეცვალეთ LED ფერები POT- ისა და ATTINY85– ის გამოყენებით: 3 ნაბიჯი
შეცვალეთ LED ფერები POT- ისა და ATTINY85– ის გამოყენებით: 3 ნაბიჯი

ვიდეო: შეცვალეთ LED ფერები POT- ისა და ATTINY85– ის გამოყენებით: 3 ნაბიჯი

ვიდეო: შეცვალეთ LED ფერები POT- ისა და ATTINY85– ის გამოყენებით: 3 ნაბიჯი
ვიდეო: Monitors Explained - LCD, LED, OLED, CRT, TN, IPS, VA 2024, ივლისი
Anonim
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით
შეცვალეთ LED ფერები POT და ATTINY85 გამოყენებით

ამ პროექტში ჩვენ ვიყენებთ პოტენომეტრს (POT), რომ შევცვალოთ ფერები LED- ში ATTINY85- ის გამოყენებით.

ზოგიერთი განმარტება -

პოტენომეტრი არის მოწყობილობა, რომელსაც აქვს მცირე ხრახნიანი / შემობრუნების მექანიზმი, რომელიც ჩართვისას გამოაქვს სხვადასხვა ელექტრული წინააღმდეგობა. ანოტირებული სურათის ზემოთ ხედავთ, რომ POT– ს აქვს 3 ქინძისთავები, კერძოდ, +, -, და გამომავალი. POT იკვებება + და - ქინძისთავების შეერთებით vcc და ადგილზე შესაბამისად კვების ბლოკზე. როგორც POT ხრახნი არის შემობრუნებული, გამომავალი წინააღმდეგობა იცვლება და იწვევს LED- ს შემცირებას ან ინტენსივობის ზრდას. რა სხვა სიტყვებით რომ ვთქვათ, ეს არის ცვლადი რეზისტორი. ისინი გამოიყენება ისეთ ნივთებში, როგორიცაა სახლის შუქის მბზინავი.

LED - ეს არის პატარა შუქი, რომელიც ანათებს, როდესაც ელექტრული დენი გადის. ამ შემთხვევაში, ჩვენ გამოვიყენებთ მრავალფუნქციურ LED- ს, რომელსაც აქვს 3 ქინძისთავები, ერთი გრუნტი (შუა) და ორი ქინძისთავები, რომლებიც ჩართვისას მწვანე და წითლად ჩანს.

ATTINY85-ეს არის პატარა დაბალბიუჯეტიანი მიკრო ჩიპი, რომლის დაპროგრამებაც შესაძლებელია არდუინოს მსგავსად.

მიმოხილვა - POT– დან გამომავალი დაკავშირებულია ATTINY85– თან. როდესაც POT ხრახნი იბრუნებს, განსხვავების წინააღმდეგობა გამოდის რიცხვით 0 -დან 255 -მდე. ATTINY- ს შეუძლია გაზომოს ეს და განახორციელოს სხვადასხვა ქმედებები, რაც დამოკიდებულია POT- ის წინააღმდეგობის მნიშვნელობაზე. ამ შემთხვევაში, ჩვენ დავაპროგრამეთ ის LED- თან დაკავშირება შემდეგნაირად.

თუ რიცხვი 170 -ზე მეტია, შეცვალეთ LED მწვანე.

თუ რიცხვი 170 -ზე ნაკლებია, მაგრამ 85 -ზე მეტია, შეცვალეთ LED წითელი.

თუ რიცხვი 85 -ზე ნაკლებია ჩართეთ LED GREEN და RED, რაც იწვევს ნარინჯისფერს.

BOM

1 x 3 პინიანი LED 1 x ATTINY 85

1 x ქოთანი (B100K)

1 x პურის დაფა და კაბელები

1 კვების ბლოკი.

ნაბიჯი 1: პროგრამირება ATTINY85

ATTINY85– ის პროგრამირების თვალსაზრისით, გთხოვთ მიმართოთ ჩემს წინა ინსტრუქციას-https://www.instructables.com/id/15-Dollar-Attiny8…

კოდი ნაჩვენებია ქვემოთ. ზოგიერთი პუნქტი უნდა აღინიშნოს, რომ ორი ATTINY ქინძისთავები, PB3, ფიზიკური pin 2, PB2, ფიზიკური pin 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 MHz/* ეს ფუნქცია ახდენს ADC– ის ინიციალიზაციას

ADC პრესკალერის შენიშვნები:

ADC Prescaler უნდა იყოს დაყენებული ისე, რომ ADC შეყვანის სიხშირე იყოს 50 - 200kHz.

დამატებითი ინფორმაციისათვის იხილეთ ცხრილი 17.5 "ADC Prescaler Selections" თავი 17.13.2 "ADCSRA - ADC Control and Status Register A" (გვერდები 140 და 141 ATINy25/45/85 სრულ ფურცელზე, გამოშ. 2586M – AVR – 07/ 10)

მოქმედი პრესკალერის მნიშვნელობა სხვადასხვა საათის სიჩქარისთვის

საათი ხელმისაწვდომია წინასწარი გამყიდველის მნიშვნელობები ------------------------------------------ 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 მჰც სიხშირით დამუშავებული მიკროგრამისთვის

(შეამოწმეთ მონაცემთა ფურცელი სათანადო ბიტ მნიშვნელობებისთვის, წინასწარი შემქმნელის დასაყენებლად) */

// 8 ბიტიანი გარჩევადობა

// დააყენეთ ADLAR 1-ზე მარცხენა ცვლის შედეგის გასააქტიურებლად (ხელმისაწვდომია მხოლოდ ბიტი ADC9.. ADC2) // მაშინ მხოლოდ ADCH- ის კითხვა საკმარისია 8 ბიტიანი შედეგებისთვის (256 მნიშვნელობა) DDRB | = (1 << PB3); // Pin არის მითითებული, როგორც გამომავალი. DDRB | = (1 << PB2); // Pin არის მითითებული, როგორც გამომავალი. ADMUX = (1 << ADLAR] | // მარცხენა ცვლის შედეგი (0 << REFS1) | // ადგენს ref. ძაბვა VCC– ზე, ბიტი 1 (0 << REFS0) | // ადგენს ref. ძაბვა 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] | // დააყენეთ prescaler 64, bit 1 (0 << ADPS0); // დააყენეთ prescaler 64, bit 0}

მთავარი (ბათილია)

{initADC ();

ხოლო (1)

{

ADCSRA | = (1 << ADSC]; // ADC გაზომვის დაწყება (ADCSRA & (1 << ADSC)); // დაელოდეთ კონვერტაციის დასრულებამდე

თუ (ADCH> 170)

{PORTB | = (1 << PB3); // Pin დაყენებულია HIGH- ზე. პორტი | = (1 << PB2]; // Pin დაყენებულია HIGH- ზე. } else if (ADCH 85) {PORTB | = (1 << PB3); // Pin დაყენებულია HIGH- ზე. PORTB & = ~ (1 << PB2); // Pin დაყენებულია LOW

} სხვა {

პორტი | = (1 << PB2]; // Pin დაყენებულია HIGH- ზე. PORTB & = ~ (1 << PB3); // Pin დაყენებულია LOW

}

}

დაბრუნება 0;

}

ნაბიჯი 2: წრე

წრე
წრე

ATTINY ქინძისთავები

PB3, ფიზიკური pin 2 - დაკავშირებული LED pin 1

PB4, ფიზიკური პინი 3, დაკავშირებულია შუა პინ POT– თან

GND, ფიზიკური პინი 4, დაკავშირებულია უარყოფით სარკინიგზო ხაზთან - კვების ბლოკთან

PB2, ფიზიკური pin 7 - დაკავშირებული LED pin 3

VCC, ფიზიკური პინი 8, დაკავშირებულია პოზიტიურ რკინიგზასთან - ელექტრომომარაგებასთან

ქოთანი

pos და neg pin დაკავშირებული რელსები - კვების ბლოკი.

LED

შუა პინი, რომელიც დაკავშირებულია უარყოფით სარკინიგზო ხაზთან - კვების ბლოკი

მე ექსპერიმენტი გავაკეთე 3 და 3.3 ვოლტიანი დენის წყაროს გამოყენებით და ორივე ვიმუშავე.

ნაბიჯი 3: დასკვნა

დასკვნა
დასკვნა

ATTINY85- ის შესაძლებლობა გადავიდეს ანალოგურ და ციფრულ რეჟიმში ძალიან ძლიერია და მისი გამოყენება შესაძლებელია სხვადასხვა პროგრამებში, მაგ. ცვლადი სიჩქარის ძრავების მართვა და მუსიკალური ნოტების შექმნა. ამას მომავალში ვისწავლი ინსტრუქციებში. ვიმედოვნებ, რომ ეს თქვენთვის სასარგებლო აღმოჩნდა.

გირჩევთ: