আমি কিভাবে Arduino সঙ্গে ATTiny85 (বা অন্যান্য ATTiny) ব্যবহার করব?

দয়া করে মনে রাখবেন এটি একটি "উদাহরণ" প্রশ্ন।

কিভাবে একটি "ক্ষুদ্র arduino" তৈরি করবেন?

আমি ইটি বে বন্ধ ATTiny85 এর একটি গুচ্ছ আদেশ করেছি, তারা ক্ষুদ্র Arduino এর মত।

আমি সর্বশেষ Arduino IDE সেট আপ করেছি এবং উদাহরণটি ঝাপসা

আমার প্রক্রিয়া এতদূর:

এ তারের

enter image description here

এ কোড

(ব্লিঙ্ক উদাহরণ)

// the setup function runs once when you press reset or power the board
void setup() {
 //initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);  //turn the LED on (HIGH is the voltage level)
  delay(1000);             //wait for a second
  digitalWrite(13, LOW);   //turn the LED off by making the voltage LOW
  delay(1000);             //wait for a second
}
1

1 উত্তর

এ 1। ক্ষুদ্র

এটুইনি Arduino থেকে একটু ভিন্ন, এটি "সম্পূর্ণরূপে সামঞ্জস্যপূর্ণ" হতে আশা করি না। এটি একটি মাইক্রোকন্ট্রোলার যা শুধুমাত্র একটি Arduino অংশ এবং একটি পূর্ণ Arduino নিজেই নয়।

এটি "উন্নত ব্যবহারকারীদের" জন্য একটি ডিভাইসের বেশি এবং এটি আরও বেশি নমনীয়তা (ব্যবহারযোগ্যতার খরচ) দেয়। আপনি সহজেই এই microcontroller একটি breadboard উপর যোগ করতে পারেন, একটি breadboard উপর একটি পূর্ণ Arduino নির্বাণ একটু জ্ঞান করে তোলে।

1.1 ইউএসবি?

ATTiny একটি মাইক্রোকন্ট্রোলার (একটি Arduino উপর এটিমেগা মত) এবং একটি উন্নয়ন বোর্ড (একটি Arduino হিসাবে), যেহেতু এটি একটি ইউএসবি সংযোগকারী নেই। ATTiny সিরিজের হার্ডওয়্যারউার্ট (Rx/Tx) নেই। দ্য

আপনাকে আপনার মাইক্রোকন্ট্রোলারকে স্থির পাওয়ার সাপ্লাইটির যত্ন নিতে হবে এবং প্রোগ্রামিংটি আরও বেশি চতুর হবে (নীচে বিশদ বিবরণ)। তবে সফটওয়্যার সিরিয়াল এবং একটি কাস্টমাইজড বুটলোডার ব্যবহার করা সম্ভব। আমার ATTiny85 115200 জরিমানা সহ সফ্টওয়্যার সিরিয়াল চালায়, যদিও একটি পোস্ট খুঁজে পেয়েছে যা অভ্যন্তরীণ অসিলেটর উচিত একটি নির্ভরযোগ্য সংযোগের জন্য tuned

1.2 র্যাম/প্রোগ্রাম মেমরি

ATTiny কম RAM এবং প্রোগ্রাম মেমরি আছে। এটি অবশ্যই আপনার প্রোগ্রামটি স্বাভাবিক Arduino হিসাবে 'বড়' হিসাবে হতে পারে না মানে। এটি আপনি অনেক ভেরিয়েবল ব্যবহার করতে পারবেন না মানে। ক্ষুদ্র জন্য একটি প্রোগ্রাম "ছোট" বা খুব দক্ষ হওয়া উচিত।

1.3 "গতি"

আমার ATTiny 1MHz অভ্যন্তরীণ ঘড়ি সেট সঙ্গে এসেছিলেন, কিন্তু আপনি ফিউজ বিট পরিবর্তন করলে আপনি এটি 8Mhz এ চালাতে পারেন। একটি আদর্শ Arduino বোর্ডে একটি 16 মেগাহার্টজ ঘড়ি আছে। সুতরাং আপনার কোড ডিফল্ট 16x ধীর এবং "সর্বোচ্চ" উপর 2x ধীর চালানো হবে। আপনি ATTiny জন্য একটি বহিরাগত ঘড়ি ব্যবহার করতে পারে, কিন্তু যে 2 পিন খায়। শীতল জিনিস হল, আপনি এটি 1Mhz এ সেট করলে এটি প্রায় 2.7V চালিত হতে পারে (প্রথমে ডেটশীটটি পরীক্ষা করে দেখুন)।

Arduino                   16Mhz
ATtiny (standard)         1Mhz
ATtiny (set fuses)        8Mhz
ATtiny (external crystal) up to 20Mhz

উচ্চ Mhz দ্রুত। মনে রাখবেন যে 1Mhz প্রতি সেকেন্ডে প্রায় 1000000 টি নির্দেশাবলী, যা বেশিরভাগ ক্ষেত্রেই দ্রুতগতিতে দ্রুত এবং যথেষ্ট ভাল, বিশেষত এমন একটি ছোট ডিভাইসে।

এ 2। ক্ষুদ্রতম প্রোগ্রামিং

বেশিরভাগ ATTINIES এর একটি কাস্টমাইজড (সফ্টওয়্যার সিরিয়াল) Arduino বুটলোডারের সাথে আসে না। এটি অবশ্যই আপনার দ্বারা একটি কাস্টম বুটলোডার বার্ন করতে হবে অথবা অন্য ধরণের প্রোগ্রামার ব্যবহার করতে হবে। আপনি অবশ্যই বেন হেক থেকে ভিডিওটি দেখুন। তিনি ব্যাখ্যা করেন যে Arduino বোর্ডগুলিতে একটি USB কনভার্টার আছে এবং আপনার কাস্টম কোড রয়েছে যা আপনার Arduino "বুটলোড" করতে সক্ষম। কিন্তু যে আইসিএসপি/আইএসপি প্রোগ্রামাররা বুটলোডার/ইউর্ট সংযোগ ব্যতীত প্রোগ্রাম আপলোড করতে ব্যবহার করা হয়।

2.1 প্রোগ্রামার

আপনার কাছে প্রচুর লোড রয়েছে, আপনার Arduino আইডিই তে "সরঞ্জাম" ট্যাবে "প্রোগ্রামার" আইটেমটি দেখুন। আমি একটি ইউএসবিএস ব্যবহার করছি যা 3 € হিসাবে ছোট হিসাবে ইবে। আপনি একটি নির্বাচনযোগ্য ভোল্টেজ (3.3V এবং 5V) পেতে হবে।

(যদি আপনার ATTiny85 ইতিমধ্যে বুটলোডার থাকে, যা অসম্ভাব্য, আপলোড করার জন্য আপনি সফ্টওয়্যার Rx/tx পিনগুলি ব্যবহার করতে পারেন)

2.2 প্রস্তুতি

আপনার মাইক্রোকন্ট্রোলারটি যদি সত্যিই এটি ATinyiny85 হয় তবে আমার ই-বে রিসেলারটি আসলে একটি ATTiny45 অন্তর্ভুক্ত ছিল, যা আপলোড করার চেষ্টা করার সময় একটি "ত্রুটির" সৃষ্টি করেছিল।

Arduino আইডিই "ATTiny বোর্ড" জানি না তাই আপনি সহজে এটি নির্বাচন করতে পারবেন না। আপনাকে IDE কে জানাতে হবে যে এটিটিও প্রোগ্রাম করা যেতে পারে।

আমি একটি খুব

চমৎকার টিউটোরিয়াল খুঁজে পেয়েছি যা এটি কীভাবে বর্ণনা করে।

  1. Open the preferences dialog in the Arduino software. Find the “Additional Boards Manager URLs” field near the bottom of the dialog.
  2. Paste the following URL into the field (use a comma to separate it from any URLs you’ve already added): https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
  3. Click the OK button to save your updated preferences.
  4. Open the boards manager in the “Tools > Board” menu.
  5. Scroll to the bottom of the list; you should see an entry for “ATtiny”.
  6. Click on the ATtiny entry. An install button should appear.
  7. Click the install button. The word “installed” should now appear next to the title of the ATtiny entry.
  8. Close the boards manager. You should now see an entry for ATtiny in the “Tools > Board” menu.

2.3 অভ্যন্তরীণ ঘড়ি পরিবর্তন করা

কিছু আকর্ষণীয় পোস্ট আমি খুঁজে পেয়েছি আমাকে বলেছে যে আপনি অভ্যন্তরীণ ঘড়ি/অসিলেটর পরিবর্তন করতে পারেন 8MHz (অভ্যন্তরীণ) ঘড়ি হিসাবে এবং "বুট বুটলোডার" বোতাম টিপে 8MHz তে। এটি একটি বুটলোডার ফ্ল্যাশ করবে না (যেহেতু এটি একটি ছোট্ট 85 তে সামান্য ইন্দ্রিয় তৈরি করে) তবে ফিউজ-বিটগুলি পরিবর্তন করে।

2.4 কোড

আপনি স্ট্যান্ডার্ড ব্লিঙ্ক টিউটোরিয়াল সঙ্গে দূরে পাবেন না। এটি ডিজিটাল পিন ব্যবহার করে 13 (ক্ষুদ্রতম শুধুমাত্র 8 পিন আছে)।

Mind that you might have to upload using Ctrl+Shift+U (or sketch->Upload with programmer).

I used the diagram below to check the pins (from highlowtech.org) enter image description here enter image description here

এ 3। হার্ডওয়্যারের

আপনার "পরিকল্পিত" সম্পূর্ণ না হয়, আমি মাইক্রোকন্ট্রোলার প্রোগ্রাম বা ক্ষমতা একটি উপায় দেখতে না। এবং আপনি কিছু সতর্কতা নিতে চাইতে পারেন।

আমি ব্যক্তিগতভাবে একটি ভাল অঙ্কিত পরিকল্পিত চেহারা একটি "breadboard দেখুন" হিসাবে ভাল মনে।

enter image description here

রিসেট পিনের 10 কোহম পুল-আপ প্রতিরোধক ডেটাশিট </একটি>। কিন্তু ইউনোর এটির একটি রেফারেন্স ডিজাইন রয়েছে (যা আমি রেফারেন্স হিসাবে ব্যবহার করি)।

দুটি ক্যাপাসিটার রয়েছে, একটি জলাধার হিসাবে একটি "বড়" ক্যাপাসিটর। যদি একটি যন্ত্র হঠাৎ বর্তমান অনেক টান, এই ক্যাপাসিটর যে পরিচালনা করবে। ছোট decoupling ক্যাপাসিটরের অন্যান্য আইসি বা সুইচ সরবরাহের শব্দ নমিত করা হবে। এটি তাদের সাথে কাজ করতে পারে, তবে আপনার সার্কিট তাদের সাথে আরও নির্ভরযোগ্য হবে। Decoupling ক্যাপাসিটরের আইসি কাছাকাছি (শারীরিকভাবে) হওয়া উচিত মনে রাখবেন।

আপনি প্রোগ্রামিং হেডারের মাধ্যমে বোর্ডটিকে শক্তি দিতে পারেন তবে মনে রাখবেন যে আপনি 3.3V এবং 5V (বেশিরভাগ) এর মধ্যে একটি মসৃণ ভোল্টেজের প্রয়োজন বোধ করবেন। আপনি যদি এটি একটি বৃহৎ ভোল্টেজ (9 ভি ব্যাটারি) দিয়ে শক্তি দিতে চান তবে আপনাকে একটি ভোল্টেজ রেগুলেটরের প্রয়োজন হবে।

0
যোগ
সিরিয়াল এবং ইউএসবি সংক্রান্ত আপনার "অনেকগুলি" দাবিগুলি ভুল নয় - কোন হার্ডওয়্যার সমর্থন নেই, তবে বুটলোডার ব্যবহারের জন্য সফটওয়্যার বাস্তবায়নের সাথে নিয়মিত কাজ করা হয়। এখানে স্পষ্টভাবে সীমিত আকারে একটি অসম্পূর্ণ উপস্থাপনা অসম্পূর্ণ উপস্থাপনাটি অন্যদিকে আরও বেশি উন্নত উপস্থাপনাগুলির পরিবর্তে জনগণের পক্ষে সহায়ক হয়ে উঠছে, যা এর পরিবর্তে নির্দেশিত হতে পারে। স্ট্যাক এক্সচেঞ্জ আবার ওয়েবে অনুলিপি বিদ্যমান নেই ...
যোগ লেখক rossp, উৎস
@ChrisStratton আমি বিবৃতি হালনাগাদ করেছি, আমার অবশ্যই একমত হওয়া উচিত যে তারা অন্তত অর্ধেক সত্য ছিল, যেহেতু "কাস্টম বুটলোডার" আপলোড করার কারণে অন্য কোনও প্রোগ্রামারও লাগে। আমি একত্রিত করেছি (এবং উল্লেখ করা হয়েছে) একাধিক উত্স যা মহান আরাম হতে পারে। আরেকটি বিষয় হল যে কেউ তুলনামূলকভাবে নতুন একটি পৃষ্ঠায় সমস্ত গুরুত্বপূর্ণ তথ্য সহজে খুঁজে পেতে পারে এবং আরো কিছু দেখতে হলে আরও বিস্তারিত জানায়।
যোগ লেখক dotnetengineer, উৎস
@ChrisStratton আমি "কমিউনিটি উইকি" পোস্ট তৈরি করেছি যাতে প্রত্যেকে অবদান রাখতে পারে (আমি আপভোটের জন্য পয়েন্টগুলি পাবো না)। আমি বিশ্বাস করি যে এটি যদি ভাল হয় তবে প্রত্যেকটি (যারা ATTiny এর গবেষণা করতে চায়) একটি মুক্ত "রেফারেন্স" বা "স্টার্টার গাইড" অবদান রাখতে পারে। প্রত্যেকে নিজের ব্লগ তৈরি করে যা ভাল কাজ করবে;)
যোগ লেখক dotnetengineer, উৎস