Mundarija:

Raspberry PI & Arduino - Blynk Stepper Control: 7 qadam (rasmlar bilan)
Raspberry PI & Arduino - Blynk Stepper Control: 7 qadam (rasmlar bilan)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 qadam (rasmlar bilan)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 qadam (rasmlar bilan)
Video: MKS Gen L — Марлин 1 1 9 (configuration.h) 2024, Noyabr
Anonim
Raspberry PI va Arduino - Blynk Stepper Control
Raspberry PI va Arduino - Blynk Stepper Control

Ushbu qo'llanma sizga Arduino, Raspberry Pi va Blynk ilovasi yordamida step motorini qanday boshqarishni ko'rsatib beradi.

Yong'oq qobig'ida ilova Raspberry Pi -ga Virtual Pins orqali so'rov yuboradi, keyin Pi Arduino -ga HIGH/LOW signalini yuboradi va Arduino stepli dvigatel bilan shug'ullanadi.

Menimcha, bu yondashuvni ishlatish osonroq, chunki ko'pchilik odamlar Raspberry Pi -da node.js bilan emas, balki Arduino bilan ishlashga odatlangan.

Buning uchun zarur bo'lgan komponentlar:

- Raspberry PI (men Raspberry Pi 3 modelini ishlataman b)

- Arduino (men Arduino Nano -dan foydalanaman)

- Servo dvigateli (men uning boshqaruvchisi bilan 28BYJ-48 5VDC dan foydalanayapman)

- Ba'zi o'tish simlari

- Quvvat manbai (5VDC 2A.)

Arduino eskizini va Node.js kodini yuklab olish mumkin. Faqat fayllarni qidiring.

1 -qadam: Telefoningizda dastur yaratish

Telefonda ilovani yaratish
Telefonda ilovani yaratish
Telefonda ilovani yaratish
Telefonda ilovani yaratish

Blynk -ni AppStore yoki GooglePlay -dan yuklab oling

Ilovani oching va foydalanuvchi yarating yoki Facebook -ga kiring.

- Yangi loyiha yarating

Loyihangizga nom bering: MyProject

Qurilmani tanlang: Rasapberry Pi 3 B

Ulanish turi: Wi -Fi (yoki sizning Pi tarmog'ingizga ulangan bo'lsa Ethernet)

- Yaratish -ni bosing

Token uchun elektron pochtangizni tekshiring

(shunga o'xshaydi 3aa19bb8a9e64c90af11e3f6b0595b3c)

Bu token sizning joriy ilovangiz bilan bog'langan. Agar siz boshqa ilova qilsangiz, siz boshqa token yaratasiz.

Ilovaga quyidagi vidjetlarni qo'shing (rasmga qarang)

- 3 ta tugmachani qo'shing

- 1 ta LCD qo'shing

- Tugmani tahrirlash

birinchisiga Command1 deb nom bering, Pinni Virtual Pin 1 deb belgilang va rejimni SWITCH sifatida o'rnating

ikkinchisiga CW deb nom bering, Pinni Virtual Pin 2 ga qo'ying va Tartibni PUSH sifatida o'rnating

uchinchisiga CCW deb nom bering, PIN -kodni virtual pin 3 -ga qo'ying va rejimni PUSH -ga o'rnating

- LCD -ni tahrirlash

PIN -kodlarni Virtual Pin 4 va Virtual Pin 5 -ga o'rnating va Tartibni PUSH -ga o'rnating

2 -qadam: PI tayyor

Birinchidan, siz Node.js -ni o'rnatishingiz kerak, Node.js -ni yangilashdan oldin, eski versiyalarni o'chirib tashlaganingizga ishonch hosil qiling:

Terminalni oching va yozing

sudo apt-get nodejs tugunlarini tozalash

node.js -ysudo apt -get autoremove

Node.js -ni avtomatik o'rnatish Ma'lumot omborlarini qo'shing:

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

Node.js -ni o'rnating

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

sudo apt-get install-essential nodejs -y ni o'rnatish

Node.js o'rnatilgandan so'ng, Blynk -ni o'rnating

sudo npm blynk -library -g ni o'rnating

sudo npm ni o'rnatish -off

3 -qadam: O'z loyihangizni yaratish

Katalogni (cd buyrug'i) pi katalogiga o'zgartiring

Terminalni oching va yozing:

CD/uy/pi/

Keyin, sizning loyihangiz joylashgan katalogni yarating

mkdir MyProject

Katalogni MyProject -ga o'zgartiring, terminalda quyidagilarni yozing

CD MyProject

Katalog tarkibini tekshiring (u bo'sh bo'lishi kerak). Terminalga quyidagilarni kiriting

ls

Keyin, loyiha tavsifini yaratish uchun quyidagilarni kiriting (package.json)

npm boshlanishi

Loyihaning nomini, muallifini, versiyasini va boshqalarni kiriting …

Bu bajarilgandan so'ng, Blynk kutubxonasini, ishga tushirish kutubxonasini va tizim uyqu kutubxonasini loyihangiz katalogiga o'rnating. Terminalingizga quyidagilarni kiriting

npm blynk-library --save ni o'rnating

npm ni o'rnatish -saqlash

npm ni o'rnatish system-sleep-saqlang

Nihoyat,.js faylini yarating (Bu erda sizning kodingiz bo'ladi). Terminalga quyidagilarni kiriting

nano -MyProject.js

Bu buyruqni bajarganingizdan so'ng, nano (terminal matn muharriri) ochiladi.

4 -qadam: MyProject.js

Nanoda quyidagi kod satrlarini yozing

var Blynk = talab ('blynk-kutubxona');

var AUTH = '******************'; Bu sizning tokeningiz

var blynk = yangi Blynk. Blynk (AUTH);

var Gpio = talab ("o'chirish"). Gpio,

command1 = new Gpio (18, 'out'), // Arduino D2 ga ulanadi

commandCW = yangi Gpio (23, 'out'), // Arduino D3 ga ulanadi

commandCCW = yangi Gpio (24, "chiqish"); // Arduino D4 ga ulanadi

var uyqu = talab ('tizim-uyqu');

var v1 = yangi blynk. VirtualPin (1); // bu sizning ilovadagi Command1 tugmasi

var v2 = new blynk. VirtualPin (2); // bu sizning ilovadagi CW tugmasi

var v3 = new blynk. VirtualPin (3); // bu sizning ilovadagi CCW tugmasi

var v4 = new blynk. VirtualPin (4); // bu sizning ilovadagi 1 -sonli LCD liniyangiz

var v5 = new blynk. VirtualPin (5); // bu sizning LCD displeyingiz 2 -ilovada

v1.on ('yozish', funktsiya (parametr) // Ilovada Command1 tugmachasini tekshiring

{

if (param == 1) // Agar tugma bosilsa (bu 1 bo'lsa), quyidagilarni bajaring

{

v4.write ("Ijro etilmoqda"); // LCD displeyining birinchi qatoriga "Ijro etilmoqda" deb yozing

v5.write ("Buyruq"); // LCD displeyining ikkinchi qatoriga "Buyruq" yozing

buyruq1.writeSync (1); // GPIO18 (o'zgaruvchan buyruq1) ni 1 (YUQORI) ga o'rnating.

uxlash (4000); // 4 soniya kuting

command1.writeSync (0); // GPIO18 (o'zgaruvchan buyruq1) ni 0 (LOW) ga o'rnating.

v4.write ("Bajarildi"); // LCD displeyining birinchi qatoriga "Bajarildi" deb yozing

v5.yozish (""); // LCD displeyining ikkinchi qatoriga "" (hech narsa) yozing

v1.yozish (0); // Command1 tugmachangizga 0 yozing, bu uni OFF holatiga qaytaradi

}

});

v2.on ('yozish', funktsiya (parametr) // Ilovadagi CW tugmachasini tekshiring

{

if (param == 1) // Agar tugma bosilsa (bu 1 bo'lsa), quyidagilarni bajaring

{

commandCW.writeSync (1); // GPIO23 ni (o'zgaruvchan commandCW) 1 (YUQORI) ga o'rnating.

}

else if (param == 0) // Agar tugma bosilmasa (0 bo'lsa), quyidagilarni bajaring

{

commadCW.writeSync (0); // GPIO23 ni (o'zgaruvchan commandCW) 0 (LOW) ga o'rnating.

}

});

v3.on ("yozish", funktsiya (parametr) // Ilovadagi CCW tugmachasini tekshiring

{

if (param == 1) // Agar tugma bosilsa (bu 1 bo'lsa), quyidagilarni bajaring

{

commandCCW.writeSync (1); // GPIO24 (o'zgaruvchan buyruqliCCW) ni 1 (YUQORI) ga o'rnating.

}

else if (param == 0) // Agar tugma bosilmasa (0 bo'lsa), quyidagilarni bajaring

{

commandCCW.writeSync (0); // GPIO24 (o'zgaruvchan buyruqliCCW) ni 1 (YUQORI) ga o'rnating.

}

});

Uni saqlang va nanodan chiqing

- CTRL+O ni saqlash uchun

- CTRL+X tugmalar birikmasidan chiqish

Siz Raspberry Pi bilan ishlaysiz.

Endi har qanday xatolar bor -yo'qligini tekshirib ko'ring (ko'pincha Typo xatolaridir)

Buni tekshirish uchun terminalga quyidagilarni kiriting

tugun MyProject.js

Siz shunga o'xshash natijani olishingiz kerak

O'chirish rejimi

Ulanish: blynk-cloud.com 8441

SSL ruxsatnomasi…

Vakolatli

5 -qadam: Arduino -dagi MyProject

OK, endi bizda 2/3 ishlar tugadi!

Endi biz Arduino uchun kod yozishimiz kerak.

- Yangi Arduino eskizini yarating va quyidagi kodni kiriting.

#qo'shing

32 -qadam

#Depine STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Pim ulanishlari 8, 9, 10, 11 -pinlarga ulangan bo'lishi kerak

// In1, In2, In3, In4 dvigatel haydovchilariga

// Keyin pinlar bu erga to'g'ri ketma-ketlik uchun 1-3-2-4 ketma-ketlikda kiritiladi

Kichik qadam qadam (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Steps2Take;

int buyrug'i1;

int CommandCW;

int CommandCCW;

bo'sh o'rnatish ()

{

pinMod (2, Kirish);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Step kutubxonasi pinlarni chiqish sifatida o'rnatadi)

}

bo'sh halqa ()

{

Buyruq1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

agar (Buyruq1 == 0)

{

// hech narsa qilma

}

boshqa

{

ExecutionFunction ();

}

agar (CommandCW == 1)

{

kichik_stepper.setSpeed (700);

kichik_qadam (qadam) (-1);

kechikish (1);

}

agar (CommandCCW == 1)

{

kichik_stepper.setSpeed (700);

kichik_qadam.qadam (1);

kechikish (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // CCW 1/4 burilish

kichik_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take -ni 0 dan 2048 gacha bo'lgan har qanday qiymat bilan almashtirishingiz mumkin

kechikish (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // CW 1/4 burilish

kichik_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take -ni 0 dan 2048 gacha bo'lgan har qanday qiymat bilan almashtirishingiz mumkin

kechikish (2000);

}

Kompilyatsiya qiling va Arduino -ga yuklang.

Endi hamma narsani to'g'ri ulaganingizga ishonch hosil qiling! Kabelni ulashning keyingi bosqichini ko'ring.

6 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Arduino D3 -ni RaspberryPi GPIO18 -ga ulang (bu aslida 12 -pin)

Arduino D4 -ni RaspberryPi GPIO23 -ga ulang (bu aslida 16 -pin)

Arduino D4 -ni RaspberryPi GPIO24 -ga ulang (bu aslida 18 -pin)

Arduino GND -ni RaspberryPi GND -ga ulang (6 -pin)

Arduino D8 -ni Step1 Controller In1 -ga ulang

Arduino D9 -ni Step2 Controller In2 -ga ulang

Arduino D10 -ni Step3 Controller In3 -ga ulang

Arduino D11 -ni Step4 Controller In4 -ga ulang

5VDC -ni Arduino, Raspberry Pi va Stepper Controller -ga ulang

7 -qadam: Bu shunday

Videoni tekshiring va siz tugatishingiz kerak!

Rahmat va rohatlaning!

Tavsiya: