Агуулгын хүснэгт:

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 алхам (зурагтай)
Видео: Controlling stepper motor with esp32 #jlcpcb 2024, Арваннэгдүгээр
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

Энэхүү заавар нь 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: Энэ бол боллоо

Видеог үзээрэй, та дуусгах ёстой!

Баярлалаа, сайхан өнгөрүүлээрэй!

Зөвлөмж болгож буй: