Mündəricat:

Raspberry PI & Arduino - Blynk Stepper Control: 7 Addım (Şəkillərlə birlikdə)
Raspberry PI & Arduino - Blynk Stepper Control: 7 Addım (Şəkillərlə birlikdə)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 Addım (Şəkillərlə birlikdə)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 Addım (Şəkillərlə birlikdə)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Noyabr
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

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

Telefonunuzda Tətbiq Yaratmaq
Telefonunuzda Tətbiq Yaratmaq
Telefonunuzda Tətbiq Yaratmaq
Telefonunuzda Tətbiq Yaratmaq

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ə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

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ə: