شمارنده رویداد کوچک مبتنی بر میکروکنترلر ارائه شده در اینجا بر اساس برد توسعه ارزان قیمت Digispark Attiny است. یکی از مزایای این طراحی این است که هر نوع سوئیچ فعال یا غیرفعال را می توان به ورودی ماشه آن متصل کرد. هر زمان که سوئیچ بسته می شود، رویداد در داخل میکروکنترلر شمارش می شود و در ماژول نمایشگر LED 4 رقمی نمایش داده می شود، نوعی که عموماً به عنوان نمایشگر LED TM1637 شناخته می شود. مدار را می توان از هر منبع 9 ولت dc که می تواند حداقل 500 میلی آمپر جریان را به دستگاه متصل هدایت کند. عملا هیچ محدودیتی برای کارهایی که می توانید با این شمارنده رویداد دیجیتال انجام دهید وجود ندارد!
نمای کلی سخت افزار شمارنده رویداد
میکروکنترلر
Digispark Attiny85 یک میکروکنترلر مفید برای پروژه های ساده است. هر دو نسخه اصلی و کلون ها دارای بوت لودر میکرونوکلئوس از پیش نصب شده هستند. بوت لودر میکرونوکلئوس به ما امکان می دهد ATTINY85 را با اتصال USB برنامه ریزی کنیم. این به خوبی در سایت digistump (https://digistump.com/wiki/start) مستند شده است.
نمایشگر دیجیتال
همانطور که گفته شد، هسته ماژول نمایشگر TM1637 است، یک نوع خاص از تراشه درایور/کنترل کننده LED از Titan Micro Electronics (www.titanmec.com). TM1637 برای ارتباط با هر میکروکنترلر فقط به یک رابط باس دو سیمه (CLK & DIO) نیاز دارد. با این حال، توجه داشته باشید که این روش ارتباطی شبیه پروتکل معروف گذرگاه 12C نیست، زیرا هیچ آدرس برده ای وجود ندارد و برای انتقال صحیح اطلاعات، یک سیگنال پاسخ دهنده (ACK) در داخل تراشه تولید می شود.
علاوه بر این دو بخش ضروری، تنها به چند جزء مجزا برای تکمیل تنظیمات سخت افزاری نیاز است. نمودار شماتیک شمارنده رویداد که در زیر نشان داده شده است را ببینید.
نرم افزار داخل
مانند سخت افزار، نرم افزار نیز بسیار ساده است و تنها چند خط کد دارد. یک کتابخانه ویژه "TM1637Display" گنجانده شده است زیرا در اینجا بسیار مهم است. کدهایی که در زیر نشان داده شده اند را می توان از طریق Arduino IDE (1.6.9) مدیریت کرد. فقط کپی-پیست-کامپایل-آپلود. این همه است. توجه داشته باشید که کتابخانه TM1637Display را می توان با کپی کردن فایل ها در دایرکتوری در مسیر جستجوی کتابخانه آردوینو IDE مانند هر کتابخانه آردوینو دیگری نصب کرد.
[sextbox id=”grey”]
/* شمارنده رویداد ساده
* با استفاده از نمایشگر LED TM1637
* uC: Digispark Attiny85
* تهیه شده توسط TKHareendran
*/
#include
#include //کتابخانه ضروری از avishorp
#define CLK 2 // clock
#define DIO 3 // data i/o
#تعریف TEST_DELAY 2000