Mundarija:
- 1 -qadam: Telefoningizda dastur yaratish
- 2 -qadam: PI tayyor
- 3 -qadam: O'z loyihangizni yaratish
- 4 -qadam: MyProject.js
- 5 -qadam: Arduino -dagi MyProject
- 6 -qadam: simlarni ulash
- 7 -qadam: Bu shunday
Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
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
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
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:
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
Budilnik bilan DIY aqlli o'lchov (Wi-Fi, ESP8266, Arduino IDE va Adafruit.io bilan): 10 qadam (rasmlar bilan)
Budilnik bilan DIY aqlli o'lchov (Wi-Fi, ESP8266, Arduino IDE va Adafruit.io bilan): Oldingi loyihamda men Wi-Fi bilan aqlli hammom o'lchovini ishlab chiqdim. U foydalanuvchi vaznini o'lchashi, uni mahalliy ko'rsatishi va bulutga yuborishi mumkin. Bu haqda batafsil ma'lumotni quyidagi havola orqali olishingiz mumkin: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Wi-Fi boshqariladigan FPV Rover roboti (Arduino, ESP8266 va Stepper motorlari bilan): 11 qadam (rasmlar bilan)
Wi-Fi orqali boshqariladigan FPV Rover roboti (Arduino, ESP8266 va Stepper motorlari bilan): Bu ko'rsatma, ESP8266 Wi-Fi moduliga ulangan Arduino Uno yordamida, Wi-Fi tarmog'i orqali masofadan boshqariladigan, ikki g'ildirakli robot-roverni qanday loyihalashtirishni ko'rsatib beradi. va ikkita qadamli motor. Robotni oddiy Internet -brauzer orqali boshqarish mumkin
IOT BIT (Rasmiy ravishda PiAnywhere V1.31 nomi bilan tanilgan) 4G & LTE Hat Raspberry Pi uchun: 10 qadam (rasmlar bilan)
IOT BIT (Rasmiy PiAnywhere V1.31 sifatida tanilgan) 4G & Raspberry Pi uchun LTE Hat: IOT BIT 4G & Raspberry Pi4G uchun LTE Hat (100 mbit/ s pastga/ 50 mbit/ s gacha) - Sizning malina pi uchun ultra tez Internetga ulanish, katta yuklamalar va video oqim uchun juda zo'r.TheIOT BIT 4G & Raspberry Pi Beta uchun LTE Hat