فهرست مطالب:

Raspberry PI & Arduino - Blynk Stepper Control: 7 مرحله (همراه با تصاویر)
Raspberry PI & Arduino - Blynk Stepper Control: 7 مرحله (همراه با تصاویر)

تصویری: Raspberry PI & Arduino - Blynk Stepper Control: 7 مرحله (همراه با تصاویر)

تصویری: Raspberry PI & Arduino - Blynk Stepper Control: 7 مرحله (همراه با تصاویر)
تصویری: Control Servo motor with a Push Button: Move Servo and Return SPB-1 2024, نوامبر
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

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

در پوسته مهره ، برنامه درخواست ها را از طریق پین های مجازی به Raspberry Pi ارسال می کند ، Pi سپس سیگنال HIGH/LOW را به Arduino و Arduino سپس با موتور پله ای سروکار دارد.

من فکر می کنم استفاده از این تقریب راحت تر است زیرا اکثر مردم به کار با آردوینو و نه زیاد با node.js در رزبری پای عادت دارند.

اجزای مورد نیاز برای این کار:

- Raspberry PI (من از Raspberry Pi 3 مدل b استفاده می کنم)

- آردوینو (من از آردوینو نانو استفاده می کنم)

- سرو موتور (من از کنترلر 28BYJ-48 5VDC استفاده می کنم)

- برخی از سیم های بلوز

- منبع تغذیه (5VDC 2A.)

طرح آردوینو و کد Node.js برای بارگیری در دسترس است. فقط فایل ها را جستجو کنید.

مرحله 1: ایجاد برنامه در تلفن خود

ایجاد برنامه در تلفن شما
ایجاد برنامه در تلفن شما
ایجاد برنامه در تلفن شما
ایجاد برنامه در تلفن شما

Blynk را از AppStore یا GooglePlay بارگیری کنید

برنامه را باز کنید و یک کاربر ایجاد کنید یا با فیس بوک وارد شوید.

- ایجاد یک پروژه جدید

نام پروژه خود را: MyProject

دستگاه را انتخاب کنید: Rasapberry Pi 3 B

نوع اتصال: Wifi (یا اترنت اگر Pi شما به شبکه شما وصل شده باشد)

- روی ایجاد کلیک کنید

ایمیل خود را برای توکن خود بررسی کنید

(به نظر می رسد این 3aa19bb8a9e64c90af11e3f6b0595b3c)

این توکن با برنامه فعلی شما پیوند خورده است. اگر برنامه دیگری انجام دهید ، توکن دیگری تولید خواهید کرد.

در برنامه ابزارک های زیر را اضافه کنید (تصویر را ببینید)

- اضافه کردن 3 دکمه

- 1 LCD اضافه کنید

- دکمه را ویرایش کنید

نام اول را Command1 بگذارید ، پین را به عنوان پین مجازی 1 تنظیم کنید و حالت را به عنوان SWITCH تنظیم کنید

نام دوم را CW بگذارید ، Pin را به عنوان Virtual Pin 2 تنظیم کنید و Mode را به عنوان PUSH تنظیم کنید

نام سوم را CCW بگذارید ، Pin را به عنوان Virtual Pin 3 و Mode را به عنوان PUSH تنظیم کنید

- LCD را ویرایش کنید

پین ها را به عنوان Virtual Pin 4 و Virtual Pin 5 تنظیم کرده و Mode را روی PUSH قرار دهید

مرحله 2: آماده سازی PI

ابتدا ، باید Node.js. را نصب کنید. قبل از به روز رسانی Node.js ، لطفاً نسخه های قدیمی را حذف کنید:

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

sudo apt-get nodejs گره پاکسازی

node.js -ysudo apt -get autoremove

نصب خودکار Node.js افزودن مخازن:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Node.js را نصب کنید

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install build-essential nodejs -y

پس از نصب Node.js ، Blynk را نصب کنید

sudo npm blynk -library -g را نصب کنید

sudo npm نصب onoff -g

مرحله 3: ایجاد پروژه خود

با تغییر دایرکتوری (دستور cd) به فهرست pi شروع کنید

ترمینال را باز کنید و تایپ کنید:

cd/home/pi/

سپس ، یک دایرکتوری ایجاد کنید که پروژه شما در آن اقامت دارد

mkdir MyProject

دایرکتوری را به MyProject تغییر دهید ، موارد زیر را در ترمینال تایپ کنید

cd MyProject

محتوای فهرست را بررسی کنید (باید خالی باشد). فقط موارد زیر را در ترمینال تایپ کنید

ls

در مرحله بعد ، موارد زیر را تایپ کنید تا توضیحات پروژه شما ایجاد شود (package.json)

npm init

فقط نام پروژه ، نویسنده ، نسخه و غیره را تایپ کنید…

پس از انجام این کار ، کتابخانه Blynk ، کتابخانه onoff و کتابخانه system-sleep را در فهرست پروژه خود نصب کنید. موارد زیر را در ترمینال خود تایپ کنید

npm blynk-library را نصب کنید-ذخیره کنید

npm install onoff -ذخیره کنید

npm install system-sleep-ذخیره کنید

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

nano MyProject.js

پس از اجرای آن دستور ، نانو (ویرایشگر متن ترمینال) باز می شود.

مرحله 4: MyProject.js

در نانو ، خطوط کد زیر را بنویسید

var Blynk = نیاز ('blynk-library')؛

var AUTH = '******************'؛ این کد شماست

var blynk = new Blynk. Blynk (AUTH)؛

var Gpio = نیاز ('خاموش'). Gpio ،

command1 = Gpio جدید (18 ، 'out') ، // به Arduino D2 متصل می شود

commandCW = Gpio جدید (23 ، 'out') ، // به Arduino D3 متصل می شود

commandCCW = جدید Gpio (24 ، 'out') ؛ // به Arduino D4 متصل می شود

var خواب = نیاز ('system-sleep')؛

var v1 = new blynk. VirtualPin (1) ؛ // این دکمه Command1 شما در برنامه است

var v2 = new blynk. VirtualPin (2) ؛ // این دکمه CW شما در برنامه است

var v3 = new blynk. VirtualPin (3) ؛ // این دکمه CCW شما در برنامه است

var v4 = new blynk. VirtualPin (4) ؛ // این خط 1 LCD شما در برنامه است

var v5 = new blynk. VirtualPin (5) ؛ // این خط LCD 2 شما در برنامه است

v1.on ('write'، function (param) // دکمه Command1 را در برنامه بررسی کنید

{

if (param == 1) // اگر دکمه فشار داده شده (که 1 است) ، موارد زیر را انجام دهید

{

v4.write ("اجرا") ؛ // در خط اول LCD "اجرا" را بنویسید

v5.write ("فرمان") ؛ // "خط" را در خط دوم LCD بنویسید

command1.writeSync (1) ؛ // GPIO18 (که متغیر command1 است) را روی 1 (HIGH) تنظیم کنید

خواب (4000) ؛ // 4 ثانیه صبر کنید

command1.writeSync (0) ؛ // GPIO18 (که متغیر command1 است) را روی 0 (پایین) تنظیم کنید

v4.write ("انجام شد") ؛ // در خط اول LCD "Done" را بنویسید

v5.write ("")؛ // "" (هیچ) را در خط دوم LCD بنویسید

v1.write (0) ؛ // 0 را روی دکمه Command1 خود بنویسید ، که آن را به موقعیت OFF بازنشانی می کند

}

});

v2.on ('write'، function (param) // دکمه CW را در برنامه بررسی کنید

{

if (param == 1) // اگر دکمه فشار داده شده (که 1 است) ، موارد زیر را انجام دهید

{

commandCW.writeSync (1) ؛ // GPIO23 (که متغیر commandCW است) را روی 1 (HIGH) تنظیم کنید

}

else if (param == 0) // اگر دکمه فشرده نشده است (که 0 است) ، موارد زیر را انجام دهید

{

commadCW.writeSync (0) ؛ // GPIO23 (که متغیر commandCW است) را روی 0 (پایین) تنظیم کنید

}

});

v3.on ('write'، function (param) // دکمه CCW را در برنامه بررسی کنید

{

if (param == 1) // اگر دکمه فشار داده شده (که 1 است) ، موارد زیر را انجام دهید

{

commandCCW.writeSync (1) ؛ // GPIO24 (که متغیر commandCCW است) را روی 1 (HIGH) تنظیم کنید

}

else if (param == 0) // اگر دکمه فشرده نشده است (که 0 است) ، موارد زیر را انجام دهید

{

commandCCW.writeSync (0) ؛ // GPIO24 (که متغیر commandCCW است) را روی 1 (HIGH) تنظیم کنید

}

});

آن را ذخیره کرده و از نانو خارج شوید

- برای ذخیره CTRL+O

- برای ترک CTRL+X

کار شما با Raspberry Pi تمام شده است.

حالا آن را امتحان کنید تا ببینید آیا خطایی دارد (بیشتر اوقات اشتباهات تایپی است)

برای آزمایش آن ، کافی است موارد زیر را در ترمینال خود تایپ کنید

گره MyProject.js

شما باید خروجی به این شکل داشته باشید

حالت OnOff

اتصال به: blynk-cloud.com 8441

مجوز SSL…

مجاز

مرحله 5: MyProject در آردوینو

خوب ، اکنون ما 2/3 چیز را تکمیل کرده ایم!

اکنون فقط باید مقداری کد برای آردوینو بنویسیم.

- یک طرح جدید آردوینو ایجاد کنید و کد زیر را تایپ کنید.

#عبارتند از

#تعریف STEPS_PER_MOTOR_REVOLUTION 32

#تعریف STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// اتصالات پین باید پین 8 ، 9 ، 10 ، 11 متصل باشد

// به راننده موتور In1 ، In2 ، In3 ، In4

// سپس پین ها در ترتیب 1-3-2-4 برای تعیین توالی مناسب در اینجا وارد می شوند

پله کوچک استپر (STEPS_PER_MOTOR_REVOLUTION ، 8 ، 10 ، 9 ، 11) ؛

int Steps2Take؛

int Command1؛

int CommandCW؛

int CommandCCW؛

void setup ()

{

pinMode (2 ، ورودی) ؛

pinMode (3 ، ورودی) ؛

pinMode (4 ، ورودی) ؛

// (کتابخانه Stepper پین ها را به عنوان خروجی تنظیم می کند)

}

حلقه خالی ()

{

Command1 = digitalRead (2) ؛

CommandCW = digitalRead (3) ؛

CommandCCW = digitalRead (4) ؛

if (Command1 == 0)

{

// هیچ کاری نکن

}

دیگری

{

عملکرد ()؛

}

if (CommandCW == 1)

{

small_stepper.setSpeed (700) ؛

small_stepper.step (-1) ؛

تأخیر (1) ؛

}

if (CommandCCW == 1)

{

small_stepper.setSpeed (700) ؛

small_stepper.step (1)؛

تأخیر (1) ؛

}

}

void ExecutionFunction ()

{

مراحل 2 = STEPS_PER_OUTPUT_REVOLUTION / 4 ؛ // چرخش CCW 1/4 دور

small_stepper.setSpeed (700) ؛

small_stepper.step (مراحل 2) // می توانید Steps2Take را با هر مقداری بین 0 تا 2048 جایگزین کنید

تأخیر (500) ؛

مراحل 2 = - STEPS_PER_OUTPUT_REVOLUTION / 4 ؛ // چرخش CW 1/4 دور

small_stepper.setSpeed (700) ؛

small_stepper.step (مراحل 2) // می توانید Steps2Take را با هر مقداری بین 0 تا 2048 جایگزین کنید

تاخیر (2000) ؛

}

کامپایل کنید و در آردوینو خود بارگذاری کنید.

حالا مطمئن شوید که همه چیز را به درستی وصل کرده اید! مرحله بعدی را برای سیم کشی ببینید.

مرحله 6: سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی
سیم کشی

Arduino D3 را به RaspberryPi GPIO18 وصل کنید (که در واقع پین 12 است)

Arduino D4 را به RaspberryPi GPIO23 وصل کنید (که در واقع پین 16 است)

Arduino D4 را به RaspberryPi GPIO24 وصل کنید (که در واقع پین 18 است)

Arduino GND را به RaspberryPi GND وصل کنید (پین 6)

Arduino D8 را به Stepper Controller In1 وصل کنید

Arduino D9 را به Stepper Controller In2 وصل کنید

Arduino D10 را به Stepper Controller In3 وصل کنید

Arduino D11 را به Stepper Controller In4 وصل کنید

5VDC را به Arduino ، Raspberry Pi و Stepper Controller وصل کنید

مرحله 7: همین

ویدیو را بررسی کنید ، باید تمام شوید!

ممنون و لذت ببرید!

توصیه شده: