فهرست مطالب:

همه کاره NearBot: 11 مرحله (همراه با تصاویر)
همه کاره NearBot: 11 مرحله (همراه با تصاویر)

تصویری: همه کاره NearBot: 11 مرحله (همراه با تصاویر)

تصویری: همه کاره NearBot: 11 مرحله (همراه با تصاویر)
تصویری: نماهنگ همه کاره حیدر از سجاد محمدی | مداح تی وی 2024, جولای
Anonim
Image
Image

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

این پروژه نیازی به لحیم کاری یا ابزار خاصی ندارد

اگر از این دستورالعمل ها به اندازه کافی لذت می برید ، لطفاً در مسابقه Robotics 2017 به این آموزش رای دهید!

مرحله 1: قطعات سخت افزاری را بدست آورید

شما نیاز خواهید داشت:

  • NodeMCU v2 یا V3
  • Micro 9G Servo Motor حدود 1.40 دلار ارسال رایگان در eBay یا Aliexpress
  • سیم آردوینو بلوز زن به مرد.
  • پوسته ای برای NearBot - من از یک جعبه پلاستیکی ضایعاتی که پیدا کردم استفاده کردم.
  • کابل داده Micro USB (قراضه قطعات تلفن)
  • منبع تغذیه USB (شارژر تلفن قراضه)

اگر تلفن هوشمندی با قابلیت hotspot تلفن همراه ندارید ، به موارد زیر نیز نیاز خواهید داشت:

  • ماژول ESP-01 حدود 2.50 دلار ارسال رایگان در DealExtreme ، GearBest ، Ebay یا Aliexpress.
  • 1 جفت باتری AAA
  • دارای دو عدد نگهدارنده باتری AAA با کلید

مرحله 2: شروع سریع

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

// لیست خرید: // میکروکنترلر NodeMCU V3 (Lolin) ESP8266

// سرو موتور SG90 9G

// USB پاور بانک یا آداپتور دیواری USB.

// میکرو USB داده/کابل شارژ

// سیمهای بلوز آردوینو از نوع نر به ماده

//قبل از اینکه تو شروع کنی:

// 1 اگر قبلاً Arduino IDE را بارگیری نکرده اید ، آن را به صورت رایگان (اهدا اختیاری) در آدرس زیر دریافت کنید:

// 2 Arduino IDE را باز کنید (اگر قبلاً این را در Arduino IDE نمی خوانید!)…

// 3 به فایل ها بروید و روی ترجیحات در Arduino IDE کلیک کنید…

// 4. کد زیر را در مدیر تابلوهای اضافی کپی کنید: //https://arduino.esp8266.com/stable/package_esp8266com_index.json

// 5. روی OK کلیک کنید تا برگه ترجیحات بسته شود…

// 6. به ابزارها و برد بروید و سپس مدیر برد را انتخاب کنید…

// 7 توسط esp8266 community به esp8266 بروید و نرم افزار Arduino را نصب کنید…

// 8. اگر نتوانستید NodeMCU را با Arduino IDE خود صحبت کنید ، باید درایور CH340 را بارگیری و نصب کنید:

// پس از اتمام تمام مراحل فوق ، می خوانیم تا میکروکنترلر esp8266 NodeMCU خود را با Arduino IDE برنامه ریزی کنیم.

//9. NodeMCU V1.0 ESP12E را از منوی برد انتخاب کنید /

/10 پورت COM مورد استفاده خود را انتخاب کنید.

// 11 کد را انتخاب کنید (از www.makersa.ga بارگیری کنید) و روی بارگذاری کلیک کنید. /

/12 سروو را با استفاده از سیم های بلوز به NodeMCU وصل کنید. D0 به سیگنال ، زمین به زمین ، +VCC به VO یا 3V. /

/13 بوق سرو را با استفاده از پیچ گوشتی تنظیم کنید.

// 14. حداکثر و حداقل درجه حرکت را با استفاده از کد تنظیم کنید.

// 15. هر زمان که کد به روز شد ، دوباره در NodeMCU بارگذاری کنید.

// ممکن است برای شما مهم باشد که بفهمید کدام نسخه NodeMCU را دارید. در اینجا یک راهنمای مقایسه وجود دارد:

frightanic.com/iot/comparison-of-esp8266-no… // نمودار pinout NodeMCU v1: https://frightanic.com/iot/comparison-of-esp8266-no… // نمودار pinout NodeMCU v2: https://frightanic.com/iot/comparison-of-esp8266-no… // نمودار pinout NodeMCU v3:

// توضیح دکل ها:

// ساخته شده از میکروکنترلر NodeMCU ESP8266 ، منبع تغذیه باتری یا USB و SG90 Servo

// می توانید به جای استفاده از تلفن هوشمند ، از ماژول esp8266 اصلاح نشده دوم به عنوان استفاده از تلفن هوشمند استفاده کنید ، بدون نیاز به برنامه نویسی.

مرحله 3: قطعات نرم افزاری را بدست آورید

ابتدا باید Arduino IDE رایگان را بارگیری کنید

در حال نوشتن این مقاله ، Arduino Web Editor با NodeMCU کار نمی کند ، بنابراین شما باید IDE را به رایانه خود نصب کنید.

همچنین باید فایلهای NearBot را از www. MakerSa.ga بگیرید - پیوند بارگیری فایل این پروژه در آن سایت ذکر شده است.

مرحله 4: درایورها و نمایه های برد را نصب کنید

برخی اطلاعات مفید
برخی اطلاعات مفید

در داخل فشرده NearBot که بارگیری کرده اید و از حالت فشرده خارج شده اید ، درایورهای ماژول NodeMCU وجود دارد. آنها را روی رایانه خود نصب کنید.

اگر این موارد برای شما کار نمی کند ، ممکن است بتوانید درایورهای CH340G را در wemos.cc/downloads پیدا کنید.

ممکن است NodeMCU شما از تراشه CH340G استفاده نکند ، بنابراین ممکن است لازم باشد درایور مورد نظر خود را کامنت کنید ، و من با پیوند بارگیری آن درایور پاسخ می دهم.

  1. سپس ، Arduino IDE را باز کرده و به File PreferencesAdditional Boards Manager در Arduino IDE بروید.
  2. کد زیر را در آنجا بچسبانید:
  3. روی OK کلیک کنید تا برگه ترجیحات بسته شود.
  4. به ابزارها و برد بروید و سپس مدیر برد را انتخاب کنید.
  5. به "esp8266 by esp8266 community" بروید و نرم افزار Arduino را نصب کنید.

پس از اتمام تمام مراحل فوق ، ما آماده برنامه ریزی میکروکنترلر esp8266 NodeMCU خود با Arduino IDE هستیم!

مرحله 5: برخی اطلاعات مفید

برخی اطلاعات مفید
برخی اطلاعات مفید
برخی اطلاعات مفید
برخی اطلاعات مفید

ممکن است برای شما مفید باشد که بفهمید کدام نسخه NodeMCU را دارید. در اینجا یک راهنمای مقایسه وجود دارد:

frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/

هر نسخه دارای تنظیمات مختلف پین است. من نسخه v3 (Lolin) را خریدم زیرا دارای پین های خروجی 5V برای تغذیه موتور سروو است. در نهایت من به جای آن از پین های برق 3 ولت برای ایمنی استفاده کردم (پین های ورودی/خروجی NodeMCU 5 ولت تحمل ندارند) ، اما ممکن است بخواهید از پین های 5 ولت استفاده کنید زیرا از نظر فنی این نوع سرو موتورها برای توان 4.5 تا 5 ولت تعیین شده اند.

مرحله 6: کد را در NodeMCU بارگذاری کنید

کد را روی NodeMCU بارگذاری کنید
کد را روی NodeMCU بارگذاری کنید
کد را روی NodeMCU بارگذاری کنید
کد را روی NodeMCU بارگذاری کنید
  1. NodeMCU را با استفاده از هر کابل میکرو USB به رایانه خود وصل کنید.
  2. Arduino IDE را باز کرده و در بخش "Boards" ، "ESP12E" و پورت COM را برای NodeMCU انتخاب کنید.
  3. در IDE ، به FileOpen رفته و پوشه zip را که قبلاً از makersa.ga بارگیری شده است مرور کنید تا طرح Arduino به نام "ProximityActuator013017DonovanMagryta.ino" باز شود.
  4. سپس ، خط کد حاوی این را ویرایش کنید تا نام و رمز عبور چراغ فای خود را اضافه کنید. بیشتر در مورد آن در زیر! مثلا:

const char* ssid = "mywifi"؛ // نام نقطه اتصال خود را در داخل نقل قول ها قرار دهید

const char* رمز عبور = "mywifipassword"؛ // گذرواژه هات اسپات خود را در داخل نقل قول ها قرار دهید

سپس روی "بارگذاری" کلیک کنید تا کد روی برد NodeMCU فلش شود.

NearBot از یک چراغ فای جیبی برای شناسایی شما و برآورد فاصله استفاده می کند. درست مانند کلیدهای مجاورت برخی از اتومبیل های جدیدتر که قفل درب ماشین را هنگام نزدیک شدن به شما باز می کنند.

می توانید از نقطه اتصال تلفن همراه خود به عنوان چراغ راهنما استفاده کنید ، یا از یک ماژول ارزان ESP-01 WiFi استفاده کنید که از یک جفت باتری AAA یا یک باتری کوچک لیتیوم 3.7 ولت تغذیه می کند. نیازی به برنامه نویسی ESP-01 نیست ، هنگامی که روشن است ، حالت پیش فرض به حالت hotspot می رسد. نمودار مدار برای آن در این مرحله نشان داده شده است.

مرحله 7: Servo را به NodeMCU وصل کنید

برای اتصال سروو به NodeMCU V3 به سیم های بلوز نیاز دارید.

نمودار مدار ساده است.

پین D0 را به سیگنال سربی (روشن ترین سیم رنگی روی سروو. معمولاً زرد یا سفید).

پین 3V یا پین VO را به سربی ورودی 5V (دومین سیم روشن ترین رنگ روی سروو ، معمولاً قرمز یا نارنجی).

GND را به سرب زمین محکم کنید (سیم تیره ترین رنگ روی سروو ، معمولاً قهوه ای یا سیاه است).

مرحله 8: تنظیم دقیق NearBot

کد قدرت سیگنال را به تخمین فاصله تبدیل می کند. برای فواصل واکنش کمتر از 2 متر یا 6.5 فوت قابل اعتماد عمل می کند. از آنجا که تبدیل مستقیم است ، برای مسافتهای بیشتر از 3 متر به همان اندازه صاف نیست که می تواند با روش محاسبه بهتر انجام شود. بعداً در مورد آن بیشتر توضیح دهید.

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

قسمت بعدی تنظیم حداکثر و حداقل درجه حرکت با استفاده از کد است.

این را می توان با تغییر اعداد موجود در خطوط به شکل زیر انجام داد:

myservo.write (10)؛ // بازوی سروو را به چرخش 10 درجه منتقل می کند

همچنین می توانید حساسیت قدرت سیگنال را با تغییر اعداد منفی در خطوط به شکل زیر تنظیم کنید:

if (rssi> -30 && rssi <-5) {// اگر قدرت سیگنال از -30 قوی تر و ضعیف تر از -5 باشد. سپس موارد زیر را انجام دهید…

مرحله 9: چگونه کار می کند

  1. NearBot ابتدا با نزدیک شدن کاربران به هات اسپات متصل می شود.
  2. RSSI (قدرت سیگنال دریافتی) را اسکن می کند و آن را به فاصله تقریبی تبدیل می کند.
  3. در حالی که فاصله در محدوده مشخص شده است ، بازوی سرو موتور را به موقعیت 1 منتقل می کند.
  4. در غیر این صورت ، سرو موتور به موقعیت 2 منتقل می شود.

وقتی این را آزمایش کردم ، این تنظیم RSSI (-50) سروو را به موقعیت 1 منتقل می کند در حالی که فاصله 0 تا 1.5 متر با چراغ ESP-01 یا نقطه تلفن در جیب من است.

RSSI معمولاً در محدوده 90- تا -20 قرار می گیرد ، که -20 قوی ترین قدرت سیگنال است.

اگر Arduino IDE Serial Monitor را در حالی که NearBot به کامپیوتر وصل است باز کنید ، قدرت سیگنال و نقاط ماشه را در زمان واقعی برای شما بازخورد مفید نشان می دهد.

این هم کد کامل:

//قبل از اینکه تو شروع کنی:

// 1 اگر قبلاً Arduino IDE را بارگیری نکرده اید ، آن را به صورت رایگان (اهدا اختیاری) در آدرس زیر دریافت کنید: https://www.arduino.cc/fa/Main/Software // 2. Arduino IDE را باز کنید (اگر قبلاً این را در Arduino IDE نمی خوانید!)… // 3. به پرونده ها بروید و روی ترجیح در Arduino IDE… // 4 کلیک کنید. پیوند زیر را در مدیر تابلوهای اضافی کپی کنید: //https://arduino.esp8266.com/stable/package_esp8266com_index.json // 5. روی OK کلیک کنید تا برگه ترجیحات بسته شود… // 6. به ابزارها و برد بروید و سپس مدیر برد را انتخاب کنید … // 7. توسط esp8266 community به esp8266 بروید و نرم افزار Arduino… // 8 را نصب کنید. اگر نتوانستید NodeMCU را با Arduino IDE خود مکالمه کنید ، باید درایور CH340 را بارگیری و نصب کنید: https://www.arduino.cc/fa/Main/Software // پس از اتمام تمام مراحل فوق ما بخوانید تا میکروکنترلر esp8266 NodeMCU ما با Arduino IDE برنامه ریزی شود. ممکن است بخواهید دریابید که کدام نسخه NodeMCU را دارید. در اینجا یک راهنمای مقایسه وجود دارد: https://www.arduino.cc/fa/Main/Software // ساخته شده از میکروکنترلر NodeMCU ESP8266 ، منبع تغذیه باتری یا USB و SG90 Servo // می توانید از دومین ماژول اصلاح نشده esp8266 به عنوان چراغ راهنما استفاده کنید. hotspot AP به جای استفاده از تلفن هوشمند. // مدار NearBot: // پین D0 به سیم سیگنال سروو (روشن ترین رنگ سیم) // پین 3 ولت به سیم سروو 5 ولت (سیم میانی) (به موازات کابل usb یا پین VO در NodeMCU در صورت داشتن V3. / /پریز برق USB به USB در NodeMCU // پین GND به سیم Servo Ground (سیم تیره ترین رنگ) // خطوط توجه با دو خط جلو شروع می شود و توسط رایانه ها نادیده گرفته می شود. یادداشت ها فقط برای ما انسان ها است! #شامل #شامل // ممکن است برای چاپ سریال مورد نیاز باشد. (داده) #تعریف D3 0 #تعریف D4 2 // همان "LED_BUILTIN" ، اما منطق معکوس #تعریف D5 14 // گذرگاه SPI SCK (ساعت) #تعریف D6 12 // SPI Bus MISO #define D7 13 // SPI Bus MOSI #define D8 15 // SPI Bus SS (CS) #define D9 3 // RX0 (Serial console) #define D10 1 // TX0 (Serial console) Servo myservo ؛ // ایجاد یک شیء سروو با نام myservo // تلفن یا ماژول ESP8266 اضافی روی حالت AP نقطه hotspot تنظیم شده است: const ch ar* ssid = ""؛ // نام نقطه اتصال خود را در داخل quotes const char* password = ""؛ // گذرواژه hotspot خود را در داخل quotes void setup () {Serial.begin (115200) قرار دهید ؛ // سرعت باود سریال را تنظیم می کند تا میکروکنترلر بتواند با رابط چاپ سریال در Arduino IDE صحبت کند - ممکن است لازم باشد آن را به 9600 تغییر دهید! myservo.attach (D0)؛ // سروو را روی پین D0 یا GPIO16 به شیء سروو متصل می کند - اطلاعات بیشتر را در: https://www.esp8266.com/viewtopic.php؟f=32&t=8862#… myservo.write (10) ببینید ؛ // بازوی سروو را به چرخش 10 درجه منتقل می کند Serial.println ("قفل شده است") ؛ // خروجی مانیتور سریال کلمه "Locked" WiFi.mode (WIFI_STA) ؛ // wifi را در حالت ایستگاه WiFi.begin (ssid ، گذرواژه) تنظیم می کند ؛ // متصل به هات اسپات beacon} void loop () {// این حلقه به سرعت بارها و بارها اجرا می شود اگر (WiFi.status ()! = WL_CONNECTED) {// اگر wifi متصل نیست ، موارد زیر را انجام دهید … Serial.println ("اتصال Wi -Fi برقرار نشد")؛ myservo.write (10)؛ // بازوی سروو را به 10 درجه Serial.println ("قفل شده") منتقل می کند. } else {// اگر WiFi متصل است ، موارد زیر را انجام دهید… long rssi = WiFi. RSSI ()؛ // متغیری با نام rssi ایجاد می کند و آن را به تابع اختصاص می دهد که خواندن قدرت سیگنال چراغ هات اسپات را بر می گرداند Serial.print (rssi) ؛ // اگر rssi> -50 && rssi <-5) {// rssi خواندن rssi را در مانیتور سریال پخش می کند {// اگر قدرت سیگنال از -50 قوی تر و ضعیف تر از -5 باشد. سپس موارد زیر را انجام دهید … myservo.write (170)؛ // چرخ سروو را به 170 درجه بچرخانید Serial.println ("Unlocked") ؛ } else {// اگر شرایط فوق برآورده نشد ، موارد زیر را انجام دهید … myservo.write (10)؛ // بازوی سروو را به 10 درجه می چرخاند. Serial.println ("قفل شده") ؛ }}}

گام دهم: باید بدانید…

سلب مسئولیت:

تکرار فعلی کد NearBot در فواصل کمتر از 2 متر یا 6.5 پا به طور قابل اعتماد کار می کند. فراتر از آن ، دقت آن کمتر می شود ، اما هنوز کار می کند.

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

این پیوندها ممکن است مفید باشند: YouTuber CNLohr یک سیستم عامل تشخیص فاصله و موقعیت برای ESP8266 با موفقیت محدود ایجاد کرد:

Espressif یک عملکرد تشخیص فاصله زمان ایجاد کرد که با Arduino IDE برای ESP8266 کار می کرد ، اما هرگز آن را منتشر نکرد:

سیستم موقعیت یابی SubPos از ماژول های ESP8266 و محاسبه ضرر مسیر استفاده می کند ، چیزی که من نمی دانم چگونه در Arduino IDE پیاده سازی کنم:

من یک مثال در زبان جاوا پیدا کردم ، اما نمی دانم چگونه این را Arduino IDE تکرار کنم:

فاصله دو برابر = Math.pow (10.0 ، (((دو برابر) (tx_pwr/10)) - rx_pwr - 10*Math.log10 (4*Math. PI/(c/frequency)))/(20*mu)) ؛

مرحله 11: این همه است

اگر NearBot خود را می سازید ، "من آن را ساخته ام" خود را در نظرات زیر ارسال کنید!

اگر ایده دیگری برای استفاده از پلت فرم چند منظوره NearBot دارید ، لطفاً ایده های خود را کامنت کنید! این می تواند الهام بخش بزرگی برای سایر کاربران قابل آموزش باشد!

اگر از این آموزش لذت می برید ، لطفاً در مسابقه به این دستورالعمل رای دهید!

توصیه شده: