فهرست مطالب:

ماشین روبات با بلوتوث ، دوربین و برنامه MIT Inventor2: 12 مرحله (همراه با تصاویر)
ماشین روبات با بلوتوث ، دوربین و برنامه MIT Inventor2: 12 مرحله (همراه با تصاویر)

تصویری: ماشین روبات با بلوتوث ، دوربین و برنامه MIT Inventor2: 12 مرحله (همراه با تصاویر)

تصویری: ماشین روبات با بلوتوث ، دوربین و برنامه MIT Inventor2: 12 مرحله (همراه با تصاویر)
تصویری: راه اندازی ماژول بلوتوث با آردوینو 2024, نوامبر
Anonim
Image
Image
قطعات و نرم افزار
قطعات و نرم افزار

آیا تا به حال خواسته اید ماشین ربات خود را بسازید؟ خب، این شانس توست!!

در این دستورالعمل من نحوه ساخت یک ماشین روبات کنترل شده از طریق بلوتوث و MIT App Inventor2 را به شما آموزش خواهم داد. توجه داشته باشید که من یک مبتدی هستم و این اولین آموزش من است ، لطفاً در نظرات خود ملایم باشید.

دستورالعمل های زیادی وجود دارد ، اما در این یکی سعی کرده ام بسیاری از ویژگیها مانند: جریان دوربین ، جلوگیری از موانع ، سنسور برد اولتراسونیک ، اسکنر لارسون (با شارلی پلکس) و نظارت بر باتری را در یک برنامه Android ترکیب کنم !!

بنابراین بیایید شروع کنیم و فرانکی را ملاقات کنیم (از ایده های بسیاری از مکانها استفاده می کند … پس از آن Robo Frankenstein)

مرحله 1: قطعات و نرم افزار

قطعات و نرم افزار
قطعات و نرم افزار
قطعات و نرم افزار
قطعات و نرم افزار

در اینجا ، در شهر من ، بدست آوردن همه قطعات دشوار است ، بنابراین من توانستم اکثر آنها را از www.aliexpress.com تهیه کنم

من تخمین می زنم که این پروژه می تواند برای 25 تا 30 دلار بدون در نظر گرفتن تلفن همراه قدیمی ساخته شود.

  • شاسی خودرو: 3 چرخ ، 2 موتور 6 ولت (9 دلار آمریکا)
  • آردوینو نانو (2 دلار آمریکا)
  • بلوتوث HC-05 (3 تا 4 دلار آمریکا)
  • راننده موتور L293D برای حرکت موتورهای چرخ دار (1.50 دلار آمریکا برای قطعه 5 قطعه)
  • تلفن همراه قدیمی با دوربین و Wi-Fi
  • سنسور اولتراسونیک HC-SR04 برای اندازه گیری شیء نزدیک (1 دلار)
  • 6 LED برای اسکنر لارسون
  • ATtiny85 برای اسکنر لارسون (1 دلار)
  • تخته نان (1 دلار آمریکا)
  • سیم ها
  • مقاومت 100 کیلو اهم (4)
  • مقاومت 1 کیلو اهم (2)
  • مقاومت 2 کیلو اهم (1)
  • مقاومت 270 اهم (3)
  • وزوز

نرم افزار:

  • آردوینو IDE
  • وب کم IP (برای اندروید تلفن همراه قدیمی)
  • MIT App Inventor2: این برنامه عالی است اما فقط برای سیستم عامل اندروید کار می کند (بدون آیفون … متاسفم!)

مرحله 2: مراحل ساخت

فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز
فرایند ساخت و ساز

مونتاژ شاسی خودرو بسیار آسان است. دارای 2 موتور 6 ولت است که چرخ های عقب را تغذیه می کند و یک باتری 4 تایی دارد.

ماشین روبات از طریق بلوتوث و Wi-Fi کنترل می شود. بلوتوث ارتباطات سری بین Car و MIT App مخترع 2 را کنترل می کند و Wi-Fi برای ارتباط با دوربین (تلفن همراه قدیمی) نصب شده در جلوی خودرو استفاده می شود.

برای این پروژه ، من از دو مجموعه باتری استفاده کرده ام: آردوینو از باتری 9 ولت و موتور خودرو از 6 ولت (چهار باتری 1.5 ولت AA) تغذیه می کند.

آردوینو نانو مغز این پروژه است که ماشین ، زنگ ، سنسور برد فراصوت HC-SR04 ، بلوتوث HC-05 ، اسکنر لارسون (ATtiny85) را کنترل کرده و باتری ها را کنترل می کند. باتری 9 ولت به Vin (پین 30) می رود و پین 27 آردوینو قدرت تنظیم شده 5V را به تخته نان می دهد. لازم است تمام زمینه ها را از طریق IC و باتری به هم وصل کنید.

ضمیمه شده ، نمودار مدار آن را در Excel ایجاد کرده است (متأسفم … دفعه بعد Fritzing را امتحان می کنم). من همه چیز را با استفاده از اتصال دهنده های نرد و نر به سیم نر متصل کرده ام ، قسمت من شبیه لانه موش است.

مرحله 3: درایور موتور L293D

درایور موتور L293D
درایور موتور L293D
درایور موتور L293D
درایور موتور L293D

L293D یک راننده نیمه قوی H-High چهارگانه با جریان بالا است که برای ارائه جریان درایو دو طرفه تا 600 میلی آمپر در ولتاژهای 4.5 ولت تا 36 ولت طراحی شده است. برای حرکت چرخ های خودرو استفاده می شود.

این دستگاه از یک باتری 6 ولت (چهار 1.5 ولت AA) برای موتورها استفاده می کند و از 5 ولت برای منطقی که از 5 ولت تنظیم شده (پین 27) در آردوینو نانو استفاده می کند ، استفاده می کند. اتصالات در شماتیک پیوست نشان داده شده است.

نیازی به نصب آن در هیت سینک نبود.

مرحله 4: بلوتوث HC-05

بلوتوث HC-05
بلوتوث HC-05

بلوتوث HC-05 از 5 ولت (پین arduino 27) تغذیه می کند ، اما مهم است که درک کنیم که سطح منطقی 3.3V است ، یعنی ارتباطات (Tx و Rx) با 3.3V. به همین دلیل است که Rx باید با حداکثر 3.3V پیکربندی شود که می توان آن را با مبدل تغییر سطح یا همانطور که در این مورد با تقسیم ولتاژ با استفاده از مقاومتهای 1K و 2K همانطور که در مدار مشاهده می شود ، بدست آورد.

مرحله 5: مانیتور باتری

به منظور نظارت بر سطح باتری ، تقسیم کننده های ولتاژ را تنظیم کرده ام تا سطح ولتاژ را به زیر 5 ولت (حداکثر برد آردوینو) برسانم. تقسیم کننده ولتاژ ولتاژ اندازه گیری شده را در محدوده ورودی های آنالوگ آردوینو کاهش می دهد.

از ورودی های آنالوگ A4 و A6 استفاده می شود و از مقاومت های بالا (100 کیلو اهم) استفاده می شود تا باتری ها در فرایند اندازه گیری بیش از حد تخلیه نشوند. اگر مقاومتها خیلی کم (10 کیلو اهم) ، اثر بارگذاری کمتر باشد ، ما نیاز به سازش داریم ، قرائت ولتاژ دقیق تر ، اما ترسیم جریان بیشتر است. اگر آنها بیش از حد بالا (1M اهم) ، اثر بارگذاری بیشتر ، خواندن ولتاژ کمتر دقیق است ، اما رسم جریان کمتر است.

نظارت بر باتری هر 10 ثانیه انجام می شود و مستقیماً در تلفن همراه کنترل کننده شما نمایش داده می شود.

مطمئنم که در این قسمت فضای زیادی برای پیشرفت وجود دارد زیرا من از دو پین آنالوگ می خوانم و MUX داخلی بین آنها جابجا می شود. من به طور متوسط چند اندازه گیری نمی کنم و شاید این همان کاری باشد که باید انجام دهم.

اجازه دهید فرمول زیر را توضیح دهم:

// ولتاژ را از پین آنالوگ A4 بخوانید و برای آردوینو کالیبراسیون انجام دهید:

ولتاژ 1 = (analogRead (A4)*5.0/1024.0)*2.0 ؛ //8.0 ولت

نانو برد آردوینو دارای مبدل 8 کاناله ، 10 بیتی آنالوگ به دیجیتال است. تابع analogRead () عددی بین 0 تا 1023 را که متناسب با مقدار ولتاژ اعمال شده به پین است برمی گرداند. این وضوح بین خواندن: 5 ولت / 1024 واحد یا ، 0.0049 ولت (4.9 میلی ولت) در هر واحد را نشان می دهد.

تقسیم کننده ولتاژ ولتاژ را نصف می کند و برای بدست آوردن ولتاژ واقعی ، باید در 2 ضرب شود !!

مهم: من مطمئن هستم که یک روش کارآمدتر برای تقویت آردوینو نسبت به شیوه ای که من انجام می دهم وجود دارد !! به عنوان یک مبتدی راه سخت را آموخته ام. پین آردوینو وین از تنظیم کننده ولتاژ خطی استفاده می کند ، بدین معنی که با باتری 9 ولت ، شما بخش بزرگی از قدرت را در خود تنظیم کننده خطی می سوزانید! خوب نیست. من این کار را به این دلیل انجام دادم که سریع بود و فقط به این دلیل که من بهتر نمی دانستم … اما مطمئن باشید که در Robo Frankie نسخه 2.0 من مطمئناً متفاوت عمل خواهم کرد.

من با صدای بلند فکر می کنم که یک منبع تغذیه DC DC Step Up و یک باتری قابل شارژ لیتیوم-یون می تواند راه بهتری باشد. پیشنهاد محبت آمیز شما بیش از حد مورد استقبال قرار خواهد گرفت…

مرحله 6: سنسور برد التراسونیک HC-SR04

سنسور محدوده فراصوت HC-SR04
سنسور محدوده فراصوت HC-SR04

HC-SR04 یک سنسور محدوده اولتراسونیک است. این سنسور اندازه گیری از 2 تا 400 سانتی متر را با دقت محدوده تا 3 میلی متر ارائه می دهد. در این پروژه ، برای جلوگیری از موانع هنگام رسیدن به 20 سانتی متر یا کمتر و همچنین برای اندازه گیری فاصله تا هر شیء ، که به تلفن همراه شما ارسال می شود ، استفاده می شود.

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

مرحله 7: اسکنر لارسون

اسکنر لارسون
اسکنر لارسون
اسکنر لارسون
اسکنر لارسون
اسکنر لارسون
اسکنر لارسون

من می خواستم چیزی سرگرم کننده را شامل شوم ، بنابراین اسکنر لارسون را که شبیه K. I. T. T. است ، قرار دادم. از نایت رایدر

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

در این حالت من از 3 پین از ATtiny85 تا روشن کردن 6 LED استفاده می کنم !!

می توانید LED های "X" را با پین N روشن کنید. برای بدست آوردن تعداد LED هایی که می توانید رانندگی کنید از فرمول زیر استفاده کنید:

X = N (N-1) LED با N پین:

3 پین: 6 LED ؛

4 پین: 12 LED ؛

5 پین: 20 LED … ایده را می گیرید ؛-)

جریان از مثبت (آند) به منفی (کاتد) جریان می یابد. نوک پیکان کاتد است.

توجه به این نکته ضروری است که پین 1 (در کد Arduino IDE) به پین فیزیکی 6 در ATtiny85 اشاره دارد (لطفاً به pinout پیوست شده مراجعه کنید).

پیوست شده لطفاً کد مورد نیاز برای بارگذاری در ATtiny85 را که اسکنر لارسون را کنترل می کند ، بیابید. من نحوه بارگذاری کد در ATtiny85 را توضیح نمی دهم ، زیرا دستورالعمل های زیادی وجود دارد که مانند این عمل می کنند.

مرحله 8: کد

کد
کد

من کدی را که باید بارگذاری شود به ATtiny85 که اسکنر لارسون را کنترل می کند و کد مربوط به Arduino nano را ضمیمه می کنم.

در مورد آردوینو نانو ، من از بخشی از کدهای دستورالعمل های دیگر (اینجا) استفاده کرده و تغییرات را متناسب با نیازهایم انجام داده ام. من یک فلوچارت (همچنین در کلمه برای یک تصویر واضح تر) از کد برای درک بهتر نحوه عملکرد Switch - Case قرار داده ام.

مهم: برای بارگذاری کد CarBluetooth در Arduino nano ، باید Rx و Tx را از ماژول بلوتوث HC-05 جدا کنید!

مرحله 9: دوربین

دوربین
دوربین
دوربین
دوربین

برنامه IP Webcam باید از فروشگاه بازی بارگیری و در تلفن همراه قدیمی شما نصب شود. تنظیمات ویدئویی را بررسی کنید ، وضوح را مطابق آن تنظیم کنید و در نهایت برای شروع انتقال به آخرین دستور "شروع سرور" بروید. فراموش نکنید که Wi-Fi را در تلفن همراه روشن کنید !!

مرحله 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 ابزاری مبتنی بر ابر است که به ساخت برنامه در مرورگر وب شما کمک می کند. این برنامه (فقط برای تلفن همراه مبتنی بر اندروید) می تواند در سلول شما بارگذاری شود و ماشین ربات شما را کنترل کند.

من کد apk و.aia را ضمیمه می کنم تا بتوانید ببینید من چه کار کرده ام و می توانید آن را به دلخواه تغییر دهید. من از کدی از اینترنت (برنامه MIT) استفاده کرده و تغییرات خود را انجام داده ام. این کد حرکت ماشین ربات را کنترل می کند ، سیگنال را از سنسور اولتراسونیک دریافت می کند ، چراغ ها را روشن می کند و زنگ را می زند. همچنین سیگنال را از باتری ها دریافت می کند که سطح ولتاژ را به ما اطلاع می دهد.

با استفاده از این کد ما قادر خواهیم بود دو سیگنال متفاوت از خودرو دریافت کنیم: 1) فاصله تا جسم نزدیک و 2) ولتاژ از باتری های موتور و آردوینو.

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

Arduino_Bluetooth_Car.apk را به تلفن همراه خود (از طریق ایمیل یا Google Drive) ارسال کرده و آن را نصب کنید.

مرحله 11: تلفن همراه خود را به RC Car خود وصل کنید

تلفن همراه خود را به RC Car خود متصل کنید
تلفن همراه خود را به RC Car خود متصل کنید
تلفن همراه خود را به RC Car خود متصل کنید
تلفن همراه خود را به RC Car خود متصل کنید

اول از همه ، wi-fi را در تلفن همراه قدیمی (یکی در ربات RC) روشن کنید.

در تلفن همراه کنترل کننده ، wi-fi ، بلوتوث خود را روشن کرده و Arduino_Bluetooth_Car.apk را که به تازگی نصب کرده اید باز کنید. در انتهای صفحه (اگر نمی توانید آن را پایین بیاورید) دو دکمه را مشاهده خواهید کرد: Devices و CONNECT. روی دستگاه ها کلیک کنید و Bluetooth را از RC Car خود انتخاب کنید (باید چیزی HC 05 باشد) ، سپس روی CONNECT کلیک کنید و باید پیام CONNECTED را در پایین سمت چپ صفحه خود مشاهده کنید. برای اولین بار از شما رمز عبور خواسته می شود (0000 یا 1234 را وارد کنید).

جعبه ای وجود دارد که باید آدرس IP تلفن همراه قدیمی خود را (تلفن همراه موجود در ماشین RC) تایپ کنید ، در مورد من

این شماره IP را می توان در روتر Wi-fi شما تشخیص داد. شما باید وارد پیکربندی روتر خود شوید ، لیست دستگاه ها را انتخاب کنید (یا چیزی شبیه به آن بسته به مارک روتر شما) و باید بتوانید دستگاه تلفن همراه قدیمی خود را ببینید ، روی آن کلیک کرده و این شماره IP را در این کادر وارد کنید.

سپس CAMERA را انتخاب کنید و باید مشاهده جریان دوربین را از RC Car خود شروع کنید.

مرحله دوازدهم: تمام شدی

شما انجام دادید!
شما انجام دادید!

شما انجام دادید! بازی با آن را شروع کنید

تغییرات آینده: من باتری 9V را با باتری های Li-ion تغییر می دهم تا آنها را شارژ کنم و از تنظیم کننده ولتاژ DC-DC استفاده کنم ، همچنین می خواهم مانیتور باتری را با هموارسازی (میانگین گیری) قرائت های آنالوگ تقویت کنم. برنامه ریزی برای شامل A. I. هنوز …؛-)

من در اولین مسابقه آموزنده ام شرکت کردم … بنابراین لطفا رای دهید ؛-)

توصیه شده: