תוכן עניינים:
- שלב 1: יצירת האפליקציה בטלפון שלך
- שלב 2: הכנת ה- PI
- שלב 3: יצירת הפרויקט שלך
- שלב 4: MyProject.js
- שלב 5: MyProject בארדואינו
- שלב 6: חיווט
- שלב 7: זהו
וִידֵאוֹ: Raspberry PI & Arduino - Blynk Stepper Control: 7 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
הדרכה זו תראה לכם כיצד לשלוט על מנוע צעד עם Arduino, Raspberry Pi ויישום Blynk.
בקליפת אגוזים, האפליקציה שולחת בקשות ל- Raspberry Pi באמצעות סיכות וירטואליות, לאחר מכן ה- Pi שולח אות HIGH/LOW לארגואינו ולאחר מכן ה- Arduino עוסק במנוע הצעד.
אני חושב שקל יותר להשתמש באישור זה מכיוון שרוב האנשים רגילים לעבוד עם Arduino ולא הרבה עם node.js ב- Raspberry Pi.
רכיבים הדרושים לשם כך:
- פטל PI (אני משתמש בדגם Raspberry Pi 3)
- Arduino (אני משתמש ב- Arduino Nano)
- מנוע סרוו (אני משתמש ב- 28BYJ-48 5VDC עם הבקר שלו)
- כמה חוטי מגשר
- מקור חשמל (5VDC 2A.)
ניתן להוריד את המערכון של Arduino ואת הקוד Node.js. פשוט חפש את הקבצים.
שלב 1: יצירת האפליקציה בטלפון שלך
הורד את Blynk מה- AppStore או מ- GooglePlay
פתח את האפליקציה וצור משתמש או התחבר באמצעות פייסבוק.
- צור פרויקט חדש
תן שם לפרויקט שלך: MyProject
בחר מכשיר: Rasapberry Pi 3 B
סוג חיבור: Wifi (או אתרנט אם ה- Pi מחובר לרשת שלך)
- לחץ על צור
בדוק את האימייל שלך לגבי האסימון שלך
(נראה כך 3aa19bb8a9e64c90af11e3f6b0595b3c)
אסימון זה קשור לאפליקציה הנוכחית שלך. אם תעשה אפליקציה אחרת, תיצור אסימון נוסף.
באפליקציה הוסיפו את הווידג'טים הבאים (ראו תמונה)
- הוסף 3 כפתורים
- הוסף LCD אחד
- ערוך את הכפתור
תן שם לפקודה הראשונה, הגדר את הסיכה כסיכה וירטואלית 1 והגדר את המצב כ- SWITCH
תן שם ל- CW השני, הגדר את הסיכה כסיכה וירטואלית 2 והגדר את המצב כ- PUSH
תן את שם ה- CCW השלישי, הגדר את הסיכה כסיכה וירטואלית 3 והגדר את המצב כ- PUSH
- ערוך את ה- LCD
הגדר את הפינים כ- Pin Pin 4 ו- Virtual Pin 5 והגדר את המצב ל- PUSH
שלב 2: הכנת ה- PI
ראשית, עליך להתקין את Node.js. לפני עדכון Node.js, הקפד להסיר גרסאות ישנות:
פתח את הטרמינל והקלד
sudo apt-get node 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 וספריית שינה-שינה במדריך הפרויקטים שלך. הקלד את הטרמינל הבא
npm התקן blynk-library --save
npm להתקין onoff -לשמור
npm התקן מערכת שינה-שמור
לבסוף, צור את קובץ ה- js שלך (כאן יהיה מקום הקוד שלך). הקלד את הטרמינל הבא
ננו MyProject.js
לאחר שתבצע את הפקודה, ננו (עורך טקסט מסוף) ייפתח.
שלב 4: MyProject.js
בננו, כתוב את שורות הקוד הבאות
var Blynk = require ('blynk-library');
var AUTH = '******************'; זה האסימון שלך
var blynk = Blynk. Blynk חדש (AUTH);
var Gpio = require ('onoff'). Gpio,
command1 = Gpio חדש (18, 'out'), // יתחבר ל- Arduino D2
commandCW = Gpio חדש (23, 'out'), // יתחבר ל- Arduino D3
commandCCW = Gpio חדש (24, 'out'); // יתחבר ל- Arduino D4
var sleep = require ('מערכת-שינה');
var v1 = 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 ('לכתוב', פונקציה (param) // בדוק אם יש כפתור Command1 ביישום
{
אם (param == 1) // אם לוחצים על הכפתור (שהוא 1) אז בצע את הפעולות הבאות
{
v4.write ("ביצוע"); // כתוב "ביצוע" בשורה הראשונה של ה- LCD
v5.write ("פקודה"); // כתוב "פקודה" בשורה השנייה של ה- LCD
command1.writeSync (1); // הגדר את GPIO18 (שהוא פקודה משתנה 1) ל- 1 (HIGH)
שינה (4000); // המתן 4 שניות
command1.writeSync (0); // הגדר את GPIO18 (שהיא הפקודה המשתנה 1) ל- 0 (LOW)
v4.write ("בוצע"); // כתוב "בוצע" בשורה הראשונה של ה- LCD
v5.write (""); // כתוב "" (כלום) בשורה השנייה של ה- LCD
v1.write (0); // כתוב 0 לכפתור Command1 שלך, שיאפס אותו למצב OFF
}
});
v2.on ('לכתוב', פונקציה (param) // בדוק אם לחצן CW באפליקציה
{
אם (param == 1) // אם לוחצים על הכפתור (שהוא 1) אז בצע את הפעולות הבאות
{
commandCW.writeSync (1); // הגדר את GPIO23 (שהוא פקודה משתנה CW) ל- 1 (HIGH)
}
אחרת אם (param == 0) // אם הכפתור לא נלחץ (שהוא 0) אז בצע את הפעולות הבאות
{
commadCW.writeSync (0); // הגדר את GPIO23 (שהוא הפקודה משתנה CW) ל- 0 (LOW)
}
});
v3.on ('לכתוב', פונקציה (param) // בדוק אם לחצן CCW באפליקציה
{
אם (param == 1) // אם לוחצים על הכפתור (שהוא 1) אז בצע את הפעולות הבאות
{
commandCCW.writeSync (1); // הגדר את GPIO24 (שהוא הפקודה המשתנה CCW) ל- 1 (HIGH)
}
אחרת אם (param == 0) // אם הכפתור לא נלחץ (שהוא 0) אז בצע את הפעולות הבאות
{
commandCCW.writeSync (0); // הגדר את GPIO24 (שהוא הפקודה המשתנה CCW) ל- 1 (HIGH)
}
});
שמור אותו ויצא מהננו
- כדי לשמור CTRL+O
- כדי לסיים CTRL+X
סיימת עם ה- Raspberry Pi.
עכשיו בדוק את זה כדי לראות אם יש טעויות כלשהן (לרוב מדובר בשגיאות הקלדה)
כדי לבדוק זאת, פשוט הקלד את הדברים הבאים במסוף שלך
הצומת MyProject.js
אתה אמור לקבל פלט שנראה כך
מצב OnOff
מתחבר אל: blynk-cloud.com 8441
אישור SSL…
מורשה
שלב 5: MyProject בארדואינו
אוקיי אז עכשיו סיימנו 2/3 דברים!
עכשיו רק צריך לכתוב קוד לארדואינו.
- צור סקיצה חדשה של Arduino והקלד את הקוד הבא.
#לִכלוֹל
#הגדר STEPS_PER_MOTOR_REVOLUTION 32
#הגדר STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// חיבורי הפינים צריכים להיות מחוברים לפינים 8, 9, 10, 11
// לנהג מנוע In1, In2, In3, In4
// ואז הסינים מוזנים כאן ברצף 1-3-2-4 לרצף נכון
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Command1;
int CommandCW;
int CommandCCW;
הגדרת חלל ()
{
pinMode (2, INPUT);
pinMode (3, INPUT);
pinMode (4, INPUT);
// (Stepper Library מגדיר סיכות כפלט)
}
לולאת חלל ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
אם (Command1 == 0)
{
//לעשות כלום
}
אַחֵר
{
ExecutionFunction ();
}
אם (CommandCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (-1);
עיכוב (1);
}
אם (CommandCCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (1);
עיכוב (1);
}
}
void ExecutionFunction ()
{
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 (סיכה 6)
חבר את Arduino D8 לבקר Stepper In1
חבר את Arduino D9 לבקר Stepper In2
חבר את Arduino D10 לבקר Stepper In3
חבר את Arduino D11 לבקר Stepper In4
חבר 5VDC ל- Arduino, Raspberry Pi ו- Controller Controller
שלב 7: זהו
בדוק את הסרטון, וכדאי שתסיים!
תודה ותהנה!
מוּמלָץ:
מסגרת תמונות Raspberry Pi בפחות מ -20 דקות: 10 שלבים (עם תמונות)
מסגרת תמונות Raspberry Pi בפחות מ -20 דקות: כן, זו עוד מסגרת צילום דיגיטלית! אבל רגע, הוא מלוטש יותר, וכנראה המהיר ביותר להרכבה ולריצה
Plug & Play שרת רשת Tiny Raspberry Pi: 6 שלבים (עם תמונות)
Plug & Play Tiny Raspberry Pi Server Network Network: לאחרונה קיבלתי את הידיים על שני Raspberry Pi 1 דגם A+ במחיר זול. אם לא שמעתם על פי דגם A, זהו אחד מגורמי הצורה המוקדמים ביותר של ה- Raspberry Pi שהוא גדול יותר מ- Pi Zero וקטנה מ- Raspberry Pi רגיל. אני תמיד רוצה
פרויקט Totoro - IoT & MQTT & ESP01: 7 שלבים (עם תמונות)
פרויקט Totoro - IoT & MQTT & ESP01: פרויקט Totoro זה פרוייקט IoT נחמד שתוכל להעתיק בצורות שונות אחרות. באמצעות לוח ESP01, עם פרוטוקול MQTT, תוכל להעביר את מצב הכפתור למתווך MQTT (ב- שלי מקרה AdafruitIO). מדריך שימושי עבור MQTT ומודעות
תחנת מזג אוויר נוספת של Arduino (ESP-01 & BMP280 & DHT11 & OneWire): 4 שלבים
עוד תחנת מזג אוויר ארדואינו (ESP-01 & BMP280 & DHT11 & OneWire): כאן תוכלו למצוא איטרציה אחת של שימוש ב- OneWire עם מעט הסיכות של ESP-01. המכשיר שנוצר במדריך זה מתחבר לרשת ה- Wifi של שלכם בחירה (עליך להיות בעל תעודות …) אוסף נתונים חושיים מ- BMP280 ו- DHT11
ESP8266 & הציבור "חינם" MQTT Broker HiveMQ & Node-RED: 6 שלבים (עם תמונות)
ESP8266 & הציבור "חינם" ברוקר MQTT HiveMQ & Node-RED: פרוטוקול MQTT לקח כוח רב בשנים האחרונות מכיוון שהוא פשוט, בטוח, פרקטי וקל משקל מושלם ליישומי IoT ו- M2M. תודה לתרומה של מפתחים ומפתחים של יישומי MQTT, ישנם MQT ציבוריים