عشق به وطن یکی از پاک ترین عشق های موجود روی این کره ی خاکیست… مدار فوق طرح پرچم کشور عزیزمان است که با ظاهری جذاب و خاصی طراحی و تولید شده است. این برد دارای مدار میکروکنترلری قابل برنامه ریزی از طریق پروگرمر آنبرد و پورت میکرو یو اس بی است که با استفاده میکروکنترلر استفاده شده قابلیت کنترل ۴۸ LED روی مدار به صورت جداگانه فراهم شده است. در ادامه با این برد و نحوه ی استفاده از آن بیشتر آشنا خواهیم شد…
آموزش نصب برنامه ی آردوینو و درایور CH340G
نصب نرم افزار آردوینو نسبتا راحت است و نیاز به تغییر خاصی در زمان نصب نیست. ابتدا فایل اینستالر برنامه را از اینجا دانلود نمایید و سپس طبق تصاویر زیر نصب کنید. بعد از اجرای فایل نصب ابتدا روی I Agree کلیک کنید. با کلیک روی این گزینه با قراردادنامه استفاده از برنامه ی آردوینو موافقت می کنید.
در گام بعد روی گزینه ی Next کلیک کنید.
در گام بعد محل نصب برنامه را انتخاب نمایید و روی Install کلیک کنید.
لطفا در زمان نصب برنامه کمی صبور باشید.
بعد از نصب کامل برنامه ی آردوینو روی گزینه ی Close کلیک نمایید.
پس از اتمام نصب نرم افزار آردوینو درایور مبدل USB به UART را از اینجا دانلود نمایید و سپس طبق تصاویر نصب کنید. بعد از اجرای فایل نصبی روی Install کلیک کنید.
بعد از نصب برنامه با پیغامی مانند تصویر زیر مواجه خواهید شد.
آموزش نصب پکیج برد ایران ورژن یک و ورژن دو
نصب پکیج برد ایران نیز نسبتا راحت است و نیاز به تغییر خاصی در زمان نصب نیست. البته چنانچه در زمان نصب برنامه ی آردوینو آدرس محل نصب را تغییر داده اید باید در زمان نصب پکیج برد ایران آدرس را اصلاح کنید. این برنامه شامل تمامی فایل های لازم برای هر دو ورژن است. برای دریافت پکیج برد ایران اینجا کلیک کنید. بعد از اجرای فایل نصبی آدرس محل نصب برنامه ی آردوینو را انتخاب و روی Extract کلیک کنید.
لطفا در زمان نصب پکیج کمی صبور باشید. برنامه بعد از نصب به صورت خودکار بسته خواهد شد.
راهنمای استفاده از مدار ایران ورژن یک
مشخصات فنی برد ایران ورژن یک
دارای هسته ی ATmega8A قابل برنامه ریزی
دارای پروگرمر آنبرد CH340G دارای ارتباط پر سرعت
دارای ۴۸ ال ای دی مجزا قابل برنامه ریزی به صورت جداگانه
دارای ۶ لول شیفتر “۷۴HC595” جهت کنترل ال ای دی ها به صورت جداگانه
سازگاری کامل با برنامه آردوینو و دارای پکیج اختصاصی جهت شناسایی و کارکرد آسان
اصول کاری برد ایران ورژن یک
به صورت کلی روی مدار ایران ۴۸ ال ای دی در سه رنگ در نظر گرفته شده است که بیانگر سه رنگ پرچم کشور عزیزمان هستند. از آنجایی که میکروکنترلر ATmega8A دارای تعداد پین های دیجیتال کافی برای کنترل این ۴۸ ال ای دی نیست، از یکی از روش های افزایش تعداد پین ها مرسوم به لول شیفتر استفاده می کنیم. در این روش از ای سی لول شیفتر سریال شماره “۷۴HC595” استفاده شده است. این لول شیفتر با استفاده از سه سیم روی ارتباط سریال به ازای هر چیپ ۸ خروجی ارائه می کنید و قابلیت نصب سریالی دارد. یعنی میتوان هر چند عدد ای سی را به صورت سری به هم متصل کرد و با استفاده از همان سه سیم به اضافه ی هر چیپ ۸ خروجی دریافت کرد. در برد ایران از ۶ لول شیفتر استفاده شده است بنابراین در این مدار ۴۸ خروجی دیجیتال از این لول شیفتر ها دریافت شده است. از مهم ترین ویژگی های ای سی “۷۴HC595” به سرعت بالا، قابل تنظیم نور هر پین خروجی به صورت مجزا (PWM) و عدم نیاز به درایور جریان برای هر پین خروجی می توان اشاره کرد.
آموزش استفاده از برد ورژن یک و کتابخوانه لول شیفتر
بعد از نصب موارد لازم برنامه ی آردوینو را جرا کنید و سپس از منوی Tools گزینه ی Board برد ورژن یک ایران و از گزینه ی Port پورت کام صحیح را انتخاب نمایید.
سپس مانند تصویر زیر فایل نمونه ی برد ورژن یک ایران را انتخاب نمایید.
بعد از انتخاب فایل نمونه بر روی گزینه ی آپلود کلیک نمایید. (فلش رو به سمت راست داخل دایره در نوار ابزار بالای برنامه)
برنامه بعد از کامپیال شدن بر روی برد آپلود خواهد شد.
در پایان آپلود برنامه روی برد با پیغام مانند تصویر زیر مواجه خواهید شد.
تعاریف کلی موارد استفاده شده در برنامه ورژن یک
در برنامه ی نمونه تعدادی برنامه ی پیشفرض لحاظ شده است، اما امکان برنامه ریزی این برد به اینجا ختم نخواهد شد و تنها محدودیت برنامه ریزی برد ایران در ذهن و منطق شماست. با کمی دقت و صبر می توان برد ایران را به هر نحوی که باب میل شما باشد برنامه ریزی کرد. در زیر با عبارات کلیدی استفاده شده در برنامه نمونه آشنا خواهیم شد.
عبارت #include <ShiftRegister74HC595.h>
فراخوانی کتابخانه ی شیفت رجیستر – تنها یک بار در کد فراخوانی میشود.
عبارت ShiftRegister74HC595 sr (6, 11, 12, 8);
تنظیم کتابخانه ی شیفت رجیستر با مقادیر صحیح مانند تعداد شیفت رجیستر های برد و پین های استفاده شده
عبارت sr.setAllLow();
عبارت Low در منطق برنامه نویسی به عنوان ۰ یا در اینجا به عنوان خاموش در نظر گرفته می شود و عبارت بالا تمامی LED ها را خاموش می کند.
عبارت sr.setAllHigh();
عبارت High در منطق برنامه نویسی به عنوان ۱ یا در اینجا به عنوان روشن در نظر گرفته می شود و عبارت بالا تمامی LED ها را روشن می کند.
عبارت sr.set(x, LOW);
عبارت Low در منطق برنامه نویسی به عنوان ۰ یا در اینجا به عنوان خاموش در نظر گرفته می شود و عبارت بالا فقط LED شماره ی x را خاموش می کند.
عبارت sr.set(x, HIGH);
عبارت High در منطق برنامه نویسی به عنوان ۱ یا در اینجا به عنوان روشن در نظر گرفته می شود و عبارت بالا فقط LED شماره ی x را روشن می کند.
عبارت delay(50);
عبارت delay در منطق برنامه نویسی به عنوان مکث یا تاخیر به مقدار عدد داخل پرانتز به میلی ثانیه در نظر گرفته شده است.
عبارت for (int i = 0; i < 5; i++) { sr.set(i, HIGH); }
برای جلوگیری از شلوغی در کد نویسی و تکرار بیش از حد کد ها از تابعی به نام for استفاده می شود. تابع for به صورت کلی یک مقداری را بین دو عدد ست خواهد کرد. به طول مثال در کد بالا ابتدا با استفاده از int i مقدار متغییر i به صورت عدد محاسباتی تعریف شده است و سپس با توجه به i = 0 معادل صفر در نظر گرفته شده است و سپس با توجه به مقدار i < 5 کوچکتر از ۵ در نظر گرفته شده است. سپس توسط مقدار i++ با هر بار شمارش یکی به مقدار آن اضافه شده است یعنی مقدار عددی از ۰ شروع می شود و به ترتیب یکی به آن اضافه می شود. (۰,۱,۲,۳,۴). سپس با استفاده از کروشه اعداد محاسبه شده در تابع for به ترتیب High شده اند. به بیان دیگر عبارت بالا معادل عبارات sr.set(0, HIGH); sr.set(1, HIGH); sr.set(2, HIGH); sr.set(3, HIGH); sr.set(4, HIGH); است.
راهنمای استفاده از مدار ایران ورژن دو
مشخصات فنی برد ایران ورژن دو
دارای هسته ی ATmega168 قابل برنامه ریزی
دارای پروگرمر آنبرد CH340G دارای ارتباط پر سرعت
دارای ۴۸ ال ای دی مجزا قابل برنامه ریزی به صورت جداگانه
دارای ایسی درایور TM1637 جهت کنترل ال ای دی ها به صورت ماتریسی
سازگاری کامل با برنامه آردوینو و دارای پکیج اختصاصی جهت شناسایی و کارکرد آسان
اصول کاری برد ایران ورژن یک
به صورت کلی روی مدار ایران ۴۸ ال ای دی در سه رنگ در نظر گرفته شده است که بیانگر سه رنگ پرچم کشور عزیزمان هستند. از آنجایی که میکروکنترلر ATmega168 دارای تعداد پین های دیجیتال کافی برای کنترل این ۴۸ ال ای دی نیست، از یکی از روش های افزایش تعداد پین ها مرسوم به دات ماتریس استفاده می کنیم. در این روش از ای سی درایور سون سگمنت شماره “TM1637” استفاده شده است. این درایور با استفاده از ارتباط I2C به ازای هر چیپ ۴۸ خروجی ارائه می کند بنابراین در این مدار ۴۸ خروجی دیجیتال از این ای سی دریافت شده است. از مهم ترین ویژگی های ای سی “TM1637” به سرعت بالا، پایداری بالا، قابل تنظیم نور خروجی ها (Brightness) و عدم نیاز به درایور جریان برای هر پین خروجی می توان اشاره کرد.
راهنمای مونتاژ برد ورژن دو
با استفاده از تصویر زیر می توانید به راحتی برد ورژن دو را مونتاژ کنید. به قطب مثبت و منفی LED ها دقت کنید. سر T قطب مثبت است.
آموزش استفاده از برد ورژن دو و کتابخوانه TM1637
بعد از نصب موارد لازم برنامه ی آردوینو را جرا کنید و سپس از منوی Tools گزینه ی Board برد ورژن دو ایران و از گزینه ی Port پورت کام صحیح را انتخاب نمایید.
سپس مانند تصویر زیر فایل نمونه ی برد ورژن دو ایران را انتخاب نمایید.
بعد از انتخاب فایل نمونه بر روی گزینه ی آپلود کلیک نمایید. (فلش رو به سمت راست داخل دایره در نوار ابزار بالای برنامه)
برنامه بعد از کامپیال شدن بر روی برد آپلود خواهد شد.
در پایان آپلود برنامه روی برد با پیغام مانند تصویر زیر مواجه خواهید شد.
تعاریف کلی موارد استفاده شده در برنامه ورژن دو
در برنامه ی نمونه تعدادی برنامه ی پیشفرض لحاظ شده است، اما امکان برنامه ریزی این برد به اینجا ختم نخواهد شد و تنها محدودیت برنامه ریزی برد ایران در ذهن و منطق شماست. با کمی دقت و صبر می توان برد ایران را به هر نحوی که باب میل شما باشد برنامه ریزی کرد. در زیر با عبارات کلیدی استفاده شده در برنامه نمونه آشنا خواهیم شد.
عبارت #include <LEDDriverTM1637.h>
فراخوانی کتابخانه ی درایور LED – تنها یک بار در کد فراخوانی میشود.
عبارات #define Iran_CLK_PIN 2 و #define Iran_DIO_PIN 3 و Iran Iran(Iran_CLK_PIN, Iran_DIO_PIN);
تنظیم کتابخانه ی درایور LEDبا مقادیر صحیح مانند تعداد شیفت رجیستر های برد و پین های استفاده شده
عبارت Iran.begin();
از این عبارت برای فعال سازی درایور LED در بخش راه اندازی مدار بعد از روشن شدن استفاده می کنیم.
عبارت Iran.displayOn();
از عبارت بالا برای روشن کردن LED ها و فعال سازی خروجی های درایور استفاده می کنیم.
عبارت Iran.setBrightness(7);
از این عبارت برای تنظیم میزان نور LED ها استفاده می کنیم. مقدار داخل پرانتز بین ۰ تا ۷ برای ۸ سطح نور تنظیم می شود.
عبارت Iran.clear();
از این عبارت برای خالی کردن حافظه درایور یا خاموش کردن تمامی LED ها می توانیم استفاده می کنیم.
عبارت Iran.Green();
از این عبارت برای روشن کردن بخش سبز رنگ مدار استفاده می کنیم.
عبارت Iran.White();
از این عبارت برای روشن کردن بخش سفید رنگ مدار استفاده می کنیم.
عبارت Iran.Red();
از این عبارت برای روشن کردن بخش قرمز رنگ مدار استفاده می کنیم.
عبارت Iran.allOn();
از این عبارت برای روشن کردن تمامی LED های مدار استفاده می کنیم.
عبارت Iran.allOff();
از این عبارت برای خاموش کردن تمامی LED های مدار استفاده می کنیم.
عبارت Iran.writeData(i);
از این عبارت برای روشن کردن LED شماره داخل پرانتز استفاده می شود.
عبارت delay(1000);
از این عبارت در منطق برنامه نویسی به عنوان مکث یا تاخیر به مقدار عدد داخل پرانتز به میلی ثانیه در نظر گرفته می شود.
عبارت for (int i = 1; i <= 48; i++) { Iran.writeData(i); delay(100); Iran.clear(); }
برای جلوگیری از شلوغی در کد نویسی و تکرار بیش از حد کد ها از تابعی به نام for استفاده می شود. تابع for به صورت کلی یک مقداری را بین دو عدد ست خواهد کرد. به طول مثال در کد بالا ابتدا با استفاده از int i مقدار متغییر i به صورت عدد محاسباتی تعریف شده است و سپس با توجه به i = 1 معادل صفر در نظر گرفته شده است و سپس با توجه به مقدار i <= 48 کوچکتر یا مساوی ۴۸ در نظر گرفته شده است. سپس توسط مقدار i++ با هر بار شمارش یکی به مقدار آن اضافه شده است یعنی مقدار عددی از ۱ شروع می شود و به ترتیب یکی به آن اضافه می شود. (۱,۲,۳,۴,۵,…). سپس با استفاده از کروشه اعداد محاسبه شده در تابع for به ترتیب روشن شده اند. به بیان دیگر عبارت بالا معادل عبارات Iran.writeData(1); Iran.writeData(2); Iran.writeData(3); Iran.writeData(4); Iran.writeData(5); …است.