۱۴۰۲ تیر ۱۶, جمعه

رفع مشکل Permission# در دسترسی Arduino به پورت سریال


 

 اگر از مشتقات لینوکس ( من از آرچ لینوکس استفاده میکنم .) استفاده میکنید و برای برقراری اتصال برد آردوینو به پورت سریال خطای Permission میگیرید . میتوانید با تنظیم زیر  این مشکل را حل کنید :

sudo chmod a+rw /dev/ttyACM0

و اگر به جای ttyACM0 پورت USB در سیستم شما ttyUSB0 میباشد از دستور زیر استفاده نمایید :

sudo chmod a+rw /dev/ttyUSB0


۱۴۰۲ فروردین ۳, پنجشنبه

اضافه کردن قابلیت Syntax Highlighter Code به سیستم وبلاگ بلاگر

 syntax highlighter for blogger, Crayon syntax highlighter plugin

Syntax Highlighter Code در پست های بلاگر شما می تواند به خوانندگان کمک کند تا کدهای نوشته شده توسط شما را بهتر درک کنند. علاوه بر این، به‌طور خودکار یک دکمه کپی برای هر متن هایلایت شده ای اضافه می‌کند که خوانندگان می‌توانند روی آن کلیک کنند و سپس کد را در اسناد خود جای‌گذاری کنند. ویرایشگر Syntax Highlighter Code نیز قابل تنظیم است .

۱۴۰۱ اسفند ۱۴, یکشنبه

اجرای برنامه های گرافیکی در ارتباط از طریق ssh

xming x11

 

 شاید بخواهید از طریق پروتکل ssh به یک کامپیوتر لینوکسی متصل شوید . مثلا به برد رزبری پای ! این کار به راحتی توسط putty در ویندوز و استفاده از دستور ssh در لینوکس امکانپذیر است . اما درصورتیکه بخواهید در برد رزبری پای خود یک برنامه گرافیکی اجرا کنید ، به روش قبل نمیتوانید GUI برنامه را ببینید و حتما در روند اجرای برنامه خود به مشکل میخورید.

۱۴۰۱ بهمن ۳۰, یکشنبه

نوشتن اینترفیس سریال با زبان پایتون


 قصدم نوشتن یک اینترفیس سریال برای آزمایش قابلیتهای مختلف میکروکنترلرهای مرسوم (AVR , PIC , STM و ..) بود ، در واقع یک آزمایشگاه که بتونم داده های مختلف رو بصورت از پیش ساخته شده یا بصورت بدون فریم و کاملا منعطف به میکرو بفرستم و داده های برگشتی رو بخونم و در صورت نیاز پلات کنم و ... (شاید یکم شبیه به پروتئوس با کمی تفاوت ماهوی احتمالا)

این قدم اول از این پروژه سرگرمی من هست و به مرور زمان کامل میشه . با اینکه همین الان هم قابل استفاده است . 

۱۴۰۱ بهمن ۲۵, سه‌شنبه

ماژول تایمر در میکروکنترلرهای PIC

 


استفاده از دستور delay علیرغم سادگی دقت کافی را برای اندازه گیری زمان و ارتباط سریال با ماژولهای مختلف را ندارد.  خوشبختانه در میکروکنترلرهای مختلف واحد(های) تایمر 8 بیتی و گاهی 16 بیتی تعبیه شده است . با استفاده از ماژول تایمر میتوان دقت اندازه گیری زمان را افزایش د اد و به زمان واقعی برای ساخت تقویم و ساعت دسترسی پیدا کرد .
در سیستم های embedded  تایمر نقش اساسی بازی میکند . با استفاده از تایمر میتوانیم برنامه هایی مولتی تسک را بنویسیم و منابع سیستم را بین واحدهای مختلف تقسیم کنیم .

۱۴۰۱ بهمن ۲۲, شنبه

میکروکنترلر PIC - قسمت پنجم : واحد UART

 

microchip 16f877

اصول ارتباط سریال

دو روش عمده برای انتقال اطلاعات در سیستمهای کامپیوتری وجود دارد، انتقال موازی و انتقال سریال. در انتقال موازی اطلاعات بین کامپیوتر و وسیله ، طول کابل انتقال حداکثر به چند ده سانتیمتر محدود میشود، کابلها دارای چندیدن رشته سیم خواهند بود که عملا کاربرد این روش انتقال اطلاعات به موارد خاصی مثل چاپگرها و هارددیسک ها محدود شده است. در روش سریال دو وسیله میتوانند کیلومترها با هم فاصله داشته باشند و هیچ محدودیت فاصله ای در بین نیست.از تعداد کمتری سیم برای ارتباط ارتباط استفاده میشود و اطلاعات نه به صورت بایتی (مانند آنچه در روش موازی استفاده میشود) بلکه به صورت بیت به بیت منتقل میشوند.

میکروکنترلر PIC - قسمت چهارم : Text LCD

microchip 16f877

 

مبانی راه اندازی Text LCD:

دو روش برای راه اندازی یکLCD متنی وجود دارد.استفاده از باس 8 بیتی برای انتقال دستورات و دیتا و استفاده از باس 4 بیتی .بدلیل سیم کشی کمتر ما از روش باس 4 بیتی استفاده میکنیم.

میکروکنترلر PIC - قسمت سوم : استفاده از وقفه خارجی

microchip 16f877

 

همانطور که قبلا هم گفته شد, دو روش برای اطلاع از تغییرات پریفرالهای سیستم وجود دارد؛ روش اول که بررسی شد ، روش Polling یا وارسی و انتظار برای تغییر یک رجیستر است و روش دوم ، وقفه نام دارد. با استفاده از وقفه میکروکنترلر مشغول کارهای روتین خود میباشد، به محض تغییر در یکی از رجیسترهای پریفرالهای میکرو ، سیستم آگاه شده، کارهای روتین به صورت موقت متوقف شده و به قسمتی که تقاضای وقفه داشته است رسیدگی میشود.در سیستمهای مختلف این عملیات با کمی تغییر ولی در حالت کلی به همین صورت انجام میپذیرد .

میکروکنترلر PIC - قسمت دوم : استفاده از Push Button

microchip 16f877

 

در نظر داریم تغییراتی در سخت افزار و برنامه Blinky ایجاد کنیم بصورتیکه با قرار دادن یک کلید فشاری (Push Button) بعد از فشار دادن سوئیچ LED روشن شود و پس از رها کردن سوئیچ فشاری LED خاموش شود . برای این منظور از روش وارسی و انتظار برای تغییر رجیسترها استفاده میکنیم . در آینده استفاده از وقفه های خارجی و استفاده از روش Round Robin برای زمانبندی انجام وظایف نیز توضیح داده خواهد شد.

۱۴۰۱ بهمن ۲۱, جمعه

میکروکنترلر PIC - قسمت اول : Blinky

microchip 16f877

 

همانطور که در آموزش یک زبان برنامه نویسی جدید اولین برنامه !Hello World نام دارد ، اولین برنامه در برنامه نویسی یک میکروی جدید Blinky نام دارد. در برنامه Blinky یکی از پایه های میکرو به تناوب ۰ و ۱ (دیجیتال) میشود . یعنی بین ۰ ولت و مقدار تغذیه میکرو تغییر میکند. در صورتیکه یک LED به پایه مذکور اتصال یابد LED شروع به چشمک زدن میکند .