Orodha ya maudhui:

Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk: Hatua 7 (na Picha)
Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk: Hatua 7 (na Picha)

Video: Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk: Hatua 7 (na Picha)

Video: Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk: Hatua 7 (na Picha)
Video: Arduino UNO and Mega Windows 7, 8, 10 USB driver Solved 2024, Novemba
Anonim
Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk
Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk

Mafunzo haya yatakuonyesha jinsi ya kudhibiti motor stepper na Arduino, Raspberry Pi na Maombi ya Blynk.

Katika ganda la nati, programu hutuma maombi kwa Raspberry Pi kupitia Pini za Virtual, Pi kisha hutuma ishara ya JUU / LOW kwa Arduino na Arduino kisha inashughulika na motor stepper.

Nadhani ni rahisi kutumia njia hiyo kwani watu wengi hutumiwa kufanya kazi na Arduino na sio sana na node.js kwenye Raspberry Pi.

Vipengele vinahitajika kwa hili:

- Raspberry PI (ninatumia mfano wa Raspberry Pi 3 b)

- Arduino (ninatumia Arduino Nano)

- Servo Motor (ninatumia 28BYJ-48 5VDC na mdhibiti wake)

- Baadhi ya waya za kuruka

- Chanzo cha nguvu (5VDC 2A.)

Mchoro wa Arduino na nambari ya Node.js inapatikana kupakua. Angalia tu faili.

Hatua ya 1: Kuunda Programu kwenye Simu yako

Kuunda Programu kwenye Simu yako
Kuunda Programu kwenye Simu yako
Kuunda Programu kwenye Simu yako
Kuunda Programu kwenye Simu yako

Pakua Blynk kutoka AppStore au GooglePlay

Fungua App na unda mtumiaji au Ingia na facebook.

- Unda mradi mpya

Taja mradi wako: MyProject

Chagua Kifaa: Rasapberry Pi 3 B

Aina ya Uunganisho: Wifi (au Ethernet ikiwa Pi yako ina waya kwenye mtandao wako)

- Bonyeza Unda

Angalia barua pepe yako kwa Ishara yako

(inaonekana kama hii 3aa19bb8a9e64c90af11e3f6b0595b3c)

Ishara hii imefungwa na programu yako ya sasa. Ukifanya programu nyingine, utazalisha ishara nyingine.

Katika App ongeza vilivyoandikwa vifuatavyo (angalia picha)

- Ongeza vifungo 3

- Ongeza 1 LCD

- Hariri kitufe

jina la kwanza Command1, weka Pin kama Virtual Pin 1 na uweke Mode kama SWITCH

jina la pili CW, weka Pin kama Virtual Pin 2 na uweke Mode kama PUSH

taja CCW ya tatu, weka Pini kama Pini ya Virtual 3 na uweke Modi kama PUSH

- Hariri LCD

weka pini kama Pini ya Virtual 4 na Pini ya Virtual 5 na uweke Njia ya PUSH

Hatua ya 2: Kuandaa PI tayari

Kwanza, unahitaji kusanikisha Node.js Kabla ya kusasisha Node.js, tafadhali hakikisha uondoe matoleo ya zamani:

Fungua Kituo na andika

Sudo apt-pata nodejs ya kusafisha

node.js -sudo apt-kupata autoremove

Ufungaji wa Node.js moja kwa moja Ongeza hazina:

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

Sakinisha Node

Sudo apt-pata sasisho && sudo apt-pata sasisho

Sudo apt-get install nodejs muhimu -y

Mara Node.js ikiwa imewekwa, Sakinisha Blynk

Sudo npm kufunga blynk-maktaba -g

Sudo npm kufunga onoff -g

Hatua ya 3: Kuunda Mradi Wako

Anza kwa kubadilisha saraka (cd amri) kwa saraka ya pi

Fungua Kituo na andika:

cd / nyumbani / pi /

Kisha, tengeneza saraka ambapo mradi wako utakaa

mkdir MyProject

Badilisha saraka kuwa MyProject, andika zifuatazo kwenye Kituo

cd MyProject

Angalia yaliyomo kwenye saraka (inapaswa kuwa tupu). Andika tu zifuatazo kwenye Kituo

ls

Ifuatayo, andika zifuatazo ili kuunda maelezo ya mradi wako (package.json)

npm init

Andika tu jina la mradi, mwandishi, toleo, nk.

Mara hii ikimaliza, weka maktaba ya Blynk, maktaba ya onoff na maktaba ya kulala-mfumo kwenye saraka yako ya mradi. Andika zifuatazo kwenye Kituo chako

npm sakinisha maktaba ya blynk - save

npm kufunga onoff - kuokoa

npm kufunga mfumo-lala - salama

Mwishowe, tengeneza faili yako ya.js (Hii itakuwa mahali ambapo nambari yako itakaa). Andika zifuatazo kwenye Kituo

nano MyProject.js

Mara tu utakapofanya amri hiyo, nano (mhariri wa maandishi ya terminal) itafunguliwa.

Hatua ya 4: MyProject.js

Katika nano, andika mistari ifuatayo ya nambari

var Blynk = zinahitaji ('blynk-library');

var AUTH = '******************'; HII NDIO YAKO

var blynk = mpya Blynk. Blynk (AUTH);

var Gpio = zinahitaji ('onoff'). Gpio,

amri1 = Gpio mpya (18, 'nje'), // Itaunganishwa na Arduino D2

commandCW = Gpio mpya (23, 'nje'), // Itaunganishwa na Arduino D3

amriCCW = Gpio mpya (24, 'nje'); // Itaunganishwa na Arduino D4

var sleep = zinahitaji ('system-sleep');

var v1 = blynk mpya. VirtualPin (1); // hii ni kifungo chako cha Command1 katika programu

var v2 = blynk mpya. VirtualPin (2); // hii ni kifungo chako cha CW katika programu

var v3 = blynk mpya. VirtualPin (3); // hii ni kifungo chako cha CCW katika programu

var v4 = blynk mpya. VirtualPin (4); // hii ni mstari wako wa LCD 1 katika programu

var v5 = blynk mpya. VirtualPin (5); // hii ni mstari wako wa LCD 2 katika programu

v1.on ('andika', fanya kazi (param) // Angalia kitufe cha Command1 katika programu

{

ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo

{

v4. andika ("Utekelezaji"); // Andika "Utekelezaji" kwenye mstari wa kwanza wa LCD

v5. andika ("Amri"); // Andika "Amri" kwenye mstari wa pili wa LCD

amri1.writeSync (1); // Weka GPIO18 (ambayo ni amri ya kutofautisha1) hadi 1 (JUU)

kulala (4000); // Subiri kwa sekunde 4

amri1.writeSync (0); // Weka GPIO18 (ambayo ni amri inayobadilika1) hadi 0 (LOW)

v4. andika ("Imefanywa"); // Andika "Imefanywa" kwenye mstari wa kwanza wa LCD

v5. andika (""); // Andika "" (hakuna chochote) kwenye mstari wa pili wa LCD

v1. andika (0); // Andika 0 kwa kitufe chako cha Command1, ambacho kitaiweka tena kwenye nafasi ya OFF

}

});

v2.on ('andika', fanya kazi (param) // Angalia kitufe cha CW katika programu

{

ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo

{

amriCW.writeSync (1); // Weka GPIO23 (ambayo ni amri ya kutofautishaCW) hadi 1 (JUU)

}

vinginevyo ikiwa (param == 0) // Ikiwa kitufe hakikubanwa (ambacho ni 0) basi fanya zifuatazo

{

commadCW.writeSync (0); // Weka GPIO23 (ambayo ni amri ya kutofautishaCW) hadi 0 (LOW)

}

});

v3.on ('andika', fanya kazi (param) // Angalia kitufe cha CCW katika programu

{

ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo

{

amriCCW.writeSync (1); // Weka GPIO24 (ambayo ni amri tofauti CCW) hadi 1 (JUU)

}

vinginevyo ikiwa (param == 0) // Ikiwa kitufe hakikubanwa (ambacho ni 0) basi fanya zifuatazo

{

amriCCW.writeSync (0); // Weka GPIO24 (ambayo ni amri tofauti CCW) hadi 1 (JUU)

}

});

Hifadhi na utoke nano

- kuokoa CTRL + O

- kuacha CTRL + X

Umemaliza na Raspberry Pi.

Sasa jaribu ili uone ikiwa kuna makosa ya aina yoyote (mara nyingi ni makosa ya Typo)

Ili kuijaribu, andika tu zifuatazo kwenye Kituo chako

nodi MyProject.js

Unapaswa kupata pato ambalo linaonekana kama hii

Hali ya OnOff

Kuunganisha kwa: blynk-cloud.com 8441

Uidhinishaji wa SSL…

Imeidhinishwa

Hatua ya 5: MyProject katika Arduino

Ok hivyo sasa tuna mambo 2/3 yamekamilika!

Sasa tunahitaji tu kuandika nambari kadhaa ya Arduino.

- Unda mchoro mpya wa Arduino na andika nambari ifuatayo.

# pamoja

#fafanua STEPS_PER_MOTOR_REVOLUTION 32

#fafanua STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Viunganisho vya pini vinahitaji kuwa na pini 8, 9, 10, 11 zilizounganishwa

// kwa Dereva wa Magari In1, In2, In3, In4

// Kisha pini zimeingizwa hapa kwa mlolongo wa 1-3-2-4 kwa mpangilio mzuri

Stepper ndogo_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Steps2Take;

int Amri1;

int amriCW;

int amriCCW;

kuanzisha batili ()

{

pinMode (2, Pembejeo);

pinMode (3, INPUT);

pinMode (4, Pembejeo);

// (Stepper Library inaweka pini kama matokeo)

}

kitanzi batili ()

{

Amri1 = dijiti Soma (2);

CommandCW = dijitiSoma (3);

AmriCCW = soma ya dijiti (4);

ikiwa (Amri1 == 0)

{

// usifanye chochote

}

mwingine

{

UtekelezajiFunction ();

}

ikiwa (CommandCW == 1)

{

ndogo_stepper.setSpeed (700);

ndogo_stepper.step (-1);

kuchelewesha (1);

}

ikiwa (CommandCCW == 1)

{

ndogo_stepper.setSpeed (700);

hatua ndogo (1);

kuchelewesha (1);

}

}

Utekelezaji wa Kazi ()

{

Hatua2Chukua = STEPS_PER_OUTPUT_REVOLUTION / 4; // Zungusha CCW 1/4 zamu

ndogo_stepper.setSpeed (700);

ndogo_stepper.step (Hatua2Chukua); // Unaweza kubadilisha Steps2Take na thamani yoyote kati ya 0 na 2048

kuchelewesha (500);

Hatua2Chukua = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Zungusha CW 1/4 zamu

ndogo_stepper.setSpeed (700);

ndogo_stepper.step (Hatua2Chukua); // Unaweza kubadilisha Steps2Take na thamani yoyote kati ya 0 na 2048

kuchelewa (2000);

}

Kukusanya na kupakia kwa Arduino yako.

Sasa hakikisha umeunganisha kila kitu kwa usahihi! Angalia hatua inayofuata ya wiring.

Hatua ya 6: Wiring

Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring
Wiring

Unganisha Arduino D3 kwa RaspberryPi GPIO18 (ambayo kwa kweli ni pini 12)

Unganisha Arduino D4 kwa RaspberryPi GPIO23 (ambayo kwa kweli ni pini 16)

Unganisha Arduino D4 kwa RaspberryPi GPIO24 (ambayo kwa kweli ni pini 18)

Unganisha Arduino GND kwa RaspberryPi GND (pini 6)

Unganisha Arduino D8 kwa Mdhibiti wa Stepper In1

Unganisha Arduino D9 kwa Mdhibiti wa Stepper In2

Unganisha Arduino D10 kwa Mdhibiti wa Stepper In3

Unganisha Arduino D11 kwa Kidhibiti cha Stepper In4

Unganisha 5VDC kwa Arduino, Raspberry Pi na Kidhibiti cha Stepper

Hatua ya 7: Hiyo ndio

Angalia video, na unapaswa kumaliza!

Asante na ufurahie!

Ilipendekeza: