How to upload Code to ESP8266

:Step 1:

put this URL on your ardunio ide at following address

File->preferences->Additional Boards Manager URLs

URL:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Step 2:

go to Tools->Board->Board Manager

and search ESP8266

then install last version esp8266 board manager

Connect ESP8266 with usb to computer and then select PORT

upload and DONE

پرینتر سه بعدی

پرینتر سه بعدی دستگاهی است که می تواند اشکال سه بعدی بسازد.جنس این اشیا معمولا پلاستیک از نوع pla ,abs می باشد.pla راحت تر چاپ می شود و در درجه حرارت حدود 170-190 درجه و abs در دمای 230-250 درجه اکسترود می شود.اسکترود شدن خارج شدن مواد از نازل پرینتر سه بعدی است.نازل پرینتر سه بعدی دارای هیتری برای گرم کردن آن آست و یک سنسور حرارت نیز به آن متصل است که بشود دمای نازل را کنترل کرد.نرم افزار های مختلفی برای ساخت اشکال سه بعدی هست و راحتترین و در دسترس ترینش 3D Builder است که به صورت پیش فرض در برنامه های ویندوز 10 موجود هست.البته پرینترهای سه بعدی برای کسانی که در حال تولید و خلق محصول جدید هستند و دایم در حال اجرای ایده های خود هستند و برای نمونه سازی فوق العاده هستند.

کوادکوپتر دست ساز

با توضیحاتی که در قبل داده شد،یک کواد کوپتر ساخته شد،

بدنه با پرینتر سه بعدی پرینت شده

4 عدد ماسفت IRF520

4 عدد موتور DC N20

آردینو ESP8266

دو باتری 18650 3.7 ولت

4 مقاومت

4 دیود

این کواد کوپتر ابتدایی توسط وای فای کنترل میشود،توسط سوکت از طریق اتصال به وای فای به نرم افزار سرور که به زبان C# نوشته شده متصل می شود و فرمان میگیرد.

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

استپر موتور چیست

استپر موتور، موتوری هستند که می توان سرعت آن ها را کنترل نمود،این موتور ها با القای جریان مقناطیسی حرکت به صورت استپ به استپ یا مرحله به مرحله دارند.

استپر موتور ها معمولا 4 سیسم و بالاتر هستند و اگر شما به استپر موتور جریان برق را متصل کنید شافت آن که قرار است بچرخد فقط سفت می شود و با دست نمی توانید آن را راحت تکان بدهید. نهایتا به اندازه استپ حرکتی مکاینیکی آن حرکت خواهد کردو مثلا استپر موتور با زاویه چرخش 1.8 درجه ، در هر بار وصل جریان حداکثر 1.8 درجه خواهید چرخید،اما اگر جریان را به صورت اصولی و با درایور مخصوص استپر موتور به آن بدهید ، استپ ها پشت سر هم قرار خواهند گرفت و مثل یک موتور معمولی می چرخد و شما متوجه قطعی های ریز بین استپ ها نمیشید.غیر از این درجه تعریف شده برای هر استپر موتور بعضی درایور ها می توانند هر استپ مکانیکی موتور را به استپ های کوچکتر تقصیم کنند،مثلا DRV8266 میتواند هر استپ را به 32 قسمت تقسیم کند،یعنی استپر موتور شما که هر دور 360 را با 200 استپ طی میکند،با این درایور هر دو را با 6400 استپ طی خواهد کرد.حالا تاثیر آن درایور در دقت موتور میباشد.مثلا اگر شما بخواهید استپر موتوری که هر استپ آن 1.8 درجه است و شما بخواهید 1 درجه حرکت کند چه باید بکنید؟ این درایور دقت حرکت و کنترل استپر موتور را تا 0.05 درجه بالا می برد.

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

در انواع پرینتر های سه بعدی و دستگاه های سی ان سی و … از همین موتور ها استفاده می شود.

فرض کنید شما می خواهید یک بالابر بسازید

کد روشن و خاموش کردن LED با ARDUINO


تعریف پین فرمان یا پایه ای که قرار است روی آن کار کنیم ;int led = 13
تابع تنظیمات } () void setup
مشخص نمودن ماهیت پین مد نظر به عنوان خروجی ;pinMode(led, OUTPUT)
{

تابع تکرار } () void loop


این تابع نوشتن دیجیتال است و خروجی آن یا بصورت وصل یا قطع است،مقدار اولیه آن مربوط به پین مد نظر هست و مقدار دوم آن HIGH یا LOW به معنای وصل/قطع جریان در پین هست.

; digitalWrite(led, HIGH)

تابع تاخیر،و مقدار آن بر اساس میلی ثانیه میباشد و زمانی که برنامه به این خط می رسد به اندازه زمانی که نوشته اید تاخیر خواهد کرد .هر 1000 میلی ثانیه برابر یک ثانیه میباشد
;delay(1000)


;digitalWrite(led, LOW)
;delay(1000)
{

ARDUNO IDE چیست

ARDUINO IDE نرم افزاری برای برنامه نویسی آدرینو است.

حجم آن کمتر از 200 مگابایت است و قابلیت دریافت پلاگین ها نرم افزار را به صورت آنلاین دارد.

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

پوشه ی Library که محتوی پلاگین ها درون آن بارگیری می شود، درون پوشه Documents کامپیوتر شما و Arduino قرار دارد.شما می توانید لایبری را جداگانه دانلود کنید و در این مسیر قرار دهید تا بتوانید از آن ها استفاده کنید.

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

برای انتقال برنامه به برد آردینو باید در قسمت Tools ->Board بورد آردینو مورد نظر را انتخاب کنید تا بتوانید کد را در آردینو Upload نمایید.

و حتما از قسمت Tools->Port پورت آریدنو متصل را انتخاب نمایید.

برنامه های آردینو از دو تابع setup و loop تشکیل شده است.

درون setup کد های پیش فرض یا اولیه را قرار میدهیم.این تابع یک بار هنگام روشن شدن اجرا می شود.

درون loop دستوراتی که باید مربتا انجام گیرند.این تابع مرتبا اجرا میشود.

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


ESP8266 چیست

ESP8266 یک میکرو کنترلر است که همراه با چیپ وای فای ارائه شده،

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

برای انجام پروژه هایی کنترل بیسیم عالی است،مثل ماشین کنترلی یا کواد کوپتر و …

ماسفت چیست

ماسفت ها ترانزیستور هایی هیتند که توان بالایی دارند و کارش معمولشان به این صورت است که در مسیر مثبت (P-CHANNEL) یا در مسیر منفی (N-CHANNEL) قرار می گیرند و توانایی این را دارن که خروجیشان را محدود کنند،

برای مثال شما می خواهید موتور 12 ولت را با سرعت کمتر حرکت دهید یا اینکه مقدار نور ال ای دی را کم کنید.

ماسفت ها سه پایه دارند ،

سروس که به منبع تغذیه متصل می شود

درین که خروجی ماسفت است و به موتور یا ال ای دی متصل می شود

گیت که به خروجی آردینو متصل می شود

مقدار جریانی که به گیت میدهید مقدار خروجی یا همان درین را تعیین میکند.

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

برای مثال رمانی که شما به ماسفتی ورودی 12 ولت می دهید و گیت را توسط میکرو کنترلر 5 ولت جریان بدهید ، در خورجی مسافت یا درین ولتاژ 12 ولت خواهید داشت،و مثلا اگر 2.5 ولت جریان توسط آردینو به گیت مسافت بدهید،خروجی مسافت یا درین حدودا 7 ولت خواهد بود.(مقدار تقریبی است و فقط جهت روشن شدن عملکرد است)

رگولاتور – رگلاتور چیست

رگولاترها برای تثبیت جریان استفاده می شوند.

برای مثل شما منبع تغذیه بین 6-12 ولت دارید و میخواهید با آن به میکرو کنترل خود یا هر وسیله برقی دیگر ولتاژی معادل 5 ولت اعمال کنید.

برای این کار یم رگولاتور 7805 استفاده میکنید.

رگولاتور خروجی دقیقا 5 ولت به شما خواهد داد.

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

میکرو کنترل های معمول که برای کارهای پژوهشی و آزمایشی ارائه می شود،دارای یک مبدل USB به TTL هستند.کار از مبدل انتقال اطلاعات و تبدیل آن از کامپیوتر به میکرو کنترلر است.زمانی که شما میکرو کنترلری را برنامه ریزی میکنید دیگر نیازی به مبدل ندارید.

نرم افزاری که شما میتوانید توسط آن برنامه دلخواه خود را نوشته و روی میکروکنترلر نصب کنید ARDUINO IDE نام دارد.

معمول ترین برد آردینو، ARDUINO UNO R3 میباشد که میکرو کنترل ATMEGA328P در آن بکار رفته است.

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