সুচিপত্র:

3 সহজ ATTiny হলিডে উপহার: 4 ধাপ
3 সহজ ATTiny হলিডে উপহার: 4 ধাপ

ভিডিও: 3 সহজ ATTiny হলিডে উপহার: 4 ধাপ

ভিডিও: 3 সহজ ATTiny হলিডে উপহার: 4 ধাপ
ভিডিও: Electronic Basics #3: Programming an Attiny+Homemade Arduino Shield 2024, ডিসেম্বর
Anonim
3 সহজ ATTiny হলিডে উপহার
3 সহজ ATTiny হলিডে উপহার

প্রতি বছর ছুটির মরসুম ঘুরে বেড়ায় এবং আমি আমার বন্ধু এবং পরিবারের জন্য কি দিতে হবে তা নিয়ে আটকে যাই। লোকেরা সর্বদা বলে যে উপহারটি কোনও দোকানে কেনার চেয়ে নিজেকে তৈরি করা ভাল তাই এই বছর আমি ঠিক তাই করেছি। প্রথমটি একটি নাম বা মৌলিক ছবি প্রদর্শন করে যখন বাতাসের মধ্য দিয়ে vedেউ তোলা হয়, দ্বিতীয়টি দুটি সাদা নেতৃত্বের মধ্যে মসৃণভাবে বিবর্ণ হয়ে যায় (এটি জামাকাপড় বা একটি পার্সের সাথে এটি সংযুক্ত করার জন্য একটি নিরাপত্তা পিন থাকে), এবং তৃতীয়টি হল মুড লাইট, স্ক্রোলিং রঙের মধ্যে নির্বিঘ্নে। সব 15 ডলারের নিচে এবং এক ঘন্টারও কম সময়ে একত্রিত করা সহজ। আপনি ইলেকট্রনিক্স শিখতে আগ্রহী কাউকে উপহার হিসাবে এই নির্দেশাবলী এবং অংশগুলিও দিতে পারেন।

দ্রষ্টব্য: সোল্ডারিংয়ের একটি প্রাথমিক স্তর ধরে নেওয়া হয়। যাইহোক, আমার আগের নির্দেশের বিপরীতে আমি একটি AVR প্রোগ্রাম কিভাবে করতে হবে তা নিয়ে আলোকপাত করব। আমি সত্যিই আশা করি এটি ইলেকট্রনিক্সে শুরু করার চেষ্টা করছে এমন লোকদের সাহায্য করবে। আমার মনে আছে যখন আমি সেখানে ছিলাম এবং আপনার কোন প্রশ্ন থাকলে খুশি হব। মনে রাখবেন কোন বোকা প্রশ্ন নেই! আমি আপনার সার্কিট বোর্ডটি কিভাবে রাখব তা নির্ধারণ করার জন্য আমি এটি আপনার জন্য উন্মুক্ত রেখেছি এই আশা করে যে আপনি আমার সরানো সার্কিটগুলি প্রদর্শনের একটি নতুন উপায় নিয়ে আসবেন। একবার আপনার কাজ শেষ হলে ছবি পোস্ট করুন, আপনি কি নিয়ে আসছেন তা দেখার জন্য আমি অপেক্ষা করতে পারি না! সমস্ত প্রকল্পের অংশ N = প্রকল্পের সংখ্যা x N ATTiny45 (www.digikey.com) x N 8-pin DIP সকেট (রেডিওশ্যাক) x 1 বড় পারফ বোর্ড (আমি রেডিওশ্যাকে আমার পেয়েছি) x N 3v মুদ্রা সেল ব্যাটারি এবং হোল্ডার (রেডিওশ্যাক) x1 প্রোগ্রামার (আমি এটি ব্যবহার করি এবং সরবরাহকৃত মেকফিলটি এটি ব্যবহার করার জন্য কনফিগার করা হবে) x2 এন প্রতিরোধক, এক 10 ওহম এবং একটি 10k ওহম (RadioShack) এখানে তিনটি সম্পন্ন প্রকল্পের একটি ছবি:

ধাপ 1: নাম ফ্ল্যাশার

নাম ফ্ল্যাশার
নাম ফ্ল্যাশার
নাম ফ্ল্যাশার
নাম ফ্ল্যাশার
নাম ফ্ল্যাশার
নাম ফ্ল্যাশার

অন্যান্য যন্ত্রাংশ x5 DIFFUSED 3mm LED's (RadioShack) এই প্রকল্পটি দ্রুত সরানো হলে একটি ছবি বা পাঠ্য প্রদর্শনের জন্য দৃ of়তার দৃ uses়তা ব্যবহার করে। অন্ধকার হলে এটি আরও ভাল কাজ করে। AVR এর সাহায্যে আমরা LED এর মধ্যে দ্রুত গতিতে স্যুইচ করছি তারপর চোখ দেখতে পারে আমরা খুব কম উপাদান দিয়ে বাতাসে একটি ছবি তৈরি করতে পারি। কোড: (কোড, মেকফিল, ইত্যাদি জন্য পৃষ্ঠার নীচে.zip ফাইলটি ডাউনলোড করুন (এই কোডটিতে এই কোডটি যে ব্যাপক মন্তব্য করে তা নেই কিন্তু যদি এই কোডটি কাজ না করে তবে এই কোডটি চেষ্টা করুন zip file)) #define F_CPU 1000000 #include #include void dispClear () {PORTB = ~ 0b00000000; } int main () {DDRB = 0xFF; // আপনারা যারা ডাবল স্ল্যাশের আগে সি পড়েননি তাদের জন্য একটি মন্তব্য নির্দেশ করে। এটি AVR এর পিনগুলিকে আউটপুট চার x = 10 হিসাবে সেট করে; // x বিলম্ব লেংথ সেট করতে ব্যবহৃত হয়। মান বৃদ্ধি পিক্সেলের মধ্যে একটি ধীর গতির সুইচ দেয়, হ্রাস পায়, কম সময় (1) // যখন (শর্ত সত্য); {এটি করুন} (C তে সত্য হল 1) {PORTB = ~ 0b00010001; // আমার বন্ধুর নাম Zoe তাই আমি গ্রাফ পেপারে অক্ষর বের করলাম এবং তারপর সেগুলিকে PORTB এ চাপিয়ে দিলাম। প্রথম তিনটি শূন্য কোন ব্যাপার না কারণ এখানে মাত্র পাঁচটি লিড সংযুক্ত আছে। অবশিষ্ট পাঁচটি স্থানের মধ্যে একটি একটি ইঙ্গিত দেয় যে LED চালু, শূন্য, বন্ধ। _ বিলম্ব_এমএস (x); // মিলিসেকেন্ডে বিলম্ব PORTB = ~ 0b00010011; _ বিলম্ব_এমএস (x); PORTB = ~ 0b00010101; _ বিলম্ব_এমএস (x); PORTB = ~ 0b00011001; _ বিলম্ব_এমএস (x); PORTB = ~ 0b00010001; _ বিলম্ব_এমএস (x); dispClear (); // অক্ষরের মধ্যে খোলা জায়গা _delay_ms (x); PORTB = ~ 0b00001110; _ বিলম্ব_এমএস (x); PORTB = ~ 0b00010001; _delay_ms (x*3); PORTB = ~ 0b00001110; _ বিলম্ব_এমএস (x); dispClear (); _ বিলম্ব_এমএস (x); PORTB = ~ 0b00011111; _ বিলম্ব_এমএস (x); PORTB = ~ 0b00010101; _ বিলম্ব_এমএস (x); পোর্টবি = ~ 0b00010001; _ বিলম্ব_এমএস (x); dispClear (); _delay_ms (x*5); // শব্দটি করা হয়েছে তাই স্পষ্টতার জন্য আমার কাছে শব্দের মধ্যে একটি বড় জায়গা আছে}} এখন এই কোডটি সংকলন করতে এবং আপনার AVR এ পাঠানোর জন্য পৃষ্ঠা 4 এর নির্দেশাবলী অনুসরণ করুন।

ধাপ 2: পার্স লাইট

পার্স লাইট
পার্স লাইট
পার্স লাইট
পার্স লাইট

অন্যান্য যন্ত্রাংশ x2 LED এর NON DIFFUSED (RadioShack) এই প্রকল্প দুটি LED এর মধ্যে মসৃণভাবে ফেইড করে। আমার মা তার পার্সে কিছু যেতে চেয়েছিলেন যাতে রাতে তার মৌমাছি দেখা যায়। আমার মনে হয়েছিল একটি ঝলকানি বাইকের আলো খুব বেশি মনোযোগ আকর্ষণ করবে তাই আমি এটি তৈরি করেছি। এটি ডিমিং এবং উজ্জ্বলতার প্রভাব দিতে PWM (পালস প্রস্থ মডুলেশন) ব্যবহার করে। প্রকৃতপক্ষে যা ঘটছে তা হল নেতৃত্ব দ্রুত পরিবর্তিত হচ্ছে যা চোখ পরিবর্তনের জন্য বিভিন্ন সময়ে দেখা যায়। আপনি এটি আরও স্পষ্টভাবে দেখতে পাবেন যখন আপনি এটি আপনার মুখের মতো waveেউ দিয়ে নামবেন যেমন আপনি ফ্ল্যাশারের নাম দিয়েছিলেন। এই পৃষ্ঠাটির শেষে কোডটি ডাউনলোড করা যাবে। কিভাবে আপনার AVR কম্পাইল করতে পৃষ্ঠা 4 দেখুন। কোডটি এখানে মন্তব্য করার পরিবর্তে আমি সংক্ষেপে ধারণাটি ব্যাখ্যা করব। PWM একটি টাইমার দ্বারা উত্পন্ন হয়। প্রতিটি ঘড়ি চক্র টাইমার একটি গণনা করে। যখন এটি একটি নির্দিষ্ট মান পৌঁছায় (এই ক্ষেত্রে OCR1B) এটি একটি পিনের অবস্থা পরিবর্তন করে (এই ক্ষেত্রে OC1B)। LED গুলিকে "সুইচ অফ" করার জন্য আমি অন্যটিকে [OPPOSITE] OC1B এ সংযুক্ত করেছি (এটাই উপরের অংশের বার মানে)। তারপর আমরা x ব্যবহার করি বৃদ্ধি এবং হ্রাস করার জন্য LED এর সময়কালের পরিমাণ হ্রাস করে।

ধাপ 3: রঙ স্ক্রোলার

কালার স্ক্রোলার
কালার স্ক্রোলার
কালার স্ক্রোলার
কালার স্ক্রোলার

অন্যান্য Partsx1 RGB LED (diffused is better) (RadioShack) আমার কাছে এটি একটি ক্লাসিক। আমি সবসময় এই ধরনের লাইট দ্বারা fasinated হয়েছে এবং তাদের খুব শান্ত মনে তাই স্বাভাবিকভাবেই আমি একটি করতে চেয়েছিলেন। এছাড়াও সমাজে তাদের দৃশ্যমানতা তাদের একটি বাস্তব WOW ফ্যাক্টর দেয়। "তুমি এটা করেছো ?!" কোড প্রায় একই এবং, আমার মতে, পড়তে সহজ। আপনি নীচে ডাউনলোড করতে পারেন। এইবার আমরা RGB LED তে প্রতিটি গ্রাউন্ডিং পিনের জন্য একটি PWM'd পিন প্রদান করি। এই ভাবে আমরা চিপ মাধ্যমে গ্রাউন্ড। ভোল্ট দুটি পয়েন্টের মধ্যে পার্থক্য হিসাবে পরিমাপ করা যেতে পারে। 3v-0v = 3v 5v-2v = 3v *** 3v-3v = 0v *** এই শেষ দৃষ্টান্তটি হল আমরা যখন চিপ দিয়ে মাটিতে নামছি। যখন উভয় পাশে তিনটি ভোল্ট থাকে, তখন বলা যায়, একটি LED চালানোর জন্য পর্যাপ্ত ভোল্ট নেই। তাই রঙের মধ্যে বিবর্ণ হওয়ার জন্য আমরা একটি রঙ এবং অন্য রঙ বেছে নিলাম। একটিকে x এর সমান এবং অন্যটিকে 255-x বা x এর INVERSE এর সমান সেট করুন। যেমন আমরা আগের প্রকল্পে করছিলাম। এখন প্রোগ্রামে 4 ধাপে যান।

ধাপ 4: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং

প্রথমে Emacs, avr-gcc, এবং Avrdude এবং তাদের যে কোন নির্ভরশীলতা ডাউনলোড এবং ইনস্টল করুন। আর্ক লিনাক্সে আমি এটি দিয়েছিলাম:

এখন সময় এসেছে আপনার প্রোগ্রামারকে আপনার এভিআর -এ যুক্ত করার। আপনার AVR (ডেটশীট, পৃষ্ঠা 2) এর করোস্পন্ডিং পিনগুলিতে 6-পিন ISP প্রোগ্রামারের (নীচের ছবি) পিনগুলি সংযুক্ত করুন (আমি এটি একটি ব্রেডবোর্ডে করেছি)। এখন আপনার কম্পিউটারে প্রোগ্রামারটি প্লাগ ইন করুন এবং খুব দ্রুত AVR এর শীর্ষে স্পর্শ করুন। যদি এটি গরম হয়, একবার আপনার কম্পিউটার থেকে প্রোগ্রামটি সরান আপনার সংযোগগুলি পরীক্ষা করুন এবং আবার চেষ্টা করুন (পাওয়ার এবং Gnd পিছনে?)। যদি এটি গরম না হয় তাহলে emacs খুলুন এবং.c ফাইলটি খুঁজে পেতে Ctl-x Ctl-f চাপুন। এটি খুলুন এবং তারপর মেটা (Usualy Alt) -x টিপুন এবং কম্পাইল টাইপ করুন। দুবার এন্টার টিপুন এবং যদি আপনি ভাগ্যবান হন তবে আপনার AVR এখন আপনার কোড চালানো উচিত! পড়ার জন্য ধন্যবাদ! আমি আশা করি আপনি এটি উপভোগ করেছেন এবং কিছু শিখেছেন। দয়া করে, প্রশ্ন জিজ্ঞাসা করতে দ্বিধা করবেন না এবং আপনি যা নিয়ে আসছেন তার ছবি পোস্ট করতে ভুলবেন না। শুভ ছুটির দিন এবং ভোট দিতে ভুলবেন না!

প্রস্তাবিত: