Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu dərslik, Arduino, Raspberry Pi və Blynk Tətbiqi ilə bir step motoru necə idarə edəcəyinizi göstərəcək.
Bir qoz qabığında tətbiq, Virtual Pins vasitəsi ilə Raspberry Pi -yə sorğu göndərir, Pi sonra Arduino -ya YÜKSEK/DÜŞÜK siqnal göndərir və Arduino step motoru ilə məşğul olur.
Düşünürəm ki, əksər insanlar Raspberry Pi -də node.js ilə deyil, çoxu Arduino ilə işləməyə öyrəşdikləri üçün bu yanaşmadan istifadə etmək daha asandır.
Bunun üçün lazım olan komponentlər:
- Raspberry PI (Raspberry Pi 3 model b istifadə edirəm)
- Arduino (Arduino Nano istifadə edirəm)
- Servo Motor (nəzarətçisi ilə 28BYJ-48 5VDC istifadə edirəm)
- Bəzi keçid telləri
- Güc mənbəyi (5VDC 2A.)
Arduino eskizini və Node.js kodunu yükləmək mümkündür. Yalnız fayllara baxın.
Addım 1: Telefonunuzda Tətbiq Yarat
Blynk'i AppStore və ya GooglePlay -dan yükləyin
Tətbiqi açın və istifadəçi yaradın və ya Facebook ilə daxil olun.
- Yeni bir layihə yaradın
Layihənizi adlandırın: MyProject
Cihaz seçin: Rasapberry Pi 3 B
Bağlantı Növü: Wifi (və ya Pi, şəbəkənizə bağlıdırsa Ethernet)
- Yarat düyməsini basın
Token üçün e -poçtunuzu yoxlayın
(buna bənzəyir 3aa19bb8a9e64c90af11e3f6b0595b3c)
Bu Token cari tətbiqinizlə bağlıdır. Başqa bir tətbiq etsəniz, başqa bir mö'cüzə yaradacaqsınız.
Tətbiqə aşağıdakı vidjetlər əlavə edin (şəkilə baxın)
- 3 düymə əlavə edin
- 1 LCD əlavə edin
- Düyməni düzəldin
birincisini Command1 adlandırın, Pin'i Virtual Pin 1 olaraq təyin edin və rejimi SWITCH olaraq təyin edin
ikincisini CW adlandırın, Pin'i Virtual Pin 2 olaraq təyin edin və rejimi PUSH olaraq təyin edin
üçüncüsünə CCW adını verin, Pin'i Virtual Pin 3 olaraq təyin edin və rejimi PUSH olaraq təyin edin
- LCD -ni düzəldin
Pinləri Virtual Pin 4 və Virtual Pin 5 olaraq təyin edin və rejimi PUSH olaraq təyin edin
Addım 2: PI -ni hazırlayın
Birincisi, Node.js. yükləməlisiniz Node.js yeniləməzdən əvvəl, köhnə versiyaları çıxardığınızdan əmin olun:
Terminalı açın və yazın
sudo apt-get nodejs təmizləyin
node.js -ysudo apt -get avtomatik silin
Avtomatik Node.js quraşdırılması Depolar əlavə edin:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Node.js quraşdırın
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install-essential nodejs -y qurun
Node.js quraşdırıldıqdan sonra Blynk quraşdırın
sudo npm blynk -library -g qurun
sudo npm onoff -g quraşdırın
Addım 3: Layihənizi Yaradın
Dizini (cd əmri) pi qovluğuna dəyişərək başlayın
Terminalı açın və yazın:
cd/ev/pi/
Sonra, layihənizin yerləşəcəyi bir kataloq yaradın
mkdir MyProject
Kataloğu MyProject olaraq dəyişdirin, Terminala aşağıdakıları yazın
cd MyProject
Kataloqun məzmununu yoxlayın (boş olmalıdır). Yalnız Terminala aşağıdakıları yazın
ls
Sonra, layihənizin təsvirini yaratmaq üçün aşağıdakıları yazın (package.json)
npm başlanğıc
Layihənin adını, müəllifini, versiyasını və s. Yazın …
Bunu etdikdən sonra Blynk kitabxanasını, açılış kitabxanasını və sistem yuxu kitabxanasını SİZİN layihə kataloqunuza quraşdırın. Terminalınıza aşağıdakıları daxil edin
npm blynk-library qurun-saxla
npm onoff -saxla
npm sistem-yuxu qurun-saxla
Nəhayət,.js faylınızı yaradın (Kodunuzun yerləşəcəyi yer budur). Terminalda aşağıdakıları yazın
nano MyProject.js
Bu əmri yerinə yetirdikdən sonra nano (terminal mətn redaktoru) açılacaq.
Addım 4: MyProject.js
Nanoda aşağıdakı kod sətirlərini yazın
var Blynk = tələb ('blynk-kitabxana');
var AUTH = '******************'; BU SİZİN TOKENİNİZDİR
var blynk = yeni Blynk. Blynk (AUTH);
var Gpio = tələb edin ('açma'). Gpio,
command1 = new Gpio (18, 'out'), // Arduino D2 ilə əlaqəli olacaq
commandCW = yeni Gpio (23, 'out'), // Arduino D3 -ə qoşulacaq
commandCCW = yeni Gpio (24, 'çıxdı'); // Arduino D4 ilə əlaqəli olacaq
var yuxu = tələb ('sistem-yuxu');
var v1 = yeni blynk. VirtualPin (1); // bu, tətbiqdəki Command1 düymənizdir
var v2 = new blynk. VirtualPin (2); // bu tətbiqdəki CW düymənizdir
var v3 = yeni blynk. VirtualPin (3); // bu tətbiqdəki CCW düymənizdir
var v4 = new blynk. VirtualPin (4); // bu, tətbiqdəki LCD xəttinizdir 1
var v5 = yeni blynk. VirtualPin (5); // bu, tətbiqdəki LCD xətti 2 -dir
v1.on ('yaz', funksiya (parametr) // Tətbiqdə Command1 düyməsini yoxlayın
{
if (param == 1) // Əgər düyməyə basılırsa (bu 1 -dir), aşağıdakıları edin
{
v4.write ("İcra"); // LCD -nin ilk sətrinə "İcra olunur" yazın
v5.write ("Əmr"); // LCD -nin ikinci sətrinə "Əmr" yazın
command1.writeSync (1); // GPIO18 -i (dəyişən əmr1) 1 -ə (YÜKSƏK) təyin edin
yuxu (4000); // 4 saniyə gözləyin
command1.writeSync (0); // GPIO18 -i (dəyişən əmr1) 0 (LOW) olaraq təyin edin
v4.write ("Bitti"); // LCD -nin ilk sətrinə "Bitti" yazın
v5.write (""); // LCD -nin ikinci sətrinə "" (heç nə) yazın
v1.write (0); // Command1 düyməsinə 0 yazın, bu onu OFF vəziyyətinə qaytaracaq
}
});
v2.on ('yaz', funksiya (parametr) // Tətbiqdə CW düyməsini yoxlayın
{
if (param == 1) // Əgər düyməyə basılırsa (bu 1 -dir), aşağıdakıları edin
{
commandCW.writeSync (1); // GPIO23 (dəyişən commandCW olan) 1 (YÜKSƏK) olaraq təyin edin
}
else if (param == 0) // Əgər düyməyə basılmırsa (0 olarsa), aşağıdakıları edin
{
commadCW.writeSync (0); // GPIO23 -ü (dəyişən commandCW olan) 0 (LOW) olaraq təyin edin
}
});
v3.on ('yaz', funksiya (parametr) // Tətbiqdə CCW düyməsini yoxlayın
{
if (param == 1) // Əgər düyməyə basılırsa (bu 1 -dir), aşağıdakıları edin
{
commandCCW.writeSync (1); // GPIO24 -ü (dəyişən commandCCW olan) 1 (YÜKSƏK) olaraq təyin edin
}
else if (param == 0) // Əgər düyməyə basılmırsa (0 olarsa), aşağıdakıları edin
{
commandCCW.writeSync (0); // GPIO24 -ü (dəyişən commandCCW olan) 1 (YÜKSƏK) olaraq təyin edin
}
});
Saxla və nanodan çıx
- CTRL+O saxlamaq üçün
- CTRL+X düymələrindən çıxmaq
Raspberry Pi ilə işiniz bitdi.
İndi hər hansı bir səhvin olub olmadığını yoxlayın (əksər hallarda Typo səhvləridir)
Bunu sınamaq üçün terminalınıza aşağıdakıları yazın
node MyProject.js
Belə görünən bir çıxış əldə etməlisiniz
OnOff rejimi
Bağlanır: blynk-cloud.com 8441
SSL icazəsi…
Səlahiyyətli
Addım 5: Arduinoda MyProject
Yaxşı, indi 2/3 işimiz tamamlandı!
İndi yalnız Arduino üçün bir kod yazmalıyıq.
- Yeni bir Arduino eskizi yaradın və aşağıdakı kodu yazın.
#daxil edin
#ADIMLARI_PER_MOTOR_DEVRİMİ təyin edin 32
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Pin əlaqələri 8, 9, 10, 11 sancaqlar ilə bağlanmalıdır
// In1, In2, In3, In4 Motor Sürücülərinə
// Sonra pinlər düzgün ardıcıllıq üçün buraya 1-3-2-4 ardıcıllığı ilə daxil edilir
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Command1;
int CommandCW;
int CommandCCW;
boş quraşdırma ()
{
pinMode (2, GİRİŞ);
pinMode (3, GİRİŞ);
pinMode (4, GİRİŞ);
// (Stepper Kitabxanası pinləri çıxış olaraq təyin edir)
}
boşluq döngəsi ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
əgər (Komanda1 == 0)
{
//Heçnə etmə
}
başqa
{
ExecutionFunction ();
}
əgər (CommandCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (-1);
gecikmə (1);
}
əgər (CommandCCW == 1)
{
small_stepper.setSpeed (700);
kiçik_adam.adam (1);
gecikmə (1);
}
}
void ExecutionFunction ()
{
Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // CCW -ni 1/4 döndərin
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Steps2Take -i 0 ilə 2048 arasında istənilən dəyərlə əvəz edə bilərsiniz
gecikmə (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // CW 1/4 döndərin
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Steps2Take -i 0 ilə 2048 arasında istənilən dəyərlə əvəz edə bilərsiniz
gecikmə (2000);
}
Arduino qurun və yükləyin.
İndi hər şeyi düzgün bağladığınızdan əmin olun! Kabel çəkmək üçün növbəti addıma baxın.
Addım 6: Kabel çəkmə
Arduino D3 -ü RaspberryPi GPIO18 -ə qoşun (əslində pin 12)
Arduino D4 -ü RaspberryPi GPIO23 -ə qoşun (əslində pin 16)
Arduino D4 -ü RaspberryPi GPIO24 -ə qoşun (əslində pin 18)
Arduino GND -ni RaspberryPi GND -yə qoşun (pin 6)
Arduino D8 -i Stepper Controller In1 -ə qoşun
Arduino D9 -u Step2 Controller In2 -ə qoşun
Arduino D10 -u Step3 Controller In3 -ə qoşun
Arduino D11'i Step4 Controller In4 -ə qoşun
5VDC -ni Arduino, Raspberry Pi və Stepper Controller -ə qoşun
Addım 7: Budur
Videonu yoxlayın və bitirməlisiniz!
Təşəkkürlər və zövq alın!