آردینو

کنترل آردوینو با رزبری پای pyFirmata

کنترل آردوینو با رزبری پای pyFirmata

کنترل آردوینو با رزبری پای pyFirmata

اگرچه Raspberry Pi و Arduino از نظر کاربرد و ساختار دو سخت افزار متفاوت هستند ، اما هر دو به عنوان دو پلتفرم سخت افزاری منبع باز با یکدیگر در نظر گرفته می شوند.

هر دو جامعه و پشتیبانی بسیار قوی دارند.

بخوانید : پروگرام آردوینو با بلوتوث

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

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

ما از سیستم عامل PyFirmata برای دستور دادن به Arduino با استفاده از اسکریپت Raspberry Pi python استفاده خواهیم کرد.

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

این بسته پایتون امکان خواندن و نوشتن هر پین روی آردوینو را فراهم می کند.

بنابراین در اینجا ما برنامه پایتون را با استفاده از Raspberry pi روی آردوینو اجرا خواهیم کرد.

بنابراین در این آموزش ما از این کتابخانه استفاده خواهیم کرد و در صفحه آردوینو از این برای کنترل Arduino با استفاده از Raspberry Pi استفاده خواهیم کرد.

 

بخوانید : کنترل ماتریس 8×8 با آردوینو

 

 

سحت افزار مورد نیاز ( می توانید تمام سخت افزار را با بهترین  قیمت از وی تات تهیه  فرمایید )

 

  1. Raspberry با سیستم عامل Raspbian OS

  2. Arduino Uno

  3. Arduino USB cable

  4. LED

 

آموزش نصب Raspbian رزبری پای 4

 

در این آموزش من از External Monitor با استفاده از کابل HDMI برای ارتباط با Raspberry Pi استفاده می کنم.

اگر مانیتور ندارید ، می توانید از سرور SSH Putty یا VNC برای اتصال به Raspberry pi با استفاده از Laptop یا رایانه استفاده کنید.

اگر مشکلی پیدا کردید ، با راهنمای Raspberry Pi ما مجله وی تات مراجعه کنید 

برای راحتی شما مقالات مهم رزبری پای را در زیر می آوریم :

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

آموزش نصب Raspbian رزبری پای 4

آموزش آپدیت رزبری پای 4 Raspbian

پیکربندی رزبری پای 4 Raspbian

تنظیم موس و کیبورد در Raspbian

نصب PyFirmata در Arduino با استفاده از Raspberry Pi

 

برای بارگذاری میان افزار PyFirmata در آردوینو ، باید Arduino IDE را در Raspberry Pi نصب کنیم.

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

 

بخوانید : ساخت رسیور IR با استفاده از آردوینو

 

مرحله 1:

– Raspberry Pi را به اینترنت وصل کنید. ترمینال دستور را باز کرده و دستور زیر را تایپ کرده و enter را بزنید

sudo apt-get -y install arduino python-serial mercurial

چند دقیقه صبر کنید ، زمان می برد.

این دستور Arduino IDE را در Raspberry Pi شما نصب می کند.

مرحله 2:

– اکنون ، ما با استفاده از github داده شده ، پرونده های pyFirmata را نصب خواهیم کرد:

بخوانید : کنترل موتور سروو با استفاده از آردوینو

سپس دستور زیر را اجرا کنید:

cd pyFirmata
sudo python setup.py install

مرحله 3:

– ما همه پرونده ها و تنظیمات مورد نیاز را نصب کرده ایم.

اکنون ، با استفاده از کابل USB برد Arduino خود را با Raspberry Pi متصل کرده و با تایپ کردن arduino در پنجره ترمینال ، Arduino IDE را راه اندازی کنید.

کنترل آردوینو با رزبری پای pyFirmata

بخوانید : آشکارساز حرکت با استفاده از سنسور PIR

مرحله 4:

– سپس دستور lsusb را تایپ کنید تا بررسی کنید آردوینو به تمشک پی شما متصل است یا خیر.

در Arduino IDE ، به ابزار بروید و تخته و Serial Port خود را انتخاب کنید.

مرحله 5:

– با کلیک روی پرونده -> مثالها -> Firmata -> Firmata استاندارد ، سیستم عامل PyFirmata را در Arduino بارگذاری کنید و سپس روی دکمه بارگذاری کلیک کنید.

همانطور که در زیر نشان داده شده است.

 

ما میان افزار pyFirmata را با موفقیت در برد آردوینو نصب کردیم.

اکنون ، ما می توانیم Arduino خود را با استفاده از Raspberry Pi کنترل کنیم.

برای نمایش ، با نوشتن کدهای پایتون در Raspberry Pi ، یک LED بر روی Arduino چشمک می زنیم و کم رنگ می کنیم.

توضیحات کد

برای قسمت کدگذاری ، باید اسناد pyFirmata را برای درک بهتر بخوانید.

برای نوشتن کد خود از توابع pyFirmata استفاده خواهیم کرد.

با دنبال کردن لینک می توانید اسناد pyFirmata را پیدا کنید.

بنابراین بیایید شروع به نوشتن کد کنیم

ویرایشگر متن مورد علاقه خود را در Raspberry Pi باز کرده و کتابخانه pyFirmata را وارد کنید.

import pyfirmata

برای اتصال LED پین را روی Arduino تعریف کنید

led_pin = 9

اکنون ، باید نام پورت سریال را که با استفاده از تابع pyfirmata.Arduino متصل می شود ، بنویسیم و سپس با اختصاص متغیر پورت ، یک نمونه بسازیم.

رزبری پای pyFirmata

board = pyfirmata.Arduino("/dev/ttyACM0")
print "Code is running”

در حلقه while ، با استفاده از تابع board.digital [] پین led را HIGH و low قرار دهید. با استفاده از تابع board.pass_time تأخیر دهید.

while True:
    board.digital[led_pin].write(0)
    board.pass_time(1)        
    board.digital[led_pin].write(1)
    board.pass_time(1)

کد ما آماده است ، با قرار دادن پسوند .py به نام پرونده ، این کد را ذخیره کنید.

ترمینال دستور را باز کرده و python blink.py را تایپ کنید تا کد را روی صفحه آردوینو اجرا کنید. اطمینان حاصل کنید که برد آردوینو با استفاده از کابل USB با برد Raspberry Pi متصل شده است.

اکنون ، می توانید Blinking LED را بر روی صفحه آردوینو مشاهده کنید.

در انتها کد کامل چشمک زدن LED با استفاده از pyFirmata آورده شده است.

کم رنگ شدن LED در آردوینو با استفاده از pyFirmata

اکنون ، برای محو شدن شما با توابع pyFirmata کدی برای محو شدن LED می نویسیم.

این کد مانند کد قبلی آسان است.

شما باید از دو حلقه استفاده کنید ، یکی برای افزایش روشنایی و دیگری برای کاهش روشنایی.

در این کد ، پین ها را به روش های مختلفی مانند led = board.get_pin ‘d: 9: p’ تعریف کرده ایم که d به معنی پین دیجیتال است.

این عملکرد کتابخانه pyFirmata است. برای جزئیات بیشتر مستندات را بخوانید.

در انتها کد کامل Fading LED با استفاده از pyFirmata آورده شده است.

اکنون ، می توانید حسگرهای بیشتری به سیستم خود اضافه کرده و باعث خنک شدن آن شوید ، سایر پروژه های Arduino ما را بررسی کرده و با استفاده از Raspberry pi و اسکریپت پایتون ساخت آنها را امتحان کنید.

کد کامل برنامه  کنترل آردوینو با رزبری پای pyFirmata

Python code for LED blink:

import pyfirmata

led_pin = 9

board = pyfirmata.Arduino(“/dev/ttyACM0”)

while True:
board.digital[led_pin].write(0)
board.pass_time(1)
board.digital[led_pin].write(1)
board.pass_time(1)

Python code for Fading LED:

import time
import pyfirmata

delay = 0.3
brightness = 0

board = pyfirmata.Arduino(“/dev/ttyACM0”)

led = board.get_pin(‘d:9:p’)
while True:
# increase
for i in range(0, 10):
brightness = brightness + 0.1
print “Setting brightness to %s” % brightness
led.write(brightness)
board.pass_time(delay)

# decrease
for i in range(0, 10):
print “Setting brightness to %s” % brightness
led.write(brightness)
brightness = brightness – 0.1
board.pass_time(delay)

این پروژه توسط گروه وی تات انجام شده wetat.ir

کپی با دکر منبع بلامانع است

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *