المتحكم الأصغري ATTINY85
هل لديك مشروع يحتاج عدد قليل من المداخل و المخارج ؟ هل حجم المايكروكنترولر في بعض الأحيان يعتبر ميزة سلبية لمشروعك ؟ هل ترغب في تصغير مشروعك ليناسب الوظائف الدقيقة ؟ بعد قراءتك لهذه التدوينة ستتعرف على المتحكم ATTINY85 و ستعرف أكثر عن مزاياه و خصائصه و محدداته .
المتحكم الأصغري ATTINY85 من شركة اتميل Atmel له فقط 8 أرجل , بذاكرة فلاش 8Kbyte و وحدة معالجة مركزية 8 bit , و الجدول أدناه يبين المواصفات القياسية لهذا المتحكم :
المتحكم الأصغري ATTINY85 من شركة اتميل Atmel له فقط 8 أرجل , بذاكرة فلاش 8Kbyte و وحدة معالجة مركزية 8 bit , و الجدول أدناه يبين المواصفات القياسية لهذا المتحكم :
و يمكن التعرف على المواصفات الكاملة له من خلال زيارة موقع الشركة على هذا الرابط ATMEL
ما سنهتم به اليوم هو توصيل هذا المتحكم و برمجته ضمن بيئة أردوينو البرمجية Arduino IDE .
في البداية توزيع أرجل لهذا المتحكم :
و بالنسبة للمسميات في لغة أردوينو , توزيع الأرجل يعطى في هذا المخطط :
- المعدات التي سنحتاجها لهذه التجربة :
ستحتاج لتنفيذ هذه التجربة إلى :
1) بطاقة اردوينو " uno, deumilinova "
2) المتحكم ATTINY 85
3)مكثف 10uF .
4) Breadboard .
5)اسلاك توصيل Solderless jumper .
لنبدأ :
سنقوم في هذه التجربة بتحويل بطاقة الأردوينو Uno إلى مبرمجة تقوم من خلالها بتحميل البرنامج إلى ATTINY 85 .
البروتوكول المستخدم لهذا الغرض هو SPI .
في تجربة اليوم يجب أن تستخدم نسخة برمجية الأردوينو 1.0.1 او 1.0.3 لكي تنفذ التجربة بشكل صحيح .
في البداية يجب عليك تحميل هذا الملف الذي يحتوي على تعريف المتحكمين ATTINY 45/85 من هنا
قم بفك ضغط هذا الملف و قم بنسخ المجلد الموجود بداخله الذي اسمه attiny و قم بوضعه ضمن مسار الSketchbook الخاص بالأردوينو في مجلد قم بانشاءه و تسميته ب hardware " ستجده في جهازك في العنوان
My document >>Arduino >>hardware>>attiny
بعد ذلك قم بفتح برمجية الأردوينو و اذهب إلى خيار
tools >> Board
و سترى وجود الملفات التي اضفتها مؤخراً في القائمة
بعد ذلك نقوم بتحويل بطاقة الأردوينو إلى مبرمجة ArduinoAs ISP , و تحميل برنامج arduino ISP .
بعد ذلك نقوم بتحويل بطاقة الأردوينو إلى مبرمجة ArduinoAs ISP , و تحميل برنامج arduino ISP .
هذا البرنامج يحول الأردوينو إلى مبرمجة , يستخدم ايضاً في حالة تنزيل برنامج الإقلاع Bootloader لمتحكم آخر .
إذا كنت تستخدم أردوينو UNO قم فقط بتعديل التأخير الزمني في الجملة heartbeat من 40 إلى 20 "في الإصدارات الحديثة تم وضعها 20 بشكل تلقائي " .
عدّل اعدادات البرنامج التالية
Board : Arduino Uno"or what you work with"
Board : Arduino Uno"or what you work with"
programmer: arduino as ISP .
بعدها قم بتحميل البرنامج على بطاقة الأردوينو , و انتقل لمرحلة توصيل بطاقة الأردوينو .
![]() |
لا تنسى توصيل مكثف 10uF بين مدخل الRESET و الGND |
بعد أن تقوم بتوصيل القطع كما في المخطط , افتح برنامج Blink.ino و قم بتغيير رقم المدخل من 13 إلى 0 كما هو مكتوب في المثال ادناه .
/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin D0 on Attiny 85 //Modified by Mohannad Rawashdeh //http://genotronex.blogspot.com/ //................................... int led = 0; // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } // the loop routine runs over and over again forever: void loop() { digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
غيّر اعدادات البرنامج لتصبح
Board : ATTINY 85(Internal 8MHz).
programmer: arduino as ISP .
ثم قم بتحميل البرنامج , ستظهر النتائج لك كما في الفيديو .
لا تهتم للرسالة التي ستظهر اسفل الشاشة .
هذا الفيديو يظهر نتائج تطبيق البرنامجين :
من أهم المميزات التي يمكن لنا اكتشافها في هذا المتحكم :
1)عدد مداخل و مخارج كبير بالنسبة لعدد الأرجل "لها 6 I/O و هذا رقم كبير " .
2) وجود 4 مرابط Pins تعمل كمقاطعات خارجية .
3)وجود الرابط التسلسلي I2C و SPI .
)استهلاك منخفض للطاقة .
على الرغم من الميزات التي ذكرناها عن هذه القطعة إلا أن هناك عدة محددات لهذا المتحكم هي :
مميزات و محددات الATTINY85 :
من أهم المميزات التي يمكن لنا اكتشافها في هذا المتحكم :
1)عدد مداخل و مخارج كبير بالنسبة لعدد الأرجل "لها 6 I/O و هذا رقم كبير " .
2) وجود 4 مرابط Pins تعمل كمقاطعات خارجية .
3)وجود الرابط التسلسلي I2C و SPI .
)استهلاك منخفض للطاقة .
على الرغم من الميزات التي ذكرناها عن هذه القطعة إلا أن هناك عدة محددات لهذا المتحكم هي :
1)محدودية ذاكرة الفلاش التخزينية ذات مساحة 8kbyte .
2)تعطيل بعض الأوامر و عدم عملها في هذا المتحكم .
3) تتم برمجته بواسطة الSPI فلا وجود للسيريال فيه Serial Rx,Tx.
3) تتم برمجته بواسطة الSPI فلا وجود للسيريال فيه Serial Rx,Tx.
هنالك عدة اوامر لا يستطيع هذا المتحكم ترجمتها و يعطي Error عند كتابة البرنامج بهذه الاوامر .
الأوامر التي يدعمها هذا المتحكم ضمن بيئة اردوينو البرمجية :
الأوامر التي يدعمها هذا المتحكم ضمن بيئة اردوينو البرمجية :
SoftwareSerial (has been updated in Arduino 1.0)
باقي الأوامر قد لا تعمل أو تتوافق مع هذا المتحكم .
أرجو أن أكون قد وفقت في عرض امكانيات هذا المتحكم لكم ,
الى اللقاء