Mündəricat:
- Addım 1: Telefonunuzda Tətbiq Yarat
- Addım 2: PI -ni hazırlayın
- Addım 3: Layihənizi Yaradın
- Addım 4: MyProject.js
- Addım 5: Arduinoda MyProject
- Addım 6: Kabel çəkmə
- Addım 7: Budur
Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
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!
Tövsiyə:
DC və Stepper Motor Tester: 12 Addım (Şəkillərlə birlikdə)
DC və Stepper Motor Tester: Bir neçə ay əvvəl bir dostum mənə bir neçə atılmış inkjet printer və surət maşınları verdi. Mən onların enerji mənbələri, kabellər, sensorlar və xüsusən mühərrikləri yığmaqla maraqlandım. Bacardığımı xilas etdim və bütün sınaqları sınamaq istədim
Jest Control Skeleton Bot - 4WD Hercules Mobil Robotik Platforması - Arduino IDE: 4 Addım (Şəkillərlə birlikdə)
Jest Control Skeleton Bot - 4WD Hercules Mobil Robotik Platforması - Arduino IDE: Seeedstudio Skeleton Bot - 4WD Hercules Mobil Robot Platforması tərəfindən hazırlanmış bir Jest Nəzarət Vasitəsi. Evdə koronar virus epidemiyası ilə mübarizə zamanı çox əyləndim. Bir dostum mənə yeni olaraq 4WD Hercules Mobil Robot Platforması hədiyyə etdi
Totoro Layihəsi - IoT & MQTT & ESP01: 7 Addım (Şəkillərlə birlikdə)
Totoro Layihəsi - IoT & MQTT & ESP01: Totoro Layihəsi, bir çox fərqli formada kopyalaya biləcəyiniz gözəl bir IoT layihəsidir. case AdafruitIO) .MQTT və Reklam üçün faydalı bir bələdçi
Raspberry Pi RC Control: 4 Addım (Şəkillərlə birlikdə)
Raspberry Pi RC Control: Raspberry Pi üçün RC nəzarət Bir telefon və ya tablet ilə WIFI və ya bluetooth istifadə edərək bir robotu necə idarə edəcəyinizi göstərən bir çox təlimat var. Problem ondadır ki, kifayət qədər sürətli manevr edə bilmirsən, çünki ekrana və robota baxmaq lazımdır. Bununla
Ucuz Arduino Combat Robot Control: 10 Addım (Şəkillərlə birlikdə)
Ucuz Arduino Combat Robot Control: Əyalətlərdə Battlebots və İngiltərədəki Robot Wars -ın yenidən canlanması döyüş robot texnikasına olan sevgimi yenidən canlandırdı. Beləliklə, yerli bir bot qurucu qrupu tapdım və dərhal daldım. İngiltərədəki qarışqa çəkisi miqyasında (150 qram çəki limiti) mübarizə apardıq və tez başa düşdüm