کنترل موتور به وسیله هوش مصنوعی با رزبری پای

هوش مصنوعی با رزبری پای

در این پروژه قصد داریم با استفاده از رزبری پای و هت ویس (Voice HAT) موتور الکتریکی را راه اندازی کنیم. از هوش مصنوعی نیز برای این کار بهره خواهیم برد.

 

راه اندازی موتور الکتریکی با رزبری پای هوش مصنوعی

 

لوازم پروژه:

  • برد رزبری پای
  • موتور DC
  • بردبورد و سیم جامپر
  • 4 عدد باتری قلمی
  • تیغه کاتر

 

1- برق را قطع کنید

اولین کاری که باید انجام دهید این است که منبع تغذیه Raspberry Pi را از قسمت پاور برد Voice HAT جدا کنید. این کار از تخلیه بیش از حد توان موتور DC و اتصال کوتاه شدن رزبری پای شما جلوگیری می کند. ترمینال JP1 (درست سمت چپ Servos 5 در برد Voice HAT) را پیدا کنید. از یک کاتر برای قطع اتصال در جامپر استفاده کنید (اگر می خواهید دوباره برق را بین برد و موتور به اشتراک بگذارید، همیشه می توانید این اتصال را دوباره لحیم کنید).

 

2- خاموش کردن رزبری پای و هت صوتی

مطمئن شوید برد رزبری پای و Voice HAT شما خاموش است. حالا پایه مثبت موتور DC را به پایه میانی درایور 0 وصل کنید. توجه کنید که در پایین پین های درایور علامت “+” وجود دارد.

 

3- اتصالات برق

در مرحله بعد، سیم منفی موتور را به پین «-» در Drivers 0 (پین سمت راست) وصل کنید. ممکن است متوجه شده باشید که فعلا به پین GPIO در سمت چپ (که GPIO4 است) اتصالی نداریم. این موضوع مهم نیست زیرا پایه 4 GPIO پین منفی “-” را نیز کنترل می کند که به تازگی موتور را به آن متصل نموده ایم. این به ما امکان می دهد موتور را روشن و خاموش کنیم.

 

4- روشن کردن مدار

در نهایت، 4 عدد باتری AA را به پایه های +Volts و GND در گوشه سمت چپ پایین Voice HAT وصل کنید. این کار به ما اطمینان می دهد که موتور هنگام استفاده از هت صوتی از انرژی کافی برخوردار است که از خراب شدن رزبری پای شما جلوگیری می کند. برق را وصل کنید.

 

5- رزبری پای را روشن کنید

حالا رزبری پای را روشن کرده و در نرم افزار AIY Projects بوت کنید. برای تست مدار کد مربوطه را از motor.py وارد کنید. ما از PWMOutputDevice مربوط به GPIO Zero برای کنترل موتور استفاده می کنیم. این کار ما را قادر می سازد تا سرعت موتور را مدیریت کنیم. ما می توانیم از متدهای .on() و .off() برای راه اندازی و توقف موتور خود استفاده کنیم. همچنین، می‌توانیم متغیر مقدار را روی مقداری بین 0.0 و 1.0 برای کنترل سرعت تنظیم کنیم. هر دو تکنیک در کد motor.py نشان داده شده است. همچنین می توانید از pwm.pulse() برای روشن و خاموش کردن موتور استفاده کنید.

 

6- رزبری پای را به دستیار صوتی وصل کنید

اکنون که نحوه کنترل موتور با استفاده از GPIO Zero را دیدیم، زمان آن رسیده است که آن را با دستیار صوتی ادغام کنیم. کد را از addtoaction.py در بخش های مربوطه وارد کنید
/home/pi/voice-recognizer-raspi/src/action.py و src/main.py را اجرا کنید. دکمه روی برد هت صوتی خود را فشار دهید و بگویید “motor on” تا موتور روشن شود. دکمه را دوباره فشار دهید و بگویید “motor off” تا متوقف شود.

 

کد نوشته شده برای پروژه کنترل موتور بوسیله هوش مصنوعی با رزبری پای به زبان پایتون:

motor.py

from gpiozero import PWMOutputDevice

from time import sleep

pwm = PWMOutputDevice(4)

while True:

pwm.on()

sleep(1)

pwm.off()

sleep(1)

pwm.value = 0.5

sleep(1)

pwm.value = 0.0

sleep(1)

addtoaction.py

# =========================================

# Makers! Implement your own actions here.

# =========================================

from gpiozero import PWMOutputDevice

class MotorMove(object):

def __init__(self):

self.pwm = PWMOutputDevice(4)

def run(self, voice_command):

if ‘on’ in voice_command:

self.pwm.on()

elif ‘off’ in voice_command:

self.pwm.off()

# =========================================

# Makers! Add your own voice commands here.

# =========================================

actor.add_keyword(‘motor’, MotorMove())

return actor

 

هر سه شنبه با مقالات رزبری پای همراه توسکانیک باشید

گردآوری و ترجمه: مهندس سبحان جوان

منبع: magpi.raspberrypi.com

 

کتاب راهنمای رسمی شروع کار با رزبری پای

آخرین مقالات

مقالات مرتبط