Агуулгын хүснэгт:
- Алхам 1: Утсан дээрээ апп үүсгэх
- Алхам 2: PI -ийг бэлэн болгох
- Алхам 3: Төслөө бий болгох
- Алхам 4: MyProject.js
- Алхам 5: Arduino дахь MyProject
- Алхам 6: Цахилгааны утас
- Алхам 7: Энэ бол боллоо
Видео: Raspberry PI & Arduino - Blynk Stepper Control: 7 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Энэхүү заавар нь Arduino, Raspberry Pi, Blynk програм ашиглан stepper моторыг хэрхэн удирдахыг танд үзүүлэх болно.
Самрын бүрхүүлд уг програм нь Raspberry Pi руу виртуал тээглүүрээр дамжуулан хүсэлт илгээдэг бол Pi дараа нь Arduino болон Arduino руу HIGH/LOW дохиог илгээдэг бөгөөд дараа нь stepper мотортой харьцдаг.
Ихэнх хүмүүс Raspberry Pi дээр node.js ашигладаггүй, харин ихэнх хүмүүс Arduino -тэй ажилладаг тул энэ аргыг ашиглах нь илүү хялбар гэж би бодож байна.
Үүнд шаардлагатай бүрэлдэхүүн хэсгүүд:
- Raspberry PI (би Raspberry Pi 3 загварыг ашиглаж байна b)
- Arduino (би Arduino нано ашиглаж байна)
- Servo Motor (Би хянагчтайгаа 28BYJ-48 5VDC ашиглаж байна)
- Зарим холбогч утас
- Эрчим хүчний эх үүсвэр (5VDC 2A.)
Arduino ноорог болон Node.js кодыг татаж авах боломжтой. Зөвхөн файлуудыг хайна уу.
Алхам 1: Утсан дээрээ апп үүсгэх
Blynk -ийг AppStore эсвэл GooglePlay дээрээс татаж аваарай
Аппыг нээгээд хэрэглэгч үүсгээрэй эсвэл facebook -ээр нэвтэрнэ үү.
- Шинэ төсөл бий болгох
Төслөө нэрлэнэ үү: MyProject
Төхөөрөмжийг сонгоно уу: Rasapberry Pi 3 B.
Холболтын төрөл: Wifi (эсвэл таны Pi сүлжээнд холбогдсон бол Ethernet)
- Үүсгэх дээр дарна уу
Токеноо авахын тулд имэйлээ шалгана уу
(3aa19bb8a9e64c90af11e3f6b0595b3c шиг харагдаж байна)
Энэхүү жетон нь таны одоогийн апп -тай холбоотой. Хэрэв та өөр апп хийвэл та өөр жетон үүсгэх болно.
Аппликешнд дараах виджетүүдийг нэмнэ үү (зургийг үзнэ үү)
- 3 товчлуурыг нэмнэ үү
- 1 LCD нэмэх
- Товчлуурыг засах
Эхнийх нь Command1 гэж нэрлэнэ үү, Пинийг виртуал зүү 1 болгож, горимыг SWITCH гэж тохируулна уу
хоёр дахь нь CW гэж нэрлээд Pin -ийг Virtual Pin 2 болгож, Mode -ийг PUSH гэж тохируулна уу
гурав дахь нь CCW гэж нэрлэнэ үү, Pin -ийг Virtual Pin 3 болгож, горимыг PUSH гэж тохируулна уу
- LCD дэлгэцийг засах
Pins -ийг Virtual Pin 4 ба Virtual Pin 5 гэж тохируулаад горимыг PUSH болгож тохируулна уу
Алхам 2: PI -ийг бэлэн болгох
Нэгдүгээрт, та Node.js. -ийг суулгах хэрэгтэй. Node.js -ийг шинэчлэхийн өмнө хуучин хувилбаруудыг устгахаа мартуузай.
Терминал нээгээд бичнэ үү
sudo apt-get цэвэрлэх зангилааны зангилаа
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-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 эхлэл
Зүгээр л төслийн нэр, зохиогч, хувилбар гэх мэтийг бичнэ үү.
Үүнийг хийсний дараа Blynk номын сан, оффисын номын сан, системийн унтах номын санг ТАНЫ төслийн лавлахад суулгаарай. Терминалдаа дараахь зүйлийг бичнэ үү
npm blynk-library суулгах-хадгалах
npm суулгах onoff -хадгална уу
npm system-sleep-аварна уу
Эцэст нь өөрийн.js файлыг үүсгэнэ үү (Энэ нь таны код байх болно). Терминал дээр дараахь зүйлийг бичнэ үү
нано MyProject.js
Та энэ тушаалыг гүйцэтгэсний дараа нано (терминал текст засварлагч) нээгдэнэ.
Алхам 4: MyProject.js
Нано дээр дараах кодын мөрүүдийг бичнэ үү
var Blynk = шаарддаг ('blynk-номын сан');
var AUTH = '******************'; ЭНЭ ТАНЫ ТОКЕН
var blynk = шинэ Blynk. Blynk (AUTH);
var Gpio = шаардлагатай ('унтраах'). Gpio,
command1 = new Gpio (18, 'out'), // Arduino D2 -тэй холбогдоно
commandCW = шинэ Gpio (23, 'out'), // Arduino D3 -тэй холбогдоно
commandCCW = шинэ Gpio (24, 'out'); // Arduino D4 -тэй холбогдох болно
var sleep = шаардлагатай ('system-sleep');
var v1 = шинэ blynk. VirtualPin (1); // энэ бол таны Command1 товчлуур юм
var v2 = шинэ blynk. VirtualPin (2); // энэ бол таны CW товчлуур юм
var v3 = new blynk. VirtualPin (3); // энэ бол апп дахь таны CCW товчлуур юм
var v4 = шинэ blynk. VirtualPin (4); // энэ бол апп дахь таны LCD шугам 1 юм
var v5 = шинэ blynk. VirtualPin (5); // энэ бол апп дахь таны LCD шугам 2 юм
v1.on ('бичих', функц (парам) // Аппликешн дэх Command1 товчийг шалгана уу
{
if (param == 1) // Хэрэв товчлуур дарагдсан бол (энэ нь 1 юм) дараах зүйлийг хийнэ үү
{
v4. бичих ("Гүйцэтгэж байна"); // LCD -ийн эхний мөрөнд "Гүйцэтгэж байна" гэж бичнэ үү
v5. бичих ("Тушаал"); // LCD -ийн хоёр дахь мөрөнд "Command" гэж бичнэ үү
command1.writeSync (1); // GPIO18 -ийг (хувьсах тушаал 1) 1 (HIGH) болгож тохируулна уу.
унтах (4000); // 4 секунд хүлээнэ үү
command1.writeSync (0); // GPIO18 (хувьсах тушаал 1) -ийг 0 (LOW) болгож тохируулна уу.
v4. бичих ("Дууссан"); // LCD дэлгэцийн эхний мөрөнд "Дууссан" гэж бичнэ үү
v5. бичих (""); // LCD дэлгэцийн хоёр дахь мөрөнд "" (юу ч биш) гэж бичнэ үү
v1. бичих (0); // Command1 товчлуур дээрээ 0 гэж бичээд унтраах байрлал руу буцаана
}
});
v2.on ('бичих', функц (парам) // Апп дээрх CW товчийг шалгана уу
{
if (param == 1) // Хэрэв товчлуур дарагдсан бол (энэ нь 1 юм) дараах зүйлийг хийнэ үү
{
commandCW.writeSync (1); // GPIO23 -ийг (хувьсах тушаал CW) 1 (HIGH) болгож тохируулна уу.
}
else if (param == 0) // Хэрэв товчлуур дарагдаагүй бол (энэ нь 0 байна) дараах зүйлийг хийнэ үү
{
commadCW.writeSync (0); // GPIO23 -ийг (хувьсах тушаал CW) 0 (LOW) болгож тохируулна уу.
}
});
v3.on ('бичих', функц (параметр) // Апп дээрх CCW товчийг шалгана уу
{
if (param == 1) // Хэрэв товчлуур дарагдсан бол (энэ нь 1 юм) дараах зүйлийг хийнэ үү
{
commandCCW.writeSync (1); // GPIO24 -ийг (хувьсах тушаалCCW) 1 (HIGH) болгож тохируулна уу.
}
else if (param == 0) // Хэрэв товчлуур дарагдаагүй бол (энэ нь 0 байна) дараах зүйлийг хийнэ үү
{
commandCCW.writeSync (0); // GPIO24 -ийг (хувьсах тушаалCCW) 1 (HIGH) болгож тохируулна уу.
}
});
Үүнийг хадгалаад наногоос гарна уу
- CTRL+O хадгалах
- CTRL+X -ээс гарах
Та Raspberry Pi -г хийж дууслаа.
Ямар нэгэн алдаа байгаа эсэхийг шалгахын тулд үүнийг туршиж үзээрэй (ихэнх тохиолдолд Typo алдаа байдаг)
Үүнийг шалгахын тулд Терминалдаа дараах зүйлийг бичээрэй
зангилаа MyProject.js
Та иймэрхүү харагдах үр дүнг авах ёстой
OnOff горим
Холбогдох: blynk-cloud.com 8441
SSL зөвшөөрөл…
Эрх бүхий
Алхам 5: Arduino дахь MyProject
За, одоо бид 2/3 зүйлийг дуусгасан!
Одоо бид Arduino -д зориулж код бичих хэрэгтэй.
- Шинэ Arduino ноорог үүсгэж дараах кодыг бичнэ үү.
#оруулах
#АЛХАМД_МОТОРЫН_ХУВЬЦАА тодорхойлох 32
#тодорхойлох алхамууд_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. алхам (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 Controller In1 -тэй холбоно уу
Arduino D9 -ийг Stepper Controller In2 руу холбоно уу
Arduino D10 -ийг Stepper Controller In3 руу холбоно уу
Arduino D11 -ийг Step4 Controller In4 -тэй холбоно уу
5VDC -ийг Arduino, Raspberry Pi, Stepper Controller руу холбоно уу
Алхам 7: Энэ бол боллоо
Видеог үзээрэй, та дуусгах ёстой!
Баярлалаа, сайхан өнгөрүүлээрэй!
Зөвлөмж болгож буй:
Arduino дээр ажилладаг Stepper Speed Control цэс: 6 алхам
Arduino -д зориулагдсан Stepper Speed Control цэс: Энэхүү SpeedStepper номын сан нь stepper моторын хурдыг хянахын тулд AccelStepper номын санг дахин бичсэн болно. SpeedStepper номын сан нь хөдөлгүүрийн тогтоосон хурдыг өөрчлөх боломжийг олгодог бөгөөд дараа нь ижил алгоритмыг ашиглан шинэ тогтоосон хурдыг хурдасгаж/удаашруулдаг
Микроконтроллергүй Stepper Motor удирдлагатай Stepper Motor!: 6 алхам
Микроконтроллергүй Stepper Motor удирдлагатай Stepper Motor!: Энэхүү хурдан зааварчилгаанд бид stepper мотор ашиглан энгийн stepper мотор хянагч хийх болно. Энэ төсөл нь нарийн төвөгтэй хэлхээ эсвэл микроконтроллер шаарддаггүй. Тиймээс илүү их зүйлийг нуршилгүй эхлүүлцгээе
Микроконтроллергүй Stepper моторын хяналттай Stepper Motor (V2): 9 алхам (зурагтай)
Микроконтроллергүй Stepper Motor Stepper Motor (V2): Өмнөх зааварчилгааны нэг хэсэгт би микроконтроллергүй stepper мотор ашиглан stepper моторыг хэрхэн удирдахыг танд харуулсан. Энэ бол хурдан бөгөөд хөгжилтэй төсөл байсан боловч энэ зааварчилгаанд шийдвэрлэх хоёр асуудлыг авчирсан. Тиймээс, ухаантай
Stepper мотороор удирддаг загвар зүтгүүр - Эргэдэг кодлогч болох Stepper мотор: 11 алхам (зурагтай)
Stepper мотороор удирддаг загвар зүтгүүр | Ротари кодлогч болох Stepper мотор: Өмнөх зааварчилгааны нэгэнд бид stepper моторыг эргэдэг кодлогч болгон ашиглах талаар сурсан. Энэ төсөлд бид одоо Arduino микроконтроллер ашиглан зүтгүүрийн загварыг удирдахын тулд тэр алхам хөдөлгүүрийг эргэдэг кодлогч ашиглан ашиглах болно. Тиймээс, фугүйгээр
Stepper Motor удирдлагатай Stepper Motor - Эргэдэг кодлогч болох Stepper мотор: 11 алхам (зурагтай)
Stepper Motor удирдлагатай Stepper Motor | Эргэдэг кодлогч болох Stepper мотор: Хэд хэдэн алхамтай моторууд хэвтэж байгаад ямар нэгэн зүйл хийхийг хүсч байна уу? Энэхүү зааварт гарын авлагад Arduino микроконтроллер ашиглан stepper моторыг өөр нэг stepper моторын байрлалыг хянахын тулд эргэдэг кодлогч болгон ашиглацгаая. Тиймээс цааш нь хэлэлгүйгээр, явцгаая