Мазмұны:

Raspberry PI & Arduino - Blynk Stepper Control: 7 қадам (суреттермен)
Raspberry PI & Arduino - Blynk Stepper Control: 7 қадам (суреттермен)

Бейне: Raspberry PI & Arduino - Blynk Stepper Control: 7 қадам (суреттермен)

Бейне: Raspberry PI & Arduino - Blynk Stepper Control: 7 қадам (суреттермен)
Бейне: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Қараша
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

Бұл оқулық сізге Arduino, Raspberry Pi және Blynk қосымшасы бар қадамдық моторды қалай басқаруға болатынын көрсетеді.

Жаңғақ қабықшасында бағдарлама Raspberry Pi -ге виртуалды түйреуіштер арқылы сұраныс жібереді, содан кейін Pi Arduino мен Arduino -ға HIGH/LOW сигналын жібереді, содан кейін қадамдық қозғалтқышпен айналысады.

Менің ойымша, бұл әдісті қолдану оңай, өйткені адамдардың көпшілігі Raspberry Pi -де node.js емес, Arduino -мен жұмыс істеуге дағдыланған.

Бұл үшін қажет компоненттер:

- Raspberry PI (мен Raspberry Pi 3 моделін қолданамын b)

- Arduino (мен Arduino Nano қолданамын)

- Серво моторы (мен оның контроллерімен 28BYJ-48 5VDC қолданамын)

- Кейбір секіргіш сымдар

- Қуат көзі (5VDC 2A.)

Arduino нобайы мен Node.js коды жүктеуге болады. Тек файлдарды іздеңіз.

1 -қадам: телефонда қосымшаны құру

Телефонда қосымшаны құру
Телефонда қосымшаны құру
Телефонда қосымшаны құру
Телефонда қосымшаны құру

Blynk бағдарламасын AppStore немесе GooglePlay -ден жүктеп алыңыз

Қолданбаны ашып, пайдаланушы жасаңыз немесе Facebook -ке кіріңіз.

- Жаңа жоба жасаңыз

Жобаңызды атаңыз: MyProject

Құрылғыны таңдаңыз: Rasapberry Pi 3 B

Қосылу түрі: Wi -Fi (немесе сіздің Pi желіңізге қосылған болса, Ethernet)

- Жасау түймешігін басыңыз

Token үшін электрондық поштаны тексеріңіз

(бұл 3aa19bb8a9e64c90af11e3f6b0595b3c сияқты)

Бұл таңбалауыш сіздің қазіргі қолданбаға қосылған. Егер сіз басқа қолданба жасасаңыз, сіз басқа таңбаны жасайсыз.

Қолданбада келесі виджеттерді қосыңыз (суретті қараңыз)

- 3 түймені қосыңыз

- 1 СКД қосыңыз

- Батырманы өңдеңіз

біріншісін Command1 деп атаңыз, түйреуішті виртуалды түйреуіш 1 деп орнатыңыз және режимді SWITCH ретінде орнатыңыз

екіншісін CW деп атаңыз, түйреуішті виртуалды түйреуіш 2 деп орнатыңыз және режимді PUSH ретінде орнатыңыз

үшіншісін CCW деп атаңыз, түйреуішті виртуалды түйреуіш 3 деп орнатыңыз және режимді PUSH ретінде орнатыңыз

- СКД өңдеңіз

түйреуіштерді виртуалды түйреуіш 4 және виртуалды түйреуіш 5 ретінде орнатыңыз және режимді PUSH күйіне орнатыңыз

2 -қадам: PI -ге дайындық

Алдымен Node.js. орнату қажет, Node.js жаңартпас бұрын ескі нұсқаларды алып тастауды ұмытпаңыз:

Терминалды ашып, теріңіз

sudo apt-get түйін түйіндерін тазарту

node.js -ysudo apt -get автоматты түрде жою

Node.js автоматты орнатылуы Репозиторийлерді қосыңыз:

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

Node.js орнатыңыз

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

sudo apt-get install-essential nodejs -y орнатыңыз

Node.js орнатылғаннан кейін Blynk орнатыңыз

sudo npm blynk -library -g орнатыңыз

sudo npm onoff -g орнатыңыз

3 -қадам: Сіздің жобаңызды құру

Каталогты (cd командасы) pi каталогына өзгерту арқылы бастаңыз

Терминалды ашып, теріңіз:

cd/home/pi/

Содан кейін сіздің жобаңыз болатын каталогты жасаңыз

mkdir MyProject

MyProject каталогын өзгертіңіз, Терминалға келесіні теріңіз

CD MyProject

Каталогтың мазмұнын тексеріңіз (ол бос болуы керек). Терминалға келесілерді енгізіңіз

ls

Содан кейін, жобаның сипаттамасын жасау үшін келесіні теріңіз (package.json)

npm бастамасы

Жобаның атын, авторын, нұсқасын және т.

Бұл аяқталғаннан кейін Blynk кітапханасын, қосылу кітапханасын және жүйелік ұйқы кітапханасын ЖОБА каталогына орнатыңыз. Терминалға келесіні теріңіз

npm blynk-library --save орнатыңыз

npm onoff --save орнатыңыз

npm жүйесін орнатыңыз-ұйқы-сақтаңыз

Соңында.js файлын жасаңыз (Бұл жерде сіздің кодыңыз болады). Терминалға келесіні теріңіз

нано MyProject.js

Бұл команданы орындағаннан кейін нано (терминалды мәтіндік редактор) ашылады.

4 -қадам: MyProject.js

Нанода келесі код жолдарын жазыңыз

var Blynk = талап ету ('blynk-library');

var AUTH = '******************'; БҰЛ СІЗДІҢ ЖЕТЕКШІҢІЗ

var blynk = жаңа Blynk. Blynk (AUTH);

var Gpio = талап ету («өшіру»). Gpio,

command1 = new Gpio (18, 'out'), // Arduino D2 қосылады

commandCW = new Gpio (23, 'out'), // Arduino D3 -ке қосылады

commandCCW = жаңа Gpio (24, 'шығу'); // Arduino D4 қосылады

var sleep = қажет ('system-sleep');

var v1 = new blynk. VirtualPin (1); // бұл сіздің бағдарламадағы Command1 түймесі

var v2 = new blynk. VirtualPin (2); // бұл сіздің қолданбадағы CW түймесі

var v3 = new blynk. VirtualPin (3); // бұл сіздің қолданбадағы CCW түймесі

var v4 = new blynk. VirtualPin (4); // бұл сіздің қолданбадағы СКД желісі 1

var v5 = new blynk. VirtualPin (5); // бұл сіздің қосымшадағы 2 -ші СКД желісі

v1.on ('жазу', функция (параметр) // Бағдарламадағы Command1 түймешігін тексеріңіз

{

if (param == 1) // Егер түйме басылса (бұл 1 болса), келесі әрекеттерді орындаңыз

{

v4.write («Орындалады»); // СКД бірінші жолына «Орындалады» деп жазыңыз

v5.write («Пәрмен»); // СКД екінші жолына «Пәрмен» жазыңыз

command1.writeSync (1); // GPIO18 (айнымалы команда1) 1 -ге (ЖОҒАРЫ) орнатыңыз

ұйқы (4000); // 4 секунд күтіңіз

command1.writeSync (0); // GPIO18 (айнымалы команда1) мәнін 0 (LOW) мәніне орнатыңыз

v4.write («Орындалды»); // СКД бірінші жолына «Орындалды» деп жазыңыз

v5.write («»); // СКД екінші жолына «» (ештеңе) жазыңыз

v1.write (0); // Command1 батырмасына 0 жазыңыз, ол оны ӨШІРУ күйіне қайтарады

}

});

v2.on ('жазу', функция (параметр) // Қолданбадағы CW түймесін тексеріңіз

{

if (param == 1) // Егер түйме басылса (бұл 1 болса), келесі әрекеттерді орындаңыз

{

commandCW.writeSync (1); // GPIO23 (бұл айнымалы commandCW) 1 -ге (ЖОҒАРЫ) орнатыңыз

}

else if (param == 0) // Егер түйме басылмаса (ол 0 болса), келесі әрекеттерді орындаңыз

{

commadCW.writeSync (0); // GPIO23 (командалықCW айнымалысы) 0 (LOW) мәніне орнатыңыз

}

});

v3.on ('жазу', функция (параметр) // Қолданбадағы CCW түймесін тексеріңіз

{

if (param == 1) // Егер түйме басылса (бұл 1 болса), келесі әрекеттерді орындаңыз

{

commandCCW.writeSync (1); // GPIO24 (бұл айнымалы командаCCW) 1 -ге (ЖОҒАРЫ) орнатыңыз

}

else if (param == 0) // Егер түйме басылмаса (ол 0 болса), келесі әрекеттерді орындаңыз

{

commandCCW.writeSync (0); // GPIO24 (бұл айнымалы командаCCW) 1 -ге (ЖОҒАРЫ) орнатыңыз

}

});

Оны сақтап, нанодан шығыңыз

- CTRL+O сақтау

- CTRL+X пернелер тіркесімін жабу

Сіз Raspberry Pi -мен жұмыс жасайсыз.

Енді оны қателіктердің бар -жоғын тексеру үшін тексеріңіз (көбінесе Typo қателері)

Оны тексеру үшін терминалға келесіні теріңіз

MyProject.js түйіні

Сіз осындай көріністі алуыңыз керек

OnOff режимі

Қосылу: blynk-cloud.com 8441

SSL авторизациясы…

Рұқсат етілген

5 -қадам: Arduino бағдарламасындағы MyProject

Жақсы, енді бізде 2/3 жұмыс аяқталды!

Енді бізге Arduino кодын жазу керек.

- Arduino жаңа эскизін жасаңыз және келесі кодты теріңіз.

#қосу

32. ҚАДАМДАРДЫ_АЯҚТАУ_РЕВОЛЮЦИЯСЫН анықтаңыз

#depine STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Ілмекті байланыстар 8, 9, 10, 11 түйреуіштермен байланыстырылуы керек

// In1, In2, In3, In4 мотор жүргізушісіне

// Содан кейін түйреуіштер осында 1-3-2-4 ретімен енгізіледі, бұл дұрыс реттілік үшін

Кіші қадам (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Steps2Take;

int Command1;

int CommandCW;

int CommandCCW;

жарамсыз орнату ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Степпер кітапханасы түйреуіштерді шығыс ретінде орнатады)

}

бос цикл ()

{

Command1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

егер (Command1 == 0)

{

//ештеңе істеме

}

басқа

{

ExecutionFunction ();

}

егер (CommandCW == 1)

{

small_stepper.setSpeed (700);

Small_stepper.step (-1);

кешіктіру (1);

}

егер (CommandCCW == 1)

{

small_stepper.setSpeed (700);

кіші_қадам.қадам (1);

кешіктіру (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // CCW 1/4 бұру

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take мәнін 0 мен 2048 аралығындағы кез келген мәнмен ауыстыруға болады

кешіктіру (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // CW 1/4 бұру

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take мәнін 0 мен 2048 аралығындағы кез келген мәнмен ауыстыруға болады

кешіктіру (2000);

}

Ардуиноға жинап, жүктеңіз.

Енді бәрін дұрыс қосқаныңызға көз жеткізіңіз! Сымдарды қосудың келесі қадамын қараңыз.

6 -қадам: Сымдарды жалғау

Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар
Сымдар

Arduino D3 -ті RaspberryPi GPIO18 -ге қосыңыз (бұл шын мәнінде 12 -ші пин)

Arduino D4 -ті RaspberryPi GPIO23 -ке қосыңыз (бұл шын мәнінде 16 -шы пин)

Arduino D4 -ті RaspberryPi GPIO24 -ке қосыңыз (бұл шын мәнінде 18 -пин)

Arduino GND -ті RaspberryPi GND -ге қосыңыз (6 -түйреуіш)

Arduino D8 -ді Step1 Controller In1 -ге қосыңыз

Arduino D9 In2 қадамдық контроллеріне қосыңыз

Arduino D10 In3 қадамдық контроллеріне қосыңыз

Arduino D11 In4 қадамдық контроллеріне қосыңыз

5VDC -ті Arduino, Raspberry Pi және Stepper Controller -ге қосыңыз

7 -қадам: Міне

Бейнежазбаны қараңыз, және сіз аяқтауыңыз керек!

Рахмет және ләззат алыңыз!

Ұсынылған: