সুচিপত্র:

একটি পট এবং ATTINY85: 3 ধাপ ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85: 3 ধাপ ব্যবহার করে LED রং পরিবর্তন করুন

ভিডিও: একটি পট এবং ATTINY85: 3 ধাপ ব্যবহার করে LED রং পরিবর্তন করুন

ভিডিও: একটি পট এবং ATTINY85: 3 ধাপ ব্যবহার করে LED রং পরিবর্তন করুন
ভিডিও: All tools of adobe photoshop in Bangla || Part-1 2024, জুলাই
Anonim
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন
একটি পট এবং ATTINY85 ব্যবহার করে LED রং পরিবর্তন করুন

এই প্রকল্পে আমরা একটি ATTINY85 ব্যবহার করে একটি LED তে রং পরিবর্তন করতে একটি potentiometer (POT) ব্যবহার করি।

কিছু সংজ্ঞা -

পোটেন্টিওমিটার হলো একটি যন্ত্র যার একটি ছোট স্ক্রু / টার্নিং মেকানিজম থাকে যা ঘুরিয়ে দিলে বিভিন্ন বৈদ্যুতিক প্রতিরোধ ক্ষমতা বের হয়। আপনি উপরের টীকাযুক্ত ছবি থেকে দেখতে পারেন যে পটটিতে 3 টি পিন রয়েছে, যথা +, -, এবং আউটপুট। POT বিদ্যুৎ সরবরাহে যথাক্রমে + এবং - পিনগুলিকে vcc এবং মাটিতে সংযুক্ত করে চালিত হয়। পট স্ক্রু চালু হওয়ার সাথে সাথে, আউটপুট প্রতিরোধের পরিবর্তন হয় এবং LED হ্রাস বা তীব্রতা বৃদ্ধি করে। । অন্য কথায়, এটি একটি পরিবর্তনশীল প্রতিরোধক। এগুলি হোম লাইট ডিমারের মতো জিনিসগুলিতে ব্যবহৃত হয়।

এলইডি - এটি একটি ছোট আলো যা আলোকিত করে যখন বৈদ্যুতিক স্রোত চলে যায় যদিও এটি। এই ক্ষেত্রে, আমরা একটি বহুবর্ণ LED ব্যবহার করব যার 3 টি পিন, একটি স্থল (মাঝামাঝি) এবং দুটি পিন যা ট্রিগার করার সময় যথাক্রমে সবুজ এবং লাল দেখায়।

ATTINY85-এটি একটি ছোট স্বল্প খরচের মাইক্রো-চিপ যা আপনি Arduino এর মতো প্রোগ্রাম করতে পারেন।

ওভারভিউ - POT থেকে আউটপুট ATTINY85 এর সাথে সংযুক্ত। POT স্ক্রু চালু হওয়ার সাথে সাথে, একটি পার্থক্য প্রতিরোধ 0 থেকে 255 এর মধ্যে একটি সংখ্যা হিসাবে আউটপুট হয়। ATTINY এটি পরিমাপ করতে পারে এবং POT প্রতিরোধের মান অনুসারে বিভিন্ন পদক্ষেপ নিতে পারে। এই ক্ষেত্রে, আমরা নিম্নরূপ LED এর সাথে সংযোগ করার জন্য এটি প্রোগ্রাম করেছি।

যদি সংখ্যাটি 170 এর বেশি হয় তবে LED কে GREEN এ সুইচ করুন।

যদি সংখ্যাটি 170 এর চেয়ে কম কিন্তু 85 এর বেশি হয় তাহলে LED কে RED এ স্যুইচ করুন।

যদি সংখ্যাটি than৫ এর কম হয় তাহলে LED GREEN AND RED তে সুইচ করুন যার ফলে ORANGE হয়।

বিওএম

1 x 3 পিন LED1 x ATTINY 85

1 x POT (B100K)

1 এক্স রুটিবোর্ড এবং তারগুলি

1 পাওয়ার সাপ্লাই।

ধাপ 1: ATTINY85 প্রোগ্রামিং

ATTINY85 প্রোগ্রামিংয়ের ক্ষেত্রে, দয়া করে আমার আগের নির্দেশাবলী পড়ুন-https://www.instructables.com/id/15-Dollar-Attiny8…

কোড নীচে প্রদর্শিত হয়। লক্ষ্য করার মতো কিছু বিষয় হল যে দুটি ATTINY পিন, PB3, ফিজিক্যাল পিন 2, PB2, ফিজিক্যাল পিন 7 ডিজিটাল মোডে সংযুক্ত, রঙ পরিবর্তন করার জন্য LED এর সাথে। ATTINY পিন PB4, ফিজিক্যাল পিন 3, POT এর সাথে এনালগ মোডে সংযুক্ত, যার মানে হল যে এটি 0 থেকে 254 এর মধ্যে মান পড়তে পারে। আমি কোডটি কাস্টমাইজ করেছি যা আমি ইন্টারনেটে পেয়েছি তাই আমি সেই কাজটি স্বীকার করি। -

অকার্যকর 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) //* এই ফাংশনটি ADC এর সূচনা করে

এডিসি প্রেসকলার নোট:

ADC Prescaler সেট করা প্রয়োজন যাতে ADC ইনপুট ফ্রিকোয়েন্সি 50 - 200kHz এর মধ্যে থাকে।

আরো তথ্যের জন্য 17.13.2 অধ্যায় "ADCSRA - ADC কন্ট্রোল অ্যান্ড স্ট্যাটাস রেজিস্টার A" (সম্পূর্ণ ATtiny25/45/85 ডেটশীটে পৃষ্ঠা 140 এবং 141, Rev. 2586M – AVR – 07/ 10)

বিভিন্ন ঘড়ির গতির জন্য বৈধ prescaler মান

ঘড়ি উপলব্ধ prescaler মান --------------------------------------- 1 MHz 8 (125kHz), 16 (62.5kHz) 4 MHz 32 (125kHz), 64 (62.5kHz) 8 MHz 64 (125kHz), 128 (62.5kHz) 16 MHz 128 (125kHz)

উদাহরণস্বরূপ 8MHz এ চলমান mcu এর জন্য 128 এর জন্য prescaler সেট করুন

(প্রেসকলার সেট করার জন্য সঠিক বিট মানগুলির জন্য ডেটশীট চেক করুন) */

// 8-বিট রেজোলিউশন

// বাম-শিফট ফলাফল সক্ষম করতে ADLAR 1 সেট করুন (শুধুমাত্র ADC9.. ADC2 বিট পাওয়া যায়) // তারপর, 8-বিট ফলাফলের জন্য শুধুমাত্র ADCH পড়া যথেষ্ট (256 মান) DDRB | = (1 << PB3); // পিন আউটপুট হিসেবে সেট করা আছে। DDRB | = (1 << PB2); // পিন আউটপুট হিসেবে সেট করা আছে। ADMUX = (1 << ADLAR) | // বাম শিফট ফলাফল (0 << REFS1) | // রেফারেন্স সেট করে। ভিসিসিতে ভোল্টেজ, বিট 1 (0 << REFS0) | // রেফারেন্স সেট করে। ভিসিসিতে ভোল্টেজ, বিট 0 (0 << MUX3) | // ইনপুটের জন্য ADC2 ব্যবহার করুন (PB4), MUX বিট 3 (0 << MUX2) | // ইনপুটের জন্য ADC2 ব্যবহার করুন (PB4), MUX বিট 2 (1 << MUX1) | // ইনপুটের জন্য ADC2 ব্যবহার করুন (PB4), MUX বিট 1 (0 << MUX0); // ইনপুট (PB4), MUX বিট 0 এর জন্য ADC2 ব্যবহার করুন

ADCSRA =

(1 << ADEN) | // ADC সক্ষম করুন (1 << ADPS2) | // সেট prescaler 64, বিট 2 (1 << ADPS1) | // সেট prescaler 64, বিট 1 (0 << ADPS0); // সেট প্রেসকলার 64, বিট 0}

int প্রধান (শূন্য)

{initADC ();

যখন (1)

{

ADCSRA | = (1 << ADSC); // ADC পরিমাপ শুরু করুন যখন (ADCSRA & (1 << ADSC)); // রূপান্তর সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করুন

যদি (ADCH> 170)

{PORTB | = (1 << PB3); // পিন উচ্চ সেট। PORTB | = (1 << PB2); // পিন উচ্চ সেট। } অন্যথায় যদি (ADCH 85) {PORTB | = (1 << PB3); // পিন উচ্চ সেট। PORTB & = ~ (1 << PB2); // পিন কম সেট

} অন্য {

PORTB | = (1 << PB2); // পিন উচ্চ সেট। PORTB & = ~ (1 << PB3); // পিন কম সেট

}

}

রিটার্ন 0;

}

ধাপ 2: সার্কিট

সার্কিট
সার্কিট

ATTINY পিন

PB3, শারীরিক পিন 2 - সংযুক্ত LED পিন 1

PB4, ফিজিক্যাল পিন 3, মধ্য পিন POT এর সাথে সংযুক্ত

GND, ফিজিক্যাল পিন 4, নেগেটিভ রেল -পাওয়ার সাপ্লাই এর সাথে সংযুক্ত

PB2, শারীরিক পিন 7 - সংযুক্ত LED পিন 3

ভিসিসি, ফিজিক্যাল পিন 8, পজিটিভ রেল -পাওয়ার সাপ্লাই এর সাথে সংযুক্ত

পট

পজ এবং নেগ পিন সংশ্লিষ্ট রেলের সাথে সংযুক্ত - বিদ্যুৎ সরবরাহ।

এলইডি

মাঝারি পিন নেগেটিভ রেলের সাথে সংযুক্ত - বিদ্যুৎ সরবরাহ

আমি একটি 3 এবং 3.3 ভোল্ট পাওয়ার সাপ্লাই ব্যবহার করে পরীক্ষা করেছি এবং উভয়ই কাজ করেছি।

ধাপ 3: উপসংহার

উপসংহার
উপসংহার

অ্যানালগ এবং ডিজিটাল মোডের মধ্যে চলাচলের জন্য ATTINY85 এর ক্ষমতা খুবই শক্তিশালী এবং বিভিন্ন অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে, যেমন পরিবর্তনশীল গতি মোটর ড্রাইভিং এবং বাদ্যযন্ত্র নোট তৈরি। আমি ভবিষ্যতে নির্দেশাবলীতে এটি অন্বেষণ করব। আমি আশা করি আপনি এই দরকারী খুঁজে পেয়েছেন।

প্রস্তাবিত: