PDA

View Full Version : سوال: برنامه نویسی embdded برای چی هست؟ منبع آموزش کسی داره؟



ABZiko
چهارشنبه 02 مهر 1393, 19:18 عصر
سلام، ابتدا می خواستم بدونم برنامه نویسی embedded برای چی هست؟(این طور که من فهمیدم برای برنامه نویسی ربات هست،درسته؟)
کسی آموزشی برای این برنامه نویسی و کلا برای ساخت یک ربات کوچک با برنامه نویسی نداره؟
ممنون

مهدی کرامتی
پنج شنبه 03 مهر 1393, 07:30 صبح
سخت افزار Embedded چیست؟
از دیدگاه عنوان این مطلب (سخت افزار Embedded)، دو نوع کامپیوتر داریم، کامپیوترهای همه کاره مانند لپ تاپ یا PC شما که هر جور برنامه ای ممکن است بر روی آنها نصب شود و هر جور سخت افزار سازگاری را می توان به آنها متصل کرد؛ و کامپیوترهای بسیار کوچک که برای کار با نوع خاصی از سخت افزار طراحی شده اند و نرم افزاری نیز به عنوان هدایتگر جهت انجام منظوری خاص بر روی آنها نوشته شده و در حافظه دائمی آنها قرار داده شده است. مثال هایی از سیستم های Embedded عبارتند از:

سیستم دزدگیر
سیستم کروز کنترل اتوموبیل
ترموستات وسایل حرارتی
اجاق مایکرویو
و ...

نکته جالب در مورد این گونه سخت افزارها این است که چیزی که شما بر اساس امکانات آن برنامه ریزی می کنید و برنامه تان را بر روی آن جهت اجرا قرار می دهید اکثر اوقات یک آی سی میکروکنترلر است، چیزی مانند این ها:

123870
ATMega 328
123871
ATMega 328 SMD

برنامه نویسی Embedded چیست؟
به زبان ساده، شما با یک زبان برنامه نویسی (معمولا زبان C یا مشتقات آن) به میکروکنترلر می گوئید اگر از فلان ورودی فلان مقدار دریافت شد در خروجی فلان مقدار را بنویس.
سخت افزار وصل شده به ورودی مذکور می تواند یک دما سنج تماسی یا غیرتماسی باشد. وسیله خروجی مورد نظر نیز می تواند یک رله باشد که منبع تغذیه موتور یا وسیله دیگری را قطع و وصل می کند.


مثال عملی
در این مثال می خواهیم یک مدار بسازیم که مثلا دمای اتاق را همیشه روی 26 درجه سانتی گراد نگه دارد. شما وسایل زیر را نیاز خواهید داشت:

یک پنکه، یا یک کولر آبی.
یک بخاری برقی یک گرم کننده دیگری که به وسیله یک کلید وصل/قطع بتوان آن را روشن و خاموش کرد.
و وسایل لیست شده در زیر:



وسیله ورودی شما قرار است یک سنسور DHT-11 باشد:
123867
سنسور رطوبت و دما - سنسور آب و هوا DHT11
http://shop.aftabrayaneh.com/Sensors/Temperature_Humidity/Sensor_DHT11.html
قیمت در زمان درج این نوشته: 4.500 تومان.


خروجی شما نیز در این حالت دو عدد رله است که هر کدام برق پنکه یا هیتر را کنترل می کند:
123868
ماژول رله 5 ولت دوکاناله
http://shop.aftabrayaneh.com/Switches/2Chanel_5v_relay.html
قیمت در زمان درج این نوشته: 14.000 تومان.

مدار پایه شما که بین ورودی و خروجی قرار می گیرد نیز می تواند یک برد Arduino Uno باشد (تصویر زیر) که میکروکنترلر اصلی آن همان آی سی ATMega 328 (اولین تصویر در همین پست) است. کافی است قطعات ر به آن وصل کنید، کدها را در محیط توسعه درج کنید، برد زیر را از طریق کابل USB به کامپیوترتان وصل کنید و دکمه Upload در محیط توسعه را کلیک کنید.
123869
آردوینو Uno
http://shop.aftabrayaneh.com/Arduino_Boards/Arduino_UNO_R3.html
قیمت در زمان درج این نوشته: 33.500 تومان.


قیمت کل قطعات سیستم مورد نیاز شما: 54.000 تومان (ارزانتر از یک ترموستات هوشمند)!

خوب این حالا چطور کد نویسی میشه؟
محیط توسعه اش رو از کجا تهیه کنیم؟
تشریف ببرید به سایت http://arduino.cc در بخش Downloads ، و محیط توسعه آن را دانلود کنید. لینک دانلود در لحظه درج این پست http://downloads.arduino.cc/arduino-1.0.6-windows.exe است، وقتی شما این پست را می خوانید ممکن است لینک فوق در دسترس نباشد، اما در بخش Downloads قطعا می توانید لینک آخرین نسخه را ببینید.

کدهاش چی؟
نمونه کدها و نحوه وصل کردن قطعات فوق به برد را از اینجا (http://forum.arduino.ir/8/21/139.html) و اینجا (http://forum.arduino.ir/8/21/274.html) دریافت کنید، 5 دقیقه وقت بگذارید و کدهای دو مثال فوق را ادغام کنید و تمام، تبریک می گویم، شما یک دماسنج هوشمند با امکان کنترل وسایل برقی خانه تان ساخته اید :متعجب: :قلب: :چشمک: :شیطان:

منبع برای مطالعه بیشتر:
https://www.google.com/search?q=what+is+embedded+programming&ie=utf-8&oe=utf-8

ABZiko
پنج شنبه 03 مهر 1393, 22:42 عصر
ممنون استاد کرامتی، اگر می دونستم این قدر برنامه نویسی embedded جالبه، از همون اول می اومدم این برنامه نویسی رو یاد می گرفتم، دو سوال دیگه هم داشتم :
1. زبان های مورد استفاده رو می شه بنویسید؟
2. این برنامه نویسی به صورت مستقیم با الکترونیک کار داره،درسته؟ (برای ربات سازی هم از این برنامه نویسی استفاده می شه؟)

مهدی کرامتی
جمعه 04 مهر 1393, 01:43 صبح
زبان های مورد استفاده رو می شه بنویسید؟
زبان هایی که عمدتا استفاده می شوند C و Basic هستند.


این برنامه نویسی به صورت مستقیم با الکترونیک کار داره،درسته؟
تقریبا.


برای ربات سازی هم از این برنامه نویسی استفاده می شه؟
بله.

همون آردوئینو یک مدل داره به اسم ArduRobot. بستگی داره ربات شما قراره چکار کنه. اکثر کارهایی که قراره انجام بدن توسط Arduino قابل انجامه.

naser-iran
پنج شنبه 04 دی 1393, 23:04 عصر
سلام استاد گرامی ایا زبان برنامه نویسی برای DVD ها و DVB-T و DVB-S و TV ها هم از این دست هستش