پروژه های آردوینو

آموزش ها و پروژه های آردوینو

پروژه های آردوینو

آموزش ها و پروژه های آردوینو

ساخت پروگرامر AVR و برنامه ریزی میکروکنترلرهای AVR مثل ATmega328 و ATtiny85 روش های مختلفی دارد. یکی از این روش ها استفاده از برد بورد و تنظیمات ArduinoISP به همراه برد آردوینو است. اما این روش بهترین راهکاری نیست. اگر دنبال راهکار بهتری برای برنامه ریزی میکروکنترلرهای AVR می گردید، شیلد پروگرامر AVR را امتحان کنید. با الکتروپای همراه شوید.

شیلد پروگرامر AVR
شیلد پروگرامر AVR

شیلد پروگرامر AVR بسازید

در این  آموزش ساخت شیلد پروگرامر AVR را یاد می گیرید که برای برنامه ریزی انواع میکروکنترلرهای AVR کاربرد دارد. روش ساختش هم بسیار ساده است و ارزان تر از نمونه های آماده تمام می شود.

گام اول: وسایل مورد نیاز

شماتیک شیلد پروگرامر AVR

شماتیک شیلد پروگرامر AVR

  • پین سوکت ۲۸ تایی
  • پین سوکت ۸ تایی
  • پوش باتن
  • کریستال ۱۶MHz
  • LED قرمز
  • LED سبز
  • LED زرد
  • مقاومت مناسب برای LEDها (ما از دو مقاومت ۲۰۰ اهمی (برای قرمز و زرد) و یک مقاومت ۲٫۲ کیلواهمی (برای سبز) استفاده کردیم
  • مقاومت ۱۰ کیلواهمی
  • دو عدد خازن ۲۲pF
  • یک خازن ۱۰µF
  • هدر نر ۸ پین
  • هدر نر ۴ پین
  • هدر نر ۲ پین
  • هدر ماده ۱۴ پین
  • هدر ماده ۴ پین
  • سیم جامپر
  • کمی سیم رنگی

شماتیک مدار و فایل Fritzing را هم از لینک زیر دانلود کنید (رمز فایلelectropi.ir است).

گام دوم: استریپ برد را در اندازه مناسب ببرید

استریپ برد را ببرید

استریپ برد را ببرید

گام سوم: دو سیم مخفی شبیه تصویر اضافه کنید

سیم ها را اضافه کنید

سیم ها را اضافه کنید

گام چهارم: هدرها را اضافه کنید

پین هدرها را اضافه کنید

پین هدرها را اضافه کنید

چون نرم افزار Fritzing سوکت نداشت، برای نمایش سوکت ها از µC استفاده کردیم. در ضمن دقت کنید که سیم ها زیر سوکت هستند.

گام پنجم: سیم ها را اضافه کنید

سیم ها را اضافه کنید

سیم ها را اضافه کنید

گام ششم: مقاومت ها و دکمه ها را اضافه کنید

مقاومت ها و دکمه را اضافه کنید

مقاومت ها و دکمه را اضافه کنید

مقاومت ها را با توجه به پوزیشن LEDها اضافه کنید. دکمه هم برای ریست کردن یوسی لینوکس است.

گام هفتم: سایر قطعات را اضافه کنید

LED، خازن و کریستال را اضافه کنید

LED، خازن و کریستال را اضافه کنید

در این مرحله از ساخت شیلد پروگرامر AVR باید LEDها، خازن ها و کریستال را اضافه کنید.

گام هشتم: پین ها را خم کنید

شیلد پروگرامر AVR را به آردوینو وصل کنید

برای وصل کردن شیلد به آردوینو به روش زیر عمل کنید:

  • پین سمت راست بالایی: GND
  • پین سمت چپ پایینی: GND

اگر پین ها را درست خم کرده باشید، براحتی می توانید شیلد را روی آردوینو قرار بدهید. حالا می توانید آردوینو را با ArduinoISP برنامه ریزی کنید اما شیلد روی آردوینو قرار دارد و به همین خاطر می توانید یوسی لینوکس میکروکنترلرها را برنامه ریزی کنید. دقت کنید که از این شیلد می توانید هربار فقط با یک میکروکنترلر استفاده کنید و امکان برنامه ریزی همزمان میکروکنترلرها وجود ندارد.
این شیلد آردوینو در پروژه های آردوینو کارایی ندارد اما در پروژه هایی که با میکروکنترلرهای AVR ساخته می شوند، بسیار کارآمد است.

 

 

منبع: https://saakhtani.ir/archive/1395/12/54850

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ شهریور ۹۷ ، ۱۳:۰۲
هادی ندائی

سلام پروژه اتصال یک وسیله الکترونیکی به اینترنت و کنترل آن از طریق اینترنت همیشه برای من جذابیت داشته و دارد این اتصال با وجود تلگرام و امکانات بی نظیرش و ماژول ESP8266 به ساده ترین روش امکان پذیر است. قسمت اول پست اتصال ESP8266 به ربات تلگرام نحوه ایجاد این ربات تلگرام و اطلاعات کلی در مورد نحوه کارکرد آن  ارائه خواهیم کرد. 

ربات تلگرام چیست؟

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

برخی از ویژگی‌ها و محدودیت‌های ربات تلگرام:

  • ربات‌ها معمولاً فضای محدودی برای ذخیره‌سازی پیام‌های شما دارند و معمولاً پیام‌های پردازش‌شده پاک می‌شوند.
  • ربات‌ها نمی‌توانند شروع‌کننده‌ی مکالمه باشند و باید حتماً از سمت شما درخواستی برای پردازش به آن‌ها ارسال شده باشد.
  • در انتهای نام کاربری هر ربات باید کلمه bot وجود داشته باشد که مشخص‌کننده‌ی ربات بودن آن حساب کاربری است.
  • ربات‌های تلگرام هرگز خسته و غیرفعال نمی‌شود ولی شما به‌راحتی می‌توانید آن‌ها را برای خود غیرفعال کنید.
  • ربات‌ها با اضافه شدن به گروه‌ها و کانال‌ها قادر به خواندن پیام‌ها نیستند مگر آن‌که تنظیمات آن را تغییر داده باشید.
  • ربات‌ها تعداد محدودی پیام در روز می‌توانند ارسال کنند.
  • ربات‌ها زمان آخرین بازدید را ندارند و به جای آن Bot نمایش داده می‌شود.

ربات تلگرام چه کارهایی را می‌تواند انجام دهد؟

وقتی می‌پرسیم که با آردوینو چه کارهایی می‌توان انجام داد، باید بگوییم که هیچ محدودیتی وجود ندارد؛ تنها محدودیتِ موجود میزان خلاقیت شماست. ربات تلگرام نیز هیچ محدودیتی در پیاده‌سازی ایده‌ها و کاربردها ندارد و هر آنچه که برای آن پیاده‌سازی شده باشد را قادر است انجام دهد.

چگونه یک ربات تلگرام بسازم؟

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

بعد از ارسال دستور start، ربات پدرخوانده لیستی از دستورات قابل‌اجرا را برای شما ارسال می‌کند.

همان‌طور که در عکس فوق هم مشخص است برای ساخت یک ربات جدید باید دستور زیر را به ربات پدرخوانده بفرستیم:

ربات پدر‌خوانده با دریافت دستور newbot از شما نام کاربری ربات موردنظر را سؤال می‌کند. دقت داشته باشید نام کاربری با نام ربات فرق دارد و نام کاربری ربات شما حتماً در انتها باید دارای bot باشد. اگر نام کاربری را بدون bot در انتها وارد کنید، ربات پدرخوانده پیام زیر را نمایش می‌دهد:

بعد از وارد کردن صحیح نام کاربری درصورتی‌که مشکلی وجود نداشته باشد ربات موردنظر توسط ربات پدرخوانده ایجاد می‌شود و یک کلید دسترسی به شما داده می‌شود. با استفاده از این کلید می‌توانید ربات خود را مدیریت کنید؛ پس دقت داشته باشید که این کلید دسترسی را ذخیره کنید و در اختیار همه قرار ندهید چرا‌ که هر‌ کسی که این کلید را داشته باشد قادر به کنترل ربات خواهد بود.

در این مرحله فقط کلید ارسال‌شده را ذخیره کنید در ادامه توضیح خواهیم داد که چطور می‌توان با استفاده از آن به ربات متصل شد.

ربات تلگرام چطور کار می کند؟

قبل از این‌که توضیح بدهیم که چطور می‌توانیم ربات موردنظرمان را به آردوینو یا هر سخت‌افزار دیگری وصل کنیم، بهتر است در خصوص اتفاقاتی که درون هسته‌ی یک ربات می‌افتند صحبت کنیم.

وقتی‌که شخصی به ربات شما پیام ارسال می‌کند، پیام کاربر درون سرور تلگرام ذخیره می‌شود و تلگرام بسته به متد مورد‌استفاده‌ی شما (Web Hook یا Long Polling) برای برقراری ارتباط با سرور تلگرام، پیام کاربر را در قالب خاصی برای شما ارسال می‌کند و شما بعد از پردازش داده‌های ارسالی، پاسخ خود را در قالب مشخصی برای سرور تلگرام ارسال می‌کنید و تلگرام داده‌های دریافتی را برای کاربر ارسال می‌کند.

سرورهای تلگرام به‌عنوان واسط بین کاربر و هسته‌ی پردازشی ربات قرار می‌گیرند. این باعث می‌شود که هسته‌ی پردازشی، آدرس آی پی کاربر را نداشته باشد و امنیت ارتباط بالا برود.

دو روش برای برقرار ارتباط با سرورهای تلگرام وجود دارد: روش اول که توسط خود تلگرام نیز توصیه می‌شود روش Web Hook است. در این روش هر وقت ربات شما پیام جدیدی داشته باشد خود سرور تلگرام پیام را برای شما ارسال می‌کند. در این روش داشتن آدرس آی پی اختصاصی و مجوز SSL الزامی است. تهیه‌ی این دو پارامتر هزینه‌بر است و نمی‌توان از آن در همه‌ی کاربردها استفاده کرد. ما قرار است در این آموزش برد آردوینو را به ربات تلگرام متصل کنیم. قاعدتاً تهیه آی پی استاتیک برای برد آردوینو کار دشواری است. از طرفی پیاده‌سازی پروتکل SSL خود به‌تنهایی کاری بسیار پیچیده است.

در این آموزش ما از متد Long Polling استفاده می‌کنیم. در متد Long Polling سرور تلگرام چیزی به ما نمی‌دهد بلکه ما باید مدام از سرور استعلام کنیم و ببینیم آیا پیام جدیدی برای پردازش وجود دارد یا خیر! در صورت وجود پیام جدید آن را پردازش می‌کنیم و به سرور ارسال می‌کنیم. در این روش نیازی به داشتن آی پی استاتیک یا مجوز SSL نیست و به‌راحتی می توان با سرور ارتباط برقرار کرد.

چگونه به سرور وصل شویم؟

همان‌طور که گفتیم برای اتصال به سرورهای تلگرام ما از روش Long Polling استفاده خواهیم کرد. در این روش اول لازم است که یک آدرس ایجاد کنیم و بعد با مراجعه به آدرس، عملیات موردنظر خود را انجام دهیم.

برای کنترل ربات تلگرام باید از متدهای معرفی‌شده توسط تلگرام استفاده کنیم. هر یک از این متدها ورودی و خروجی‌های خاص خود را دارند. برای ارسال پارامترهای موردنیازِ هر متد می‌توان از روش POST یا GET استفاده کرد.

جهت سادگی بیشتر ما از متد GET برای ارسال پارامترها استفاده خواهیم کرد. در این روش پارامترهای موردنظر در URL قرار می گیرند.

در مثال فوق با استفاده از متد GET، متغیر p مقدار 26112 را دریافت کرده و به سرور سیسوگ ارسال شده است.

برای این‌که بتوانیم به سرور تلگرام بگوییم که قصد چه کاری را داریم و قرار است در مورد کدام ربات صحبت کنیم نیاز است که URL منحصربه‌فردی بسازیم که دربردارنده‌ی این اطلاعات باشد. برای ساخت این URL باید مثل الگوی زیر رفتار کنیم:

<token> همان کلیدی است که ربات پدرخوانده بعد از ایجاد ربات برای ما ارسال کرده است. دقت داشته باشید که نباید هیچ فاصله‌ای وجود نداشته باشد و تمام فاصله‌ها حذف شوند.

METHOD_NAME هم در واقع متدی است که قصد فراخوانی آن را داریم. لیست متدهای مجاز را می توانید دروب‌سایت تلگرام مشاهده کنید. درصورتی‌که متد موردنظر دارای پارامتر باشد، پارامتر های آن را در انتها وارد می کنیم.

فرض کنید می‌خواهیم متد getMe را برای رباتی که ساختیم فراخوانی کنیم.

با توجه به توضیحات ارائه‌شده در سایت تلگرام این متد هیچ پارامتر ورودی ندارد و در خروجی، داده‌ها را در قالب شیء User برمی‌گرداند.

همان‌طور که می‌بینید شیء User دارای مشخصات اولیه اعم از اسم، یوزر و زبان ربات است.

با توجه به توضیحات ارائه‌شده، ابتدا URL موردنظر خود را می سازیم، بعد آن را درون مرورگر وارد میکنم و سرور تلگرام خروجی را برای ما ارسال خواهد کرد:

بعد از فراخوانی آدرس فوق در مرورگر، سرور تلگرام اطلاعات مربوط به ربات را برای ما ارسال می‌کند:

منبع

د

۰ نظر موافقین ۰ مخالفین ۰ ۰۱ شهریور ۹۷ ، ۱۸:۱۹
هادی ندائی