مشاهدات نشان می دهد که در صنایع کشور و از جمله صنایع خصوصی، دریایی از کار و صورت مسئله های بر زمین مانده وجود دارد که بسیاری از آنها حتی با دانش و اطلاعات چند دهه قبل هم قابل حل هستند. حال اینکه چه مشکلی در این میان وجود دارد که یک گروه که در حال کار با آخرین تکنولوژی های روز هستند عملا بیکارند و نمی توانند لینک و ارتباط لازم را با این صنایع برای رفع نیازهای آنها برقرار کنند، مسئله ای است که جای تامل و بررسی دارد.
@KnowledgePlus
@KnowledgePlus
به علاقه مندان مبحث ارتباط Ethernet یادآوری می شود که موضوع مسابقه علمی سال 95 آموزش Ethernet بوده و نتایج کار برندگان مسابقه شامل فایل های آموزشی و سورس های مرتبط با این مبحث در سایت قابل دسترسی است.
@KnowledgePlus
@KnowledgePlus
یک تمرین کاربردی در برنامه نویسی میکروکنترلر:
یک تمرین کاربردی در برنامه نویسی میکروکنترلرها، کدنویسی برای پیاده سازی منوها است. برای طرح یک مثال در این مورد فرض می کنیم که از یکی از انواع LCD و صفحه کلید (یا تاچ) با شش کلید Enter و Esc و Up و Down و Left و Right به عنوان سخت افزار پایه استفاده شده باشد. با این پیش فرض، پیاده سازی عملکرد زیر مورد نظر است:
1- روی صفحه نمایش یک منوی اصلی با چند سطر نمایش داده می شود. با کلید های Up یا Down می توان بین سطرهای مختلف این منو حرکت کرد. برای فعال نشان دادن هر سطر می توان از روش هایی مانند معکوس کردن پیکسل های آن سطر در LCD های گرافیکی یا نمایش کارکترهایی نظیر * یا > در کنار سطر فعال برای LCD های کاراکتری استفاده کرد.
2- با فشار دادن Enter روی هر سطر فعال، صفحه تنظیمات متناظر با آن سطر به همراه پارامترهایش نمایش داده می شود. مقدار اولیه پارامترها از حافظه eeprom تامین می شوند.
3- برای حرکت بین پارامترهای یک صفحه از کلیدهای Left و Right و برای تنظیم مقدار آنها در محدوده مجاز از کلیدهای Up و Down استفاه می شود.
4- بعد از تنظیم پارامترها در مقدار دلخواه، از کلید Esc برای خروج از صفحه و بازگشت به منوی اصلی استفاده می شود. در هنگام خروج از صفحه چنانچه پارامتری تغییر کرده باشد، مقدار آن در محل متناظر در حافظه eeprom دخیره می شود تا بعد از خاموش شدن سیستم همچنان محفوظ باقی بماند.
5- در هر صفحه ممکن است صفحات داخلی تری هم وجود داشته باشند که برای وارد شدن به هر مرحله می توان از کلید Enter و برای خروج به مرحله قبلی از کلید Esc استفاده کرد.
مثال اخیر تنها یک شکل ساده از برنامه نویسی منوها است و در کاربردهای عملی منطق برنامه می تواند بسیار پیچیده تر از موارد شرح داده شده باشد.
@KnowledgePlus
یک تمرین کاربردی در برنامه نویسی میکروکنترلرها، کدنویسی برای پیاده سازی منوها است. برای طرح یک مثال در این مورد فرض می کنیم که از یکی از انواع LCD و صفحه کلید (یا تاچ) با شش کلید Enter و Esc و Up و Down و Left و Right به عنوان سخت افزار پایه استفاده شده باشد. با این پیش فرض، پیاده سازی عملکرد زیر مورد نظر است:
1- روی صفحه نمایش یک منوی اصلی با چند سطر نمایش داده می شود. با کلید های Up یا Down می توان بین سطرهای مختلف این منو حرکت کرد. برای فعال نشان دادن هر سطر می توان از روش هایی مانند معکوس کردن پیکسل های آن سطر در LCD های گرافیکی یا نمایش کارکترهایی نظیر * یا > در کنار سطر فعال برای LCD های کاراکتری استفاده کرد.
2- با فشار دادن Enter روی هر سطر فعال، صفحه تنظیمات متناظر با آن سطر به همراه پارامترهایش نمایش داده می شود. مقدار اولیه پارامترها از حافظه eeprom تامین می شوند.
3- برای حرکت بین پارامترهای یک صفحه از کلیدهای Left و Right و برای تنظیم مقدار آنها در محدوده مجاز از کلیدهای Up و Down استفاه می شود.
4- بعد از تنظیم پارامترها در مقدار دلخواه، از کلید Esc برای خروج از صفحه و بازگشت به منوی اصلی استفاده می شود. در هنگام خروج از صفحه چنانچه پارامتری تغییر کرده باشد، مقدار آن در محل متناظر در حافظه eeprom دخیره می شود تا بعد از خاموش شدن سیستم همچنان محفوظ باقی بماند.
5- در هر صفحه ممکن است صفحات داخلی تری هم وجود داشته باشند که برای وارد شدن به هر مرحله می توان از کلید Enter و برای خروج به مرحله قبلی از کلید Esc استفاده کرد.
مثال اخیر تنها یک شکل ساده از برنامه نویسی منوها است و در کاربردهای عملی منطق برنامه می تواند بسیار پیچیده تر از موارد شرح داده شده باشد.
@KnowledgePlus
استفاده از شماره شناسایی منحصر به فرد میکروکنترلر برای جلوگیری از کپی کردن غیر مجاز برنامه:
به جهت مقابله با سارقان اطلاعات و حتی در صورت باز کردن قفل(Lock) میکروکنترلر به روش های خاص، با استفاده از شماره شناسایی منحصر به فرد میکروکنترلر می توان محتوای حافظه flash را برای کپی کردن روی میکروکنترلرهای دیگر غیرقابل استفاده کرد. در مقاله زیر به روشی برای این کار اشاره شده است.
https://knowledgeplus.ir/userfiles/Unique_ID_1.pdf
@KnowledgePlus
به جهت مقابله با سارقان اطلاعات و حتی در صورت باز کردن قفل(Lock) میکروکنترلر به روش های خاص، با استفاده از شماره شناسایی منحصر به فرد میکروکنترلر می توان محتوای حافظه flash را برای کپی کردن روی میکروکنترلرهای دیگر غیرقابل استفاده کرد. در مقاله زیر به روشی برای این کار اشاره شده است.
https://knowledgeplus.ir/userfiles/Unique_ID_1.pdf
@KnowledgePlus
احترام به مالکیت معنوی از جمله مشخصه های فرهنگی کشورهای پیشرفته است.تاریخ انتشار اولیه این پست:
https://t.iss.one/KnowledgePlus/29
مربوط به 8 ژانویه 2016 است. اما می توان کانال های پرمخاطبی را مشاهده کرد که بدون ذکر مرجع اقدام به انتشار امثال این مطلب و مشابه آن می کنند. هرچند این نوع مطالب برای استفاده دیگران منتشر می شوند و هدف به اشتراک گذاری اطلاعات است. اما علت نشان دادن حساسیت برای ذکر مرجع، بالا بردن فرهنگ احترام به مالکیت معنوی است که متاسفانه عدم رعایت آن یکی از ضعف های فرهنگی جامعه ما است. به مالکیت معنوی احترام بگذاریم.
@KnowledgePlus
https://t.iss.one/KnowledgePlus/29
مربوط به 8 ژانویه 2016 است. اما می توان کانال های پرمخاطبی را مشاهده کرد که بدون ذکر مرجع اقدام به انتشار امثال این مطلب و مشابه آن می کنند. هرچند این نوع مطالب برای استفاده دیگران منتشر می شوند و هدف به اشتراک گذاری اطلاعات است. اما علت نشان دادن حساسیت برای ذکر مرجع، بالا بردن فرهنگ احترام به مالکیت معنوی است که متاسفانه عدم رعایت آن یکی از ضعف های فرهنگی جامعه ما است. به مالکیت معنوی احترام بگذاریم.
@KnowledgePlus
یکی از مخاطبین در مورد مقاله استفاده از شماره شناسایی میکروکنترلر، نظری را قریب به این مضمون مطرح کرده اند که با استفاده از تحلیل عملکرد برنامه و تغییر در کدهای اسمبلی می توان باز هم از محتوای کپی شده استفاده کرد. در پاسخ باید گفت که اولا در مقاله مذکور اصولا پیش فرضی به عنوان تحلیل کد و تغییر در محتوای آن مطرح نبوده و فرض بر این بوده که محتوای کپی شده عینا روی میکروکنترلر دیگری ریخته شود. برای کپی کردن محتوای میکروکنترلرها معمولا کسانی دست به این نوع سرقت اطلاعات می زنند که خود فاقد دانش لازم در این حد باشند. نکته دوم این است که با فرض در نظر گرفتن چنین پیش فرضی باز هم می توان مکانیزم استفاده از شماره شناسایی را بصورت چند مرحله ای و بسیار پیچیده تر از روش توضیح داده شده پیاده سازی کرد به نحوی که تحلیل سورس و تغییر در آن بسیار زمان بر تر و پر هزینه تر باشد و در عمل به صرفه نباشد. در حال حاضر نرم افزارهایی وجود دارند که به همین روش ها کرک شده اند. اما کاربران در عمل متوجه می شوند که علیرغم این که نرم افزار ظاهرا کار می کند اما در برخی مراحل وظیفه خود را به درستی انجام نمی دهد و مثلا محاسبات آن غلط است یا تبدیلی را درست انجام نمی دهد و مواردی از این قبیل. برای یک میکروکنترلر هم می توان کدها را بصورتی نوشت که این شماره شناسایی در صحت عملکرد خروجی کدها هم دخالت داده شود و در صورت عدم مطابقت شماره شناسایی، خروجی کد ظاهرا کار کند اما وظیفه خود را به درستی انجام ندهد و مثلا محاسبه ای را بصورت غلط انجام دهد یا رجیستری درست مقدار دهی نشود و سایر موارد مشابه. استفاده از چنین روش هایی می تواند زمان و هزینه برای تحلیل جزییات عملکرد یک کد در مراحل مختلف آن را چنان افرایش دهد که انجام آن توسط سارقان اطلاعات به هیچ وجه برای آنها به صرفه نباشد.
@KnowledgePlus
@KnowledgePlus
نکاتی از زبان برنامه نویسی C:
نتیجه عملیات مختلف انجام شده در یک تابع را می توان در مقدار بازگشتی تابع منعکس کرد به نحوی که از روی مقدار بازگشتی، نتیجه عملکرد تابع مشخص شود. به عنوان یک مثال، مقدار بازگشتی بسیاری از توابع در کتابخانه Fatfs از نوع FRESULT در نظر گرفته شده اند که از روی مقدار بازگشتی می توان به نتیجه عملیات انجام شده در توابع مذکور پی برد. مثلا:
FRESULT f_read ( ... )
جزییات FRESULT به این صورت تعریف شده است که هر مقدار بازگشتی مترادف با یکی از وضعیت های ممکن بعد از اجرای تابع است. برای توضیح بیشتر به فایل های ff.c و ff.h در کتابخانه مراجعه کنید:
typedef enum {
FR_OK = 0,
FR_DISK_ERR,
FR_INT_ERR,
FR_NOT_READY,
FR_NO_FILE,
FR_NO_PATH,
FR_INVALID_NAME,
FR_DENIED,
FR_EXIST,
FR_INVALID_OBJECT,
FR_WRITE_PROTECTED,
FR_INVALID_DRIVE,
FR_NOT_ENABLED,
FR_NO_FILESYSTEM,
FR_MKFS_ABORTED,
FR_TIMEOUT,
FR_LOCKED,
FR_NOT_ENOUGH_CORE,
FR_TOO_MANY_OPEN_FILES,
FR_INVALID_PARAMETER
} FRESULT;
@KnowledgePlus
نتیجه عملیات مختلف انجام شده در یک تابع را می توان در مقدار بازگشتی تابع منعکس کرد به نحوی که از روی مقدار بازگشتی، نتیجه عملکرد تابع مشخص شود. به عنوان یک مثال، مقدار بازگشتی بسیاری از توابع در کتابخانه Fatfs از نوع FRESULT در نظر گرفته شده اند که از روی مقدار بازگشتی می توان به نتیجه عملیات انجام شده در توابع مذکور پی برد. مثلا:
FRESULT f_read ( ... )
جزییات FRESULT به این صورت تعریف شده است که هر مقدار بازگشتی مترادف با یکی از وضعیت های ممکن بعد از اجرای تابع است. برای توضیح بیشتر به فایل های ff.c و ff.h در کتابخانه مراجعه کنید:
typedef enum {
FR_OK = 0,
FR_DISK_ERR,
FR_INT_ERR,
FR_NOT_READY,
FR_NO_FILE,
FR_NO_PATH,
FR_INVALID_NAME,
FR_DENIED,
FR_EXIST,
FR_INVALID_OBJECT,
FR_WRITE_PROTECTED,
FR_INVALID_DRIVE,
FR_NOT_ENABLED,
FR_NO_FILESYSTEM,
FR_MKFS_ABORTED,
FR_TIMEOUT,
FR_LOCKED,
FR_NOT_ENOUGH_CORE,
FR_TOO_MANY_OPEN_FILES,
FR_INVALID_PARAMETER
} FRESULT;
@KnowledgePlus
نوشتن یک برنامه پیچیده و مفصل و چندین هزار خطی بدون تدوین چارچوب کلی عملکرد نرم افزار با استفاده از روش هایی مانند فلوچارت یا شبه کد (Pseudocode) معمولا به نتایج خوبی منجر نمی شود و بسیار مشاهده می شود که افراد کم تجربه ای که برای نوشتن چنین برنامه هایی بدون در نظر گرفتن یک نقشه راه کلی، از خط اول برنامه شروع به کدنویسی می کنند، در بین راه دچار مشکل می شوند و برنامه آنها یا به نتیجه نمی رسد و یا توام با باگ های مختلف است.
@KnowledgePlus
@KnowledgePlus
یکی از ذهنیت های غلط افراد فنی در تولید محصولات این است که تصور می کنند آنها هستند که کار اصلی را انجام می دهند که مثلا مداری را طراحی می کنند یا برنامه ای را می نویسند و برای کار کسانی که بخش های تجاری و فروش را به عهده دارند، وزن و اهمیت کافی قائل نیستند. در حالی که در یک فعالیت اقتصادی اگر بخش تجارت و فروش وظیفه خود را به درستی انجام ندهد، حاصل زحمات بخش های علمی و فنی به ثمر نخواهد نشست و در حد ایده پردازی و نمونه سازی باقی خواهد ماند. بر همین اساس برای تبدیل کردن یک ایده به یک محصول موفق باید یک بار این ذهنیت را اصلاح کنیم و بدانیم که اهمیت و وزن فعالیت بخش های بازاریابی و فروش و تبلیغات و مانند آن اگر از بخش های فنی بیشتر نباشد، در اکثر موارد کمتر هم نیست.
@KnowledgePlus
@KnowledgePlus
در توسعه پروژه ها گاهی به این نقطه می رسیم که به دلیل جوابگو نبودن و کمبود امکانات میکروکنترلری که به آن مسلط هستیم (کمبود پین، کمبود تایمر، کمبود حافظه، سرعت پردازش پایین و ...)، باید از خانواده جدیدی از میکروکنترلرها استفاده کنیم. اما فرصت و توجیه کافی را هم برای وقت گذاشتن روی خانواده جدید در اختیار نداریم. در این شرایط مناسب است که به امکان شبکه کردن دو یا چند عدد از همان میکروکنترلری که به آن مسلط هستیم به عنوان یک راه حل توجه کنیم به نحوی که انجام وظایف بین این میکروکنترلرها تقسیم شود.
@KnowledgePlus
@KnowledgePlus
انتخابات از نگاه یک برنامه نویس C:
typedef enum
{
TRUE,
FALSE,
NONE
}VOTE_TYPE;
VOTE_TYPE vote;
...
if((vote==FALSE)||(vote==NONE)) while(1);
...
@KnowledgePlus
typedef enum
{
TRUE,
FALSE,
NONE
}VOTE_TYPE;
VOTE_TYPE vote;
...
if((vote==FALSE)||(vote==NONE)) while(1);
...
@KnowledgePlus
زمانی بود که برای جذب شدن در بازار کار رشته الکترونیک داشتن مدرک تحصیلی کافی بود. آن دوره گذشت و زمانی رسید که آشنایی با سخت افزار ها و نرم افزارها و راه اندازی آنها و گذراندن دوره های تخصصی در آموزشگاه ها و شرکت ها عامل مهمی برای جذب در بازار کار رشته الکترونیک بود. آن دوره هم می توان گفت که تقریبا سپری شده و در حال حاضر اکثر جویندگان کار دارای فهرستی از دوره های گذرانده شده و سخت افزارها و نرم افزارهای راه اندازی شده هستند. اکنون شرایط کار به گونه ای است که تنها برای کسی که واقعا کاربلد باشد و دارای دانش و تجربه کافی باشد تضمین کار وجود دارد. از آنجایی که کسب مهارت و تجربه تنها با صرف زمان زیاد میسر است و راه میانبری برای آن وجود ندارد، یکی از اساسی ترین سوال ها از یک فرد متقاضی به غیر از اینکه چه مدرکی دارد و چه دوره هایی را گذرانده این است که:
چقدر و چند ساعت برای تمرین و کسب مهارت و تجربه آموزی بصورت عملی تاکنون وقت گذاشته ای؟
@KnowledgePlus
چقدر و چند ساعت برای تمرین و کسب مهارت و تجربه آموزی بصورت عملی تاکنون وقت گذاشته ای؟
@KnowledgePlus
نقل یک تجربه عملی:
در مداری که خروجی میکروکنترلر بصورت مستقیم و بدون رعایت ایزولاسیون به درایورهای Mosfet و igbt مانند IR2130 متصل شده است، چندین بار مشاهده شد که یک پین میکروکنترلر سوخته و به درستی عمل نمی کند. این مسئله به احتمال زیاد نشان دهنده یک ولتاژ بالای برگشتی از آی سی درایور به پین میکروکنترلر است که باعث سوختن آن می شود. در چنین شرایطی برای محافظت پین به غیر از بحث ایزولاسیون می توان از روش سری کردن مقاومت مناسب و قرار دادن دیودهای حفاظتی معکوس (علاوه بر دیودهای داخلی) در ورودی پین استفاده کرد.
@KnowledgePlus
در مداری که خروجی میکروکنترلر بصورت مستقیم و بدون رعایت ایزولاسیون به درایورهای Mosfet و igbt مانند IR2130 متصل شده است، چندین بار مشاهده شد که یک پین میکروکنترلر سوخته و به درستی عمل نمی کند. این مسئله به احتمال زیاد نشان دهنده یک ولتاژ بالای برگشتی از آی سی درایور به پین میکروکنترلر است که باعث سوختن آن می شود. در چنین شرایطی برای محافظت پین به غیر از بحث ایزولاسیون می توان از روش سری کردن مقاومت مناسب و قرار دادن دیودهای حفاظتی معکوس (علاوه بر دیودهای داخلی) در ورودی پین استفاده کرد.
@KnowledgePlus
با توجه به اتمام موجودی برد آموزشی XMEGA و عدم تصمیم برای تولید مجدد این برد به دلیل اشتغالات کاری، دوستانی که قصد تهیه این برد را دارند می توانند با استفاده از فایل pcb که در سایت قرار داده شده نسبت به ساخت آن اقدام کنند. فایل pcb در لینک زیر قرار دارد:
https://knowledgeplus.ir/download.aspx
@KnowledgePlus
https://knowledgeplus.ir/download.aspx
@KnowledgePlus
یک صحنه با شکوه در رشته الکترونیک :
اگر روزی نگاه کردی و دیدی که محصولی را تولید کرده ای که هم بازگشت مالی بسیار خوبی دارد، هم باعث ایجاد اشتغال و به اصطلاح نان رسانی برای دیگران شده، هم به پیشرفت صنعت مملکت و جلوگیری از واردات کمک کرده و هم کاربر آن بسیار راضی و متشکر است، تجربه چنین صحنه ای خستگی سال ها فعالیت و زحمت در این رشته را از تن انسان به در خواهد برد.
@KnowledgePlus
اگر روزی نگاه کردی و دیدی که محصولی را تولید کرده ای که هم بازگشت مالی بسیار خوبی دارد، هم باعث ایجاد اشتغال و به اصطلاح نان رسانی برای دیگران شده، هم به پیشرفت صنعت مملکت و جلوگیری از واردات کمک کرده و هم کاربر آن بسیار راضی و متشکر است، تجربه چنین صحنه ای خستگی سال ها فعالیت و زحمت در این رشته را از تن انسان به در خواهد برد.
@KnowledgePlus
برخی از دوستان تقاضاهایی مبنی بر تشکیل گروه تلگرام یا ایجاد شرایطی برای گفتگو و طرح سوال از طریق تلگرام را مطرح می کنند که متاسفانه به دلیل کمبود وقت و کثرت افراد فعلا چنین امکانی وجود ندارد.
@KnowledgePlus
@KnowledgePlus
نکته ای در مورد جذب سرمایه گذار برای کسانی که طرح هایی را برای تولید دارند:
حکایت معروفی هست درباره قضاوت مردم در مورد سواد دو نفر مدعی که یکی عکس مار را کشید و دیگری عبارت مار را نوشت که در نهایت حق را به کسی دادند که شکل مار را به آنها نشان داد. دوستان زیادی هستند که طرحی را در ذهن دارند و انتظار دارند که افراد سرمایه گذار بر اساس توضیحات و ادعای آنها مجاب شوند که روی طرحشان سرمایه گذاری کنند. اما تجربه نشان می دهد که سرمایه گذاران برای چیزی که می بینند بسیار راحت تر حاضرند سرمایه خود را در اختیار بگذارند تا چیزی که هنوز وجود خارجی ندارد و قرار است در آینده آیا به نتیجه برسد یا نرسد. به زبان ساده تر، بین این دو وضعیت فرق اساسی وجود دارد که به یک سرمایه گذار، دستگاه یا مدار در حال کاری را نشان بدهیم و از او بخواهیم که برای تولید آن همکاری کند. تا اینکه طرحی را روی کاغذ و بر اساس حرف توضیح بدهیم و از سرمایه گذار بخواهیم که پول و امکانات خود را در اختیار بگذارد تا در آینده ای مبهم، آن دستگاه یا مدار به جواب برسد.
@KnowledgePlus
حکایت معروفی هست درباره قضاوت مردم در مورد سواد دو نفر مدعی که یکی عکس مار را کشید و دیگری عبارت مار را نوشت که در نهایت حق را به کسی دادند که شکل مار را به آنها نشان داد. دوستان زیادی هستند که طرحی را در ذهن دارند و انتظار دارند که افراد سرمایه گذار بر اساس توضیحات و ادعای آنها مجاب شوند که روی طرحشان سرمایه گذاری کنند. اما تجربه نشان می دهد که سرمایه گذاران برای چیزی که می بینند بسیار راحت تر حاضرند سرمایه خود را در اختیار بگذارند تا چیزی که هنوز وجود خارجی ندارد و قرار است در آینده آیا به نتیجه برسد یا نرسد. به زبان ساده تر، بین این دو وضعیت فرق اساسی وجود دارد که به یک سرمایه گذار، دستگاه یا مدار در حال کاری را نشان بدهیم و از او بخواهیم که برای تولید آن همکاری کند. تا اینکه طرحی را روی کاغذ و بر اساس حرف توضیح بدهیم و از سرمایه گذار بخواهیم که پول و امکانات خود را در اختیار بگذارد تا در آینده ای مبهم، آن دستگاه یا مدار به جواب برسد.
@KnowledgePlus
توصیه ای به نقل از یک فرد با تجربه برای تولید محصولات:
شخص با تجربه ای توصیه ای را مطرح می کرد که در اینجا نقل قول می شود به این شرح که اگر بتوانیم محصولی را تولید کنیم که به نحوی مرتبط با صنایع و بازارهای با گردش مالی بالا و نیازمند به تیراژ زیاد مانند صنعت ساختمان، صنعت خودرو، لوازم خانگی و مانند آن باشد، احتمال موفقیت به لحاظ بازده اقتصادی و تضمین تداوم کار نسبت به بازارهای محدود و کم تیراژ بیشتر است.
@KnowledgePlus
شخص با تجربه ای توصیه ای را مطرح می کرد که در اینجا نقل قول می شود به این شرح که اگر بتوانیم محصولی را تولید کنیم که به نحوی مرتبط با صنایع و بازارهای با گردش مالی بالا و نیازمند به تیراژ زیاد مانند صنعت ساختمان، صنعت خودرو، لوازم خانگی و مانند آن باشد، احتمال موفقیت به لحاظ بازده اقتصادی و تضمین تداوم کار نسبت به بازارهای محدود و کم تیراژ بیشتر است.
@KnowledgePlus
تمرین برنامه نویسی میکروکنترلر:
یک کلید push button به عنوان ورودی و یک led با واسطه یک مقاومت به عنوان خروجی به میکروکنترلری متصل شده اند. هدف کم و زیاد کردن نور led به روش pwm از طریق همین یک کلید است. بعد از ریست، کلید بصورت پیش فرض وظیفه افزایش نور را به عهده دارد. روش کار به این ترتیب است که اگر کلید به مدت 800 میلی ثانیه نگه داشته شود، بعد از سپری شدن این زمان یک پله به نور led اضافه می شود و با فرض نگه داشتن کلید، این افزایش در هر 100 میلی ثانیه تا رسیدن به حداکثر نور led ادامه می یابد. اما برای تغییر وظیفه کلید از افزایش نور به کاهش آن و برعکس باید ضربه سریعی روی کلید زد و چنانچه زمان فشار دادن کلید از 500 میلی ثانیه کمتر باشد، وظیفه کلید تغییر می کند. بعد از تغییر وظیفه کلید از افزایشی به کاهشی و رها کردن آن، نگه داشتن مجدد کلید به همان روالی که توضیح داده شد، این بار باعث کاهش نور led می شود. پس به این ترتیب تنها با یک کلید می توان عملیات افزایش یا کاهش نور led را انجام داد. این تمرین نمونه ای از صورت مسئله ای است که سخت افزار آن بسیار ساده و ابتدایی است. اما پیاده سازی آن به لحاظ کدنویسی چندان هم ساده نیست.
@KnowledgePlus
یک کلید push button به عنوان ورودی و یک led با واسطه یک مقاومت به عنوان خروجی به میکروکنترلری متصل شده اند. هدف کم و زیاد کردن نور led به روش pwm از طریق همین یک کلید است. بعد از ریست، کلید بصورت پیش فرض وظیفه افزایش نور را به عهده دارد. روش کار به این ترتیب است که اگر کلید به مدت 800 میلی ثانیه نگه داشته شود، بعد از سپری شدن این زمان یک پله به نور led اضافه می شود و با فرض نگه داشتن کلید، این افزایش در هر 100 میلی ثانیه تا رسیدن به حداکثر نور led ادامه می یابد. اما برای تغییر وظیفه کلید از افزایش نور به کاهش آن و برعکس باید ضربه سریعی روی کلید زد و چنانچه زمان فشار دادن کلید از 500 میلی ثانیه کمتر باشد، وظیفه کلید تغییر می کند. بعد از تغییر وظیفه کلید از افزایشی به کاهشی و رها کردن آن، نگه داشتن مجدد کلید به همان روالی که توضیح داده شد، این بار باعث کاهش نور led می شود. پس به این ترتیب تنها با یک کلید می توان عملیات افزایش یا کاهش نور led را انجام داد. این تمرین نمونه ای از صورت مسئله ای است که سخت افزار آن بسیار ساده و ابتدایی است. اما پیاده سازی آن به لحاظ کدنویسی چندان هم ساده نیست.
@KnowledgePlus
در منابع مختلف ذکر شده که استنشاق دود حاصل از لحیم کاری و وان قلع و مانند آن، مضر و خطرناک است. با صرف هزینه کم و نصب فن روی لوله یا کانال هوای مناسب می توان این دود مضر را به فضای باز هدایت کرد. مراقب سلامتی خود باشیم.
@KnowledgePlus
@KnowledgePlus