Სარჩევი:
ვიდეო: შეცვალეთ LED ფერები POT- ისა და ATTINY85– ის გამოყენებით: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ პროექტში ჩვენ ვიყენებთ პოტენომეტრს (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- ის შესაძლებლობა გადავიდეს ანალოგურ და ციფრულ რეჟიმში ძალიან ძლიერია და მისი გამოყენება შესაძლებელია სხვადასხვა პროგრამებში, მაგ. ცვლადი სიჩქარის ძრავების მართვა და მუსიკალური ნოტების შექმნა. ამას მომავალში ვისწავლი ინსტრუქციებში. ვიმედოვნებ, რომ ეს თქვენთვის სასარგებლო აღმოჩნდა.
გირჩევთ:
Rainbow-Tinkercad- ის ფერები: 4 ნაბიჯი
Rainbow-Tinkercad- ის ფერები: გამარჯობა! Im Kalani Tops, და დღეს მე წარმოგიდგენთ ჩემს საკუთარ პროექტს, რომელიც თქვენც შეგიძლიათ გააკეთოთ, თუ თქვენ გაქვთ ის, რაც გჭირდებათ. მე ეს პროექტი განსაკუთრებით გავადვილე, რადგან ნელი ვარ და სხვა ადამიანები, ვინც ამას კითხულობენ, შეიძლება იყვნენ ჩემნაირები! ასე რომ
Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: 7 ნაბიჯი (სურათებით)
Arduino RGB ფერის ამომრჩევი - შეარჩიეთ ფერები რეალური ცხოვრების ობიექტებიდან: ადვილად შეარჩიეთ ფერები ფიზიკური ობიექტებიდან Arduino– ზე დაფუძნებული RGB ფერის ამომრჩევით, რაც საშუალებას მოგცემთ ხელახლა შექმნათ ფერები, რომლებიც ხედავთ რეალურ ცხოვრებაში არსებულ ობიექტებს თქვენს კომპიუტერში ან მობილურ ტელეფონში. უბრალოდ დააჭირეთ ღილაკს ობიექტის ფერის სკანირებისთვის იაფი TCS347 გამოყენებით
ფოტონების ფერები: 3 ნაბიჯი
ფოტოების ფერები: ფოტონების ფერები ეს ნახატი იცვლება ყოველ მომენტში, როგორც ახალი. ის, რასაც მე ვიყენებ: Adafruit NeoPixel Digital RGB LED Strip 144 LED × 2 აკრილის მინა/ 1 სმ სისქის Adafruit Hook-up Wire Spool Set Adafruit Perma-Proto Half-size პურის დაფის PCB Adafruit R
წვრილმანი - დაზოგეთ 200 $ და შეცვალეთ Dash კლასტერული ნათურები W/LED- ებით: 8 ნაბიჯი
წვრილმანი - დაზოგეთ ~ 200 აშშ დოლარი და შეცვალეთ Dash კლასტერული ნათურები W/LED- ებით: მანქანის დილერს სურდა $ 200.00 -ზე მეტი (ნაწილები და შრომა - უმეტესობა შრომა) შეცვალოს ნათურები ჩვენი 2001 წლის ვოიაჯერის ინსტრუმენტთა კლასტერში. თუ მიჰყვებით ამ მითითებებს, შეგიძლიათ გააკეთოთ ეს თქვენი დროის დაახლოებით 20 წუთის განმავლობაში და 22.90 აშშ დოლარი
შეცვალეთ Led's თქვენი კლავიატურადან: 5 ნაბიჯი
შეცვალეთ Led's თქვენი კლავიატურადან: ეს არის კიდევ ერთი მარტივი, მაგრამ მაგარი პროექტი, რომელიც შეგიძლიათ გააკეთოთ თქვენს კლავიატურაზე. ალბათ დაიღალეთ კლავიატურის მწვანე LED- ებით და გსურთ სხვა ფერი? ან შეიძლება გნებავთ განსხვავებული ფერი კლავიატურის თითოეული LED- ისთვის? ეს ინსტრუქცია