جدول المحتويات:

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 خطوات (بالصور)
فيديو: A4988 Stepper Motor Controller - Arduino & NodeMCU 2024, شهر نوفمبر
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

سيوضح لك هذا البرنامج التعليمي كيفية التحكم في محرك متدرج باستخدام Arduino و Raspberry Pi وتطبيق Blynk.

في قشرة الجوز ، يرسل التطبيق طلبات إلى Raspberry Pi عبر Virtual Pins ، ثم يرسل Pi إشارة HIGH / LOW إلى Arduino ثم يتعامل Arduino مع محرك السائر.

أعتقد أنه من الأسهل استخدام هذا الأسلوب لأن معظم الناس معتادون على العمل مع Arduino وليس كثيرًا مع node.js على Raspberry Pi.

المكونات اللازمة لهذا:

- Raspberry PI (أنا أستخدم Raspberry Pi 3 model b)

- اردوينو (أنا أستخدم Arduino Nano)

- محرك سيرفو (أنا أستخدم 28BYJ-48 5VDC مع وحدة التحكم الخاصة به)

- بعض أسلاك العبور

- مصدر الطاقة (5VDC 2A.)

رسم Arduino وكود Node.js متاحان للتنزيل. فقط ابحث عن الملفات.

الخطوة 1: إنشاء التطبيق على هاتفك

إنشاء التطبيق على هاتفك
إنشاء التطبيق على هاتفك
إنشاء التطبيق على هاتفك
إنشاء التطبيق على هاتفك

قم بتنزيل Blynk من AppStore أو GooglePlay

افتح التطبيق وأنشئ مستخدمًا أو سجل الدخول باستخدام facebook.

- إنشاء مشروع جديد

اسم مشروعك: MyProject

اختر الجهاز: Rasapberry Pi 3 B

نوع الاتصال: Wifi (أو Ethernet إذا كان Pi الخاص بك سلكيًا بشبكتك)

- انقر فوق إنشاء

تحقق من بريدك الإلكتروني بحثًا عن الرمز المميز الخاص بك

(يبدو مثل هذا 3aa19bb8a9e64c90af11e3f6b0595b3c)

هذا الرمز مرتبط بتطبيقك الحالي. إذا قمت بعمل تطبيق آخر ، فسوف تقوم بإنشاء رمز مميز آخر.

في التطبيق أضف الحاجيات التالية (انظر الصورة)

- اضافة 3 ازرار

- إضافة 1 LCD

- تحرير الزر

قم بتسمية الأمر الأول Command1 ، وقم بتعيين الدبوس كـ Virtual Pin 1 وقم بتعيين الوضع على أنه SWITCH

قم بتسمية الرقم الثاني CW ، وقم بتعيين Pin كـ Virtual Pin 2 وقم بتعيين الوضع على أنه PUSH

قم بتسمية الرقم الثالث CCW ، وقم بتعيين Pin كـ Virtual Pin 3 وقم بتعيين الوضع على أنه PUSH

- تحرير شاشة LCD

اضبط الدبابيس على شكل Virtual Pin 4 و Virtual Pin 5 واضبط الوضع على PUSH

الخطوة الثانية: تجهيز PI

أولاً ، تحتاج إلى تثبيت Node.js. قبل تحديث Node.js ، يرجى التأكد من إزالة الإصدارات القديمة:

افتح Terminal واكتب

sudo apt-get purge 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-basic nodejs -y

بمجرد تثبيت Node.js ، قم بتثبيت Blynk

sudo npm تثبيت blynk-library-g

تثبيت sudo npm onoff -g

الخطوة الثالثة: إنشاء مشروعك

ابدأ بتغيير الدليل (الأمر cd) إلى دليل pi

افتح Terminal واكتب:

القرص المضغوط / المنزل / pi /

بعد ذلك ، قم بإنشاء دليل حيث سيقيم مشروعك

mkdir MyProject

قم بتغيير الدليل إلى MyProject ، اكتب ما يلي في Terminal

سي دي ماي بروجيكت

تحقق من محتوى الدليل (يجب أن يكون فارغًا). فقط اكتب ما يلي في Terminal

ls

بعد ذلك ، اكتب ما يلي لإنشاء وصف مشروعك (package.json)

الحرف الأول npm

فقط اكتب اسم المشروع ، المؤلف ، الإصدار ، إلخ …

بمجرد الانتهاء من ذلك ، قم بتثبيت مكتبة Blynk ، ومكتبة onoff ومكتبة نوم النظام في دليل مشروعك. اكتب ما يلي في Terminal الخاص بك

npm تثبيت مكتبة blynk - حفظ

npm تثبيت onoff - حفظ

npm تثبيت نظام النوم - حفظ

أخيرًا ، قم بإنشاء ملف.js الخاص بك (سيكون هذا هو المكان الذي ستوجد فيه التعليمات البرمجية الخاصة بك). اكتب ما يلي في Terminal

نانو MyProject.js

بمجرد تنفيذ هذا الأمر ، سيتم فتح nano (محرر نصوص طرفي).

الخطوة 4: MyProject.js

في nano ، اكتب سطور التعليمات البرمجية التالية

var Blynk = تتطلب ('blynk-library') ؛

var AUTH = '******************' ؛ هذا هو رمزك المميز

var blynk = new Blynk. Blynk (AUTH) ؛

var Gpio = يتطلب ('onoff'). Gpio ،

command1 = new Gpio (18، 'out')، // سيتم توصيله بـ Arduino D2

commandCW = new Gpio (23، 'out')، // سيتم توصيله بـ Arduino D3

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

فار النوم = تتطلب ("نظام النوم") ؛

var v1 = new blynk. VirtualPin (1) ؛ // هذا هو زر Command1 الخاص بك في التطبيق

var v2 = جديد blynk. VirtualPin (2) ؛ // هذا هو زر CW الخاص بك في التطبيق

var v3 = جديد blynk. VirtualPin (3) ؛ // هذا هو زر CCW في التطبيق

var v4 = جديد blynk. VirtualPin (4) ؛ // هذا هو خط LCD 1 في التطبيق

var v5 = جديد blynk. VirtualPin (5) ؛ // هذا هو خط LCD 2 في التطبيق

v1.on ('write'، function (param) // تحقق من زر Command1 في التطبيق

{

إذا (param == 1) // إذا تم الضغط على الزر (وهو 1) ، فقم بما يلي

{

v4.write ("التنفيذ") ؛ // اكتب "Executing" على السطر الأول من شاشة LCD

v5.write ("الأمر") ؛ // اكتب "أمر" في السطر الثاني من شاشة LCD

command1.writeSync (1) ، // اضبط GPIO18 (وهو أمر متغير 1) على 1 (عالي)

ينام (4000) ؛ // انتظر لمدة 4 ثوان

command1.writeSync (0) ، // اضبط GPIO18 (وهو أمر متغير 1) على 0 (منخفض)

v4.write ("تم") ؛ // اكتب "تم" على السطر الأول من شاشة LCD

v5.write ("") ؛ // اكتب "" (لا شيء) في السطر الثاني من شاشة LCD

v1.write (0) ؛ // اكتب 0 إلى زر Command1 الخاص بك ، والذي سيعيد تعيينه إلى وضع إيقاف التشغيل

}

});

v2.on ('write'، function (param) // تحقق من زر CW في التطبيق

{

إذا (param == 1) // إذا تم الضغط على الزر (وهو 1) ، فقم بما يلي

{

commandCW.writeSync (1) ، // اضبط GPIO23 (وهو أمر متغير CW) على 1 (عالي)

}

وإلا إذا (param == 0) // إذا لم يتم الضغط على الزر (وهو 0) ، فقم بما يلي

{

commadCW.writeSync (0) ، // اضبط GPIO23 (وهو أمر متغير CW) على 0 (منخفض)

}

});

v3.on ('write'، function (param) // تحقق من زر CCW في التطبيق

{

إذا (param == 1) // إذا تم الضغط على الزر (وهو 1) ، فقم بما يلي

{

commandCCW.writeSync (1) ، // اضبط GPIO24 (وهو أمر متغير CCW) على 1 (عالي)

}

وإلا إذا (param == 0) // إذا لم يتم الضغط على الزر (وهو 0) ، فقم بما يلي

{

commandCCW.writeSync (0) ، // اضبط GPIO24 (وهو أمر متغير CCW) على 1 (عالي)

}

});

احفظه واخرج من nano

- لحفظ CTRL + O

- لإنهاء CTRL + X

لقد انتهيت من Raspberry Pi.

اختبرها الآن لمعرفة ما إذا كان لديك أي نوع من الأخطاء (معظم الوقت أخطاء مطبعية)

لاختباره ، ما عليك سوى كتابة ما يلي في Terminal الخاص بك

العقدة MyProject.js

يجب أن تحصل على إخراج يشبه هذا

وضع OnOff

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

ترخيص SSL …

مخول

الخطوة 5: MyProject في Arduino

حسنًا ، لقد أكملنا الآن 2/3 أشياء!

الآن نحتاج فقط إلى كتابة بعض التعليمات البرمجية لـ Arduino.

- قم بإنشاء رسم Arduino جديد واكتب الكود التالي.

#يشمل

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// يجب أن تكون وصلات الدبوس دبابيس 8 ، 9 ، 10 ، 11 متصلة

// إلى Motor Driver In1 ، In2 ، In3 ، In4

// ثم يتم إدخال المسامير هنا في التسلسل 1-3-2-4 للتسلسل الصحيح

Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION ، 8 ، 10 ، 9 ، 11) ؛

int Steps2Take

الأمر int1 ؛

int CommandCW ؛

أمر intCCW ؛

الإعداد باطل()

{

pinMode (2 ، الإدخال) ؛

pinMode (3 ، الإدخال) ؛

pinMode (4 ، الإدخال) ؛

// (مكتبة السائر تضع الدبابيس كمخرجات)

}

حلقة فارغة()

{

Command1 = digitalRead (2) ،

CommandCW = digitalRead (3) ،

CommandCCW = digitalRead (4) ،

إذا (Command1 == 0)

{

//لا تفعل شيئا

}

آخر

{

وظيفة التنفيذ () ؛

}

إذا (CommandCW == 1)

{

small_stepper.setSpeed (700) ،

small_stepper.step (-1) ،

تأخير (1) ؛

}

إذا (CommandCCW == 1)

{

small_stepper.setSpeed (700) ،

small_stepper.step (1) ،

تأخير (1) ؛

}

}

تنفيذ باطل

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4 ، // تدوير CCW 1/4 دورة

small_stepper.setSpeed (700) ،

small_stepper.step (Steps2Take) ، // يمكنك استبدال Steps2Take بأي قيمة بين 0 و 2048

تأخير (500) ؛

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4 ؛ // تدوير CW 1/4 دورة

small_stepper.setSpeed (700) ،

small_stepper.step (Steps2Take) ، // يمكنك استبدال Steps2Take بأي قيمة بين 0 و 2048

تأخير (2000) ؛

}

تجميع وتحميل إلى Arduino الخاص بك.

تأكد الآن من توصيل كل شيء بشكل صحيح! انظر الخطوة التالية لتوصيل الأسلاك.

الخطوة 6: الأسلاك

الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك
الأسلاك

قم بتوصيل Arduino D3 بـ RaspberryPi GPIO18 (وهو في الواقع دبوس 12)

قم بتوصيل Arduino D4 بـ RaspberryPi GPIO23 (وهو في الواقع رقم التعريف الشخصي 16)

قم بتوصيل Arduino D4 بـ RaspberryPi GPIO24 (وهو في الواقع رقم 18)

قم بتوصيل Arduino GND بـ RaspberryPi GND (pin 6)

قم بتوصيل Arduino D8 بجهاز تحكم السائر In1

قم بتوصيل Arduino D9 بوحدة التحكم في السائر In2

قم بتوصيل Arduino D10 بجهاز التحكم السائر In3

قم بتوصيل Arduino D11 بجهاز التحكم السائر In4

قم بتوصيل 5VDC بـ Arduino و Raspberry Pi و Stepper Controller

الخطوة 7: هذا كل شيء

تحقق من الفيديو ، ويجب أن تنتهي!

شكرا واستمتع!

موصى به: