Arduino آردوینو

saalek110

Well-Known Member

آموزش ساخت ربات WiFi با آردوینو​


در این پروژه قصد داریم نحوه آموزش ساخت ربات با آردوینو باقابلیت کنترل از طریق گوشی تلفن همراه در قالب ارتباط wifi را آموزش دهیم.در این آموزش فرض بر این است که خواننده با آردوینو و برنامه نویسی آن به زبان C++ و برنامه نویسی در محیط Android Studio ‌و کدهای جاوا آشنا است . به همین دلیل از توضیحات اضافه در رابطه با مباحث پایه ای آردوینو و اندروید استودیو صرف نظر کرده ایم.

توصیف پروژه آموزش ساخت ربات با آردوینو​

در این پروژه هدف برقراری ارتباط بین گوشی تلفن و ربات وایفای است.در این پروژه از یک ربات ۲ موتوره که موتورهای آن از نوع DC هستند استفاده می شود . همچنین برای راه اندازی موتورهای این ربات نیاز به یک راه انداز یا درایور است که این درایور ماژول L298NLH است . ماژول ارتباط وایفای نیز ESP8266 است که از برد راه انداز آن یعنی NODEMCU 1.0 استفاده می شود .کدهای ماژول وایفای در محیط نرم افزار آردوینو و کدهای برنامه اندروید در محیط اندروید استودیو نوشته شده است.

قطعات مورد نیاز برای ساخت ربات وایفای با آردوینو :

  • شاسی ربات دوموتوره دارای گیربکس :
  • ماژول L298N
  • برد وایفای NODEMCU 1.0
  • سیم های جامپر برای اتصال بین قطعات
  • یک باتری کتابی ۹ ولتی (استفاده از باتری با ولتاژ بالاتر ممکن است به موتورها آسیب بزند- حد اقل ولتاژ برای راه اندازی ۶ ولت است)
a1.jpg

ماژول esp8266

ماژول های esp8266 انواع مختلفی دارند که اساس کارکرد آن ها شبیه به هم است .همچنین ورژن های مختلفی نیز از این ماژول در بازار وجود دارد که با یک پسوند بعد از esp8266 بیان می شود . استفاده از ماژول به تنهایی کار مشکلی است و برای راه اندازی آن نیاز به ولتاژ ۳.۳ ولت و قطعات دیگر برای راه اندازی و برنامه ریزی است.به همین دلیل برای استفاده از این ماژول در این پروژه از یک برد راه انداز به نام nodemcu 1.0 استفاده می شود که با قیمتی مناسب در بازار یافت می شود. ماژول مورد استفاده در این برد esp8266-12E است.این برد را دقیقا شبیه به یک برد آردوینو می توانید پروگرام و استفاده کنید.

a1.jpg
ترتیب پایه های ماژول برد NodeMcu به شرح زیر است :

a1.jpg
پین های سبز رنگ همان پین هایی است که در برنامه آردوینو استفاده می شود.

نحوه ارتباط بین اجزای مختلف مدار جهت ساخت ربات با آردوینو :

نحوه اتصال قسمت های مختلف مدار به یکدیگر
تغذیه ماژول یک باتری ۹ ولتی است که ابتدا وارد ماژول l298n می شود .بر روی L298N یک رگولتور +5V وجود دارد که برای تغذیه ماژول ESP8266 مورد استفاده قرار گرفته است .هر چند می توانید یک انشعاب از تغذیه +9V را به ماژول ESP8266 بدهید .

a1.jpg
ماژول درایور موتور برای کنترل سرعت و جهت چرخش موتور ها استفاده می شود . این ماژول ۴ خروجی (out1 ‌ تا out4 ) برای اتصال به موتورها و ۶ پین کنترلی برای اتصال به ماژول esp8266 ‌دارد که قابلیت کنترل دو موتور را دارد . نام این پین ها عبارت اند از:

  • IN1
  • IN2
  • EN1
  • IN3
  • IN4
  • EN2
سه پین اول برای کنترل موتور اول و سه پین دوم برای کنترل موتور دوم.IN1 و IN2 برای کنترل جهت و EN1 برای فعال کردن موتور است که باید به یکی از پین های PWM ماژول esp8288 وصل شود.

مثال: اگر IN1=0 و IN 2=1 باشد به محض یک شدن پین EN1 موتور شروع به چرخش در یک جهت می کند و به محض جابه جایی IN1 و IN2 جهت چرخش موتور عوض می شود. حال اگر EN1 به یک پین PWM وصل شود می توان دور موتور راکنترل کرد.
 
آخرین ویرایش:

saalek110

Well-Known Member
.......................................

ادامه پست قبل:
کدهای برنامه آموزش ساخت ربات با آردوینو
برای نوشتن برنامه ابتدا باید کدهای مربوط به هسته ماژول esp8288 را به برنامه آردوینو اضافه کنید . برای این منظور مراحل زیرا انجام دهید:


a1.jpg
۲- در فیلد مشخص شده عبارت زیر را وارد کنید و ok را بزنید.

http://digistump.com/package_digist...8266.com/stable/package_esp8266com_index.json

a1.jpg

۳-مطابق شکل زیر مراحل را دنبال کنید

a1.jpg

بر روی install کلیک کنید و منتظر بمانید تا فایل های مورد نیاز دانلود شود.پس از دانلود از نو آردوینو را اجرا کنید.
 
آخرین ویرایش:

saalek110

Well-Known Member
.......................................

ادامه پست قبل:

کدهای برنامه ماژول esp8266 در آردوینو

a1.jpg

نکته : ارتباط با ماژول esp8266 از طریق udp صورت می گیرد.

نکته : پورت ارتباطی 4210 است که می توانید آن را تغییر دهید . البته در صورت تغییر باید این پورت را در برنامه اندروید نیز تغییر دهید.



a1.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
.......................................

ادامه پست قبل:

a1.jpg


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

saalek110

Well-Known Member
.......................................

ادامه پست قبل:

a1.jpga2.jpga3.jpg
برای بارگذاری کدهای فوق ابتدا تنطیمات زیر را در آردوینو انجام دهید.
a6.jpg
 
آخرین ویرایش:

saalek110

Well-Known Member
.......................................

ادامه پست قبل:

کدهای اندروید در محیط Android Studio 2.0 نوشته شده است.فایل برنامه اندروید و دیگر فایل های پروژه در زیر آورده شده است که می توانید آن را دانلود کنید.

سالک: برای دانلود پروژه اندروید به سایت اصلی باید بروید ولی فایلهای کدش را اینجا ضمیمه کردم.
 

پیوست ها

  • code.zip
    2 کیلوبایت · بازدیدها: 0
آخرین ویرایش:

saalek110

Well-Known Member
arduino proteus projects را اگر سرچ کنید پروژه هایی پیدا می کنید.
 

saalek110

Well-Known Member
آردوینو (به انگلیسی: Arduino) یک پلتفرم سخت‌افزاری و نرم‌افزاری متن‌باز است. پلتفرم آردوینو شامل یک میکروکنترلر تک‌بردی متن‌باز است که قسمت سخت‌افزار آردوینو را تشکیل می‌دهد. علاوه بر این، پلتفرم آردوینو یک نرم‌افزار آردوینو IDE که به منظور برنامه‌نویسی برای بردهای آردوینو طراحی شده‌است و یک بوت لودر نرم‌افزاری که بر روی میکروکنترلر بارگذاری می‌شود را در بر می‌گیرد.[۱] پلتفرم آردوینو به منظور تولید سریع و ساده پروژه‌های سخت‌افزاری تعاملی و ساخت وسایلی که با محیط تعامل داشته باشند طراحی شده‌است،[۲] البته بردهای آردوینو اهداف آموزشی را نیز دنبال می‌کنند.

اغلب بردهای آردوینو که تمام آن‌ها سخت‌افزار متن‌باز هستند بر پایه میکرو کنترلر ای‌وی‌آر اتمل و تعداد کمی از بردهای آردوینو بر پایه میکروکنترلرهای آرم اتمل طراحی شده‌اند. به عنوان مثال برد آردوینو UNO که پرکاربردترین برد آردوینو و برد پایه آردوینو در اکثر دوره‌های آموزش آردوینو است و بر پایه میکروکنترلر AVR ATmega328 ساخته شده‌است، دارای رابط یواس‌بی جهت بارگذاری برنامه و ارتباط با کامپیوتر، ۶ پین ورودی آنالوگ و همچنین ۱۴ پین ورودی/خروجی دیجیتال است که شما را قادر می‌سازند تا برد آردوینو را به قطعات، سنسورها، بردها و ماژول‌های دیگری متصل کنید. تعداد ورودی خروجی‌های آنالوگ و دیجیتال در مدل‌های مختلف بردهای آردوینو با توجه به میکروکنترلر اصلی استفاده شده بر روی برد متفاوت است.



آردوینو می‌تواند جهت طراحی و ساخت سریع و آسان وسایل تعاملی مورد استفاده قرار گیرد. به عنوان مثال فرض کنید شما دوست دارید وسیله‌ای داشته باشید که با استفاده از گوشی موبایلتان بتوانید چراغ اتاقتان را خاموش و روشن کنید. یا دوست دارید زمانی که اتاق شما گرم می‌شود کولر اتاقتان روشن شود و شب‌ها که دمای اتاق پایین می‌آید کولر اتاق شما به صورت خودکار خاموش شود! این‌ها وسایل تعاملی هستند که آردوینو به ساخت سریع و بی درد سر آن‌ها کمک می‌کند. برد آردوینو می‌تواند مقادیر ورودی را از تعداد زیادی سنسور و کلید و… بخواند و بر اساس برنامه ای که درون آن بارگذاری شده‌است تصمیم بگیرد و خروجی خاصی که می‌تواند کنترل تعدادی لامپ، موتور و … را برای شما انجام دهد. آردوینو در سال ۲۰۰۵ به منظور ایجاد راهی ارزان و ساده برای برنامه‌نویسی اشیایی تعاملی ایجاد شد. آردوینو به همراه یک محیط یکپارچه توسعه نرم‌افزار (IDE) ساده ارائه می‌شود که در رایانه‌های عادی قابل اجرا است که اجازهٔ برنامه‌نویسی به کمک سی یا سی++ را برای آردوینو می‌دهد.[۳]

آردوینو می‌تواند پارامترهایی مانند نور محیط، کلیدها یا حتی یک ایمیل را به عنوان ورودی دریافت نماید و بعد از پردازش، خروجی‌هایی مانند روشن کردن یک وسیلهٔ برقی، تغییر رنگ LEDها یا ارسال یک ایمیل یا نظیر آن را ارائه دهد.[۴]

پلتفرم آردوینو شامل نرم‌افزار و سخت‌افزار متن باز می‌شود. سخت‌افزار آردوینو متشکل از بردهای مختلفی بر پایه میکرو کنترلرهای مختلف است که پر مصرف‌ترین سخت‌افزار آردوینو، Arduino UNO است که از میکرو کنترلر Atmega328 استفاده می‌کند و در بسیاری از پروژه‌های دانشجویی، رباتیک و پروژه‌های تحقیقاتی کاربرد دارد.
 

جدیدترین ارسال ها

بالا