فهرست مطالب:

روبات Raspberry SPy: 8 مرحله (همراه با تصاویر)
روبات Raspberry SPy: 8 مرحله (همراه با تصاویر)

تصویری: روبات Raspberry SPy: 8 مرحله (همراه با تصاویر)

تصویری: روبات Raspberry SPy: 8 مرحله (همراه با تصاویر)
تصویری: ПОЧЕМУ Я ЖДУ L4D3 2024, نوامبر
Anonim
Image
Image
روبات تمشک SPY
روبات تمشک SPY

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

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

الکترونیک ربات
الکترونیک ربات

من با مونتاژ کیت شاسی 2WD MiniQ از DFRobot شروع کردم. چرخ ها را روی شفت های موتور کشیدم ، سپس آنها را در براکت ها قرار دادم و به شاسی وصل کردم. در نهایت ، تکیه گاه های فلزی را اضافه کردم. اکنون زمان ساخت تابلو اصلی بود. راننده موتور L293d به همراه سیم هایی که به پین های GPIO رزبری پای منتقل می شود ، در جای خود لحیم شد. در مرحله بعد ، یک اتصال دهنده برای باتری را لحیم کردم ، زیرا برق اصلی را تأمین می کند. پس از افزودن منبع تغذیه ، من یک رگولاتور 5 ولت نصب کردم.

مرحله 2: تنظیم Pi

راه اندازی Pi
راه اندازی Pi

DFRobot با من تماس گرفت و ماژول دوربین Raspberry Pi 3 و Raspberry Pi را برای آنها ارسال کرد. پس از باز کردن جعبه ها ، با راه اندازی کارت SD حق کار پیدا کردم. ابتدا به صفحه بارگیری Raspberry Pi رفتم و جدیدترین نسخه Raspbian را بارگیری کردم. سپس فایل را استخراج و در یک فهرست مناسب قرار دادم. شما نمی توانید فقط یک فایل.img را در کارت SD کپی/جایگذاری کنید ، باید آن را روی کارت "رایت" کنید. برای انتقال آسان تصویر سیستم عامل ، می توانید یک برنامه سوزان مانند Etcher.io را بارگیری کنید. بعد از اینکه فایل.img روی کارت SD من قرار گرفت ، آن را در Raspberry Pi قرار دادم و به آن قدرت دادم. بعد از حدود 50 ثانیه سیم را جدا کردم و کارت SD را برداشتم. سپس کارت SD را دوباره در رایانه خود قرار دادم و به فهرست "boot" رفتم. دفترچه یادداشت را باز کردم و آن را به عنوان یک فایل خالی با نام "ssh" بدون پسوند ذخیره کردم. همچنین فایلی وجود داشت که من به آن "wpa_supplicant.conf" اضافه کردم و این متن را در آن قرار دادم:

شبکه = {ssid = psk =}

سپس کارت را ذخیره و بیرون انداختم و دوباره در Raspberry Pi 3 قرار دادم. در حال حاضر این امکان استفاده از SSH و اتصال به WiFi را می دهد.

مرحله 3: آماده سازی دوربین

آماده شدن دوربین
آماده شدن دوربین

به طور پیش فرض ، دوربین در Pi غیرفعال است ، بنابراین برای نمایش منو باید نوع ترمینال sudo raspi-config را باز کنید. به "گزینه های رابط" بروید و سپس دوربین را فعال کنید. اکنون فقط "Finish" را انتخاب کرده و کابل روبان ماژول دوربین را در قسمت صحیح Pi وارد کنید.

مرحله 4: نصب نرم افزار

چندین نرم افزار مختلف وجود دارد که می توانند ویدیو را پخش کنند ، مانند vlc و motion ، اما به دلیل تأخیر کم و نصب آسان ، تصمیم گرفتم از mjpeg-streamer استفاده کنم. طبق دستورالعمل های موجود در سایت ، یک کلمه git https://github.com/jacksonliam/mjpg-streamer.git را در یک پوشه انجام دهید ، سپس برای نصب کتابخانه های مورد نیاز sudo apt-get install cmake libjpeg8-dev را تایپ کنید. دایرکتوری خود را به پوشه ای که بارگیری کرده اید تغییر دهید و سپس برای کامپایل نرم افزار عبارت make then و sudo make install را تایپ کنید. در نهایت صادرات را وارد کنید LD_LIBRARY_PATH =. و برای اجرای آن نوع.

مرحله 5: کنترل کننده

کنترل کننده
کنترل کننده
کنترل کننده
کنترل کننده

سپس بخشی از نحوه کنترل Raspberry Pi از طریق WiFi مطرح شد ، زیرا بلوتوث محدوده بسیار کمی دارد. تصمیم گرفتم از سرور Flask که روی Raspberry PI اجرا می شود و ماژول ESP8266 ESP12E برای ارسال داده به آن استفاده کنم. ESP8266 فقط یک ورودی آنالوگ دارد ، به این معنی که من نمی توانم مستقیماً از جوی استیک استفاده کنم ، زیرا دو ورودی آنالوگ می گیرد. بهترین گزینه ADS1115 بود که یک دستگاه I2C است و سیگنال های آنالوگ را با وضوح 16 بیت می خواند. من به سادگی SDA را به 4 و SCL را به 5 ، همراه با VCC و GND متصل کردم. محور جوی استیک X در ADS1115 به A0 متصل می شود و محور Y به A1 متصل می شود. اما ، من به طور تصادفی ADS1115 را سوزاندم ، بنابراین مجبور شدم به بهترین مورد بعدی متوسل شوم: دکمه ها! بنابراین در حال حاضر تنظیمات من ESP8266 Sparkfun Thing Dev Board با 3 دکمه جلو ، راست و چپ است. اکنون هر زمان که یکی فشار داده می شود ، داده ها را برای چرخاندن چرخ ها در آن جهت ارسال می کند.

مرحله 6: کد برای ربات

کد برای ربات
کد برای ربات

من یک پروژه قبلی انجام دادم که از کتابخانه PiI GPIO PWM برای کنترل موتورها از طریق json استفاده می کرد ، بنابراین من مجدداً کد را برای پذیرش داده ها از طریق یک برنامه Flask مجدداً هدف قرار دادم. Flask یک کتابخانه پایتون است که اساساً Pi شما را به یک وب سرور با قابلیت ارسال و دریافت داده تبدیل می کند. با استفاده از PWM ، می توان موتورها را با دقت بیشتری در مقایسه با درایو کنترل کرد. این بدان معناست که ربات می تواند با سرعت متغیر حرکت کند تا با سرعت ثابت. برنامه فلاسک من پیکربندی شده است تا PWM موتورها را هنگامی که داده ها را از یک درخواست GET از طریق http از ESP12e دریافت می کند ، تغییر دهد. همچنین از کتابخانه فرعی. باز کردن برای اجرای اسکریپت پخش وب در پس زمینه استفاده می کند. من کد را به صفحه پروژه پیوست کرده ام ، بنابراین تنها چیزی که لازم است یک بارگیری است.

مرحله 7: کد کنترل کننده

کد بسیار ساده بود ، فقط قرائت 3 پین را بگیرید ، آنها را از طریق دستورات if برای تعیین جهت چرخش اجرا کنید و در نهایت این مقادیر را برای رزبری پای ارسال کنید. اضافه شدن برد ESP8266 برای Arduino IDE با کتابخانه HTTPClient همراه است که سرصفحه ها و داده ها را ارسال می کند. سرور Flask باید داده ها را از طریق یک تماس POST دریافت کند ، بنابراین کد با سرور Raspberry Pi ارتباط برقرار می کند ، سپس یک سرصفحه به داده ها اضافه می کند که نشان می دهد JSON کد شده است ، و در نهایت داده ها را در قالب یک شی JSON ارسال می کند. به من تاخیر 40 میلی ثانیه ای را اضافه کردم تا از بارگذاری بیش از حد رزبری پای جلوگیری شود.

مرحله 8: اجرای Raspberry SPy

اجرای Raspberry SPy
اجرای Raspberry SPy
اجرای Raspberry SPy
اجرای Raspberry SPy

تنها چیزی که نیاز است تایپ sudo python.py است! شما باید روشن شدن دوربین را ببینید و با رفتن به آدرس وب pi با پورت 8080 جریان باید قابل مشاهده باشد. اکنون می توانید از کنترلر در هر نقطه از خانه استفاده کنید و خوراک زنده نیز داشته باشید.

توصیه شده: