Բովանդակություն:

Ազնվամորի PI & Arduino - Blynk Stepper Control: 7 քայլ (նկարներով)
Ազնվամորի PI & Arduino - Blynk Stepper Control: 7 քայլ (նկարներով)

Video: Ազնվամորի PI & Arduino - Blynk Stepper Control: 7 քայլ (նկարներով)

Video: Ազնվամորի PI & Arduino - Blynk Stepper Control: 7 քայլ (նկարներով)
Video: raspberry pi + blynk + relay(control ac mains) 2024, Նոյեմբեր
Anonim
Ազնվամորի PI & Arduino - Blynk Stepper Control
Ազնվամորի PI & Arduino - Blynk Stepper Control

Այս ձեռնարկը ցույց կտա ձեզ, թե ինչպես կառավարել stepper շարժիչը Arduino- ով, Raspberry Pi- ով և Blynk հավելվածով:

Ընկույզի կեղևում հավելվածը հարցումներ է ուղարկում Raspberry Pi- ին Վիրտուալ կապում, Pi- ն այնուհետև ուղարկում է HIGH/LOW ազդանշան Arduino- ին, իսկ Arduino- ն այնուհետև զբաղվում է հետընթաց շարժիչով:

Կարծում եմ, որ ավելի հեշտ է օգտագործել այդ մոտավորությունը, քանի որ մարդկանց մեծամասնությունը սովոր է աշխատել Arduino- ի հետ, և ոչ շատ Raspberry Pi- ի node.js- ի հետ:

Դրա համար անհրաժեշտ բաղադրիչներ.

- Ազնվամորի PI (ես օգտագործում եմ Raspberry Pi 3 մոդելը բ)

- Arduino (ես օգտագործում եմ Arduino Nano)

- Servo Motor (ես օգտագործում եմ 28BYJ-48 5VDC իր վերահսկիչով)

- Որոշ jumper լարեր

- Էլեկտրաէներգիայի աղբյուր (5VDC 2A.)

Arduino- ի էսքիզը և Node.js ծածկագիրը հասանելի են ներբեռնման համար: Պարզապես փնտրեք ֆայլերը:

Քայլ 1: Հավելվածի ստեղծում ձեր հեռախոսի վրա

Հավելվածի ստեղծում ձեր հեռախոսի վրա
Հավելվածի ստեղծում ձեր հեռախոսի վրա
Հավելվածի ստեղծում ձեր հեռախոսի վրա
Հավելվածի ստեղծում ձեր հեռախոսի վրա

Ներբեռնեք Blynk- ը AppStore- ից կամ GooglePlay- ից

Բացեք ծրագիրը և ստեղծեք օգտվող կամ մուտք գործեք facebook- ով:

- Ստեղծեք նոր նախագիծ

Անվանեք ձեր նախագիծը ՝ MyProject

Ընտրեք սարքը ՝ Rasapberry Pi 3 B

Միացման տեսակը ՝ Wifi (կամ Ethernet, եթե ձեր Pi- ն միացված է ձեր ցանցին)

- Կտտացրեք Ստեղծել

Ստուգեք ձեր էլ. Փոստը ձեր Token- ի համար

(կարծես սա 3aa19bb8a9e64c90af11e3f6b0595b3c)

Այս խորհրդանիշը կապված է ձեր ընթացիկ ծրագրի հետ: Եթե այլ ծրագիր կատարեք, կստեղծեք մեկ այլ նշան:

Հավելվածում ավելացրեք հետևյալ վիջեթները (տես նկարը)

- Ավելացնել 3 կոճակ

- Ավելացնել 1 LCD

- Խմբագրել կոճակը

անվանեք առաջինը Command1, նշեք Pin- ը որպես վիրտուալ Pin 1 և ռեժիմը սահմանեք SWITCH

երկրորդը անվանեք CW, նշեք Pin- ը որպես վիրտուալ փին 2 և ռեժիմը դրեք որպես PUSH

անվանեք երրորդը CCW, նշեք Pin- ը որպես վիրտուալ Pin 3 և ռեժիմը դրեք PUSH

- Խմբագրել LCD- ը

սահմանեք կապում որպես վիրտուալ կապ 4 և վիրտուալ կապ 5 և ռեժիմը դրեք PUSH

Քայլ 2: PI- ի պատրաստում

Նախ, դուք պետք է տեղադրեք Node.js. Նախքան Node.js- ը թարմացնելը, համոզվեք, որ հեռացնեք հին տարբերակները.

Բացեք տերմինալը և մուտքագրեք

sudo apt-get purge node nodejs

node.js -ysudo apt -get autoremove

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 build-essential nodejs -y

Երբ Node.js- ը տեղադրվի, տեղադրեք Blynk- ը

sudo npm տեղադրել blynk -library -g

sudo npm տեղադրեք անջատված -g

Քայլ 3: Ստեղծեք ձեր նախագիծը

Սկսեք ՝ գրացուցակը (cd հրաման) փոխելով pi գրացուցակին

Բացեք տերմինալը և մուտքագրեք.

cd/home/pi/

Այնուհետև ստեղծեք գրացուցակ, որտեղ ձեր նախագիծը կմնա

mkdir MyProject

Փոխեք գրացուցակը MyProject- ի վրա, տերմինալում մուտքագրեք հետևյալը

cd MyProject

Ստուգեք գրացուցակի բովանդակությունը (այն պետք է դատարկ լինի): Պարզապես տերմինալում մուտքագրեք հետևյալը

ls

Հաջորդը, մուտքագրեք հետևյալը ՝ ձեր ծրագրի նկարագրությունը ստեղծելու համար (package.json)

npm ինիտ

Պարզապես մուտքագրեք նախագծի անունը, հեղինակը, տարբերակը և այլն…

Երբ դա արվի, տեղադրեք Blynk գրադարանը, միացված գրադարանը և system-sleep գրադարանը ձեր նախագծի գրացուցակում: Ձեր տերմինալում մուտքագրեք հետևյալը

npm տեղադրել blynk-library-պահպանել

npm տեղադրել onoff -պահպանել

npm տեղադրել system-sleep-պահպանել

Վերջապես, ստեղծեք ձեր.js ֆայլը (այստեղ կլինի ձեր ծածկագրի գտնվելու վայրը): Տերմինալում մուտքագրեք հետևյալը

nano MyProject.js

Այդ հրամանը կատարելուց հետո կբացվի nano- ն (տերմինալի տեքստային խմբագիր):

Քայլ 4: MyProject.js

Նանոյի մեջ գրեք կոդի հետևյալ տողերը

var Blynk = պահանջել ('blynk- գրադարան');

var AUTH = '******************'; ԱՅՍ ՔՈ KԱՆԱՉԱԳԻՐՆ Է

var blynk = նոր Blynk. Blynk (AUTH);

var Gpio = պահանջում («անջատում»): Gpio,

command1 = նոր Gpio (18, «դուրս»), // Կմիացվի Arduino D2- ին

commandCW = նոր Gpio (23, «դուրս»), // Կմիացվի Arduino D3- ին

commandCCW = նոր Gpio (24, «դուրս»); // Կմիացվի Arduino D4- ին

var քուն = պահանջել ('համակարգ-քուն');

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); // սա ձեր LCD տող 1 -ն է հավելվածում

var v5 = նոր blynk. VirtualPin (5); // սա ձեր LCD տող 2 -ն է հավելվածում

v1.on ('գրել', գործառույթ (param) // Checkրագրում ստուգեք Command1 կոճակը

{

եթե (param == 1) // Եթե կոճակը սեղմված է (որը 1 է), ապա կատարեք հետևյալը

{

v4.write («Կատարում»); // LCD- ի առաջին տողում գրեք «Կատարում»

v5.write («Հրաման»); // LCD- ի երկրորդ տողում գրեք «Հրաման»

command1.writeSync (1); // Սահմանեք GPIO18- ը (որը փոփոխական հրաման է 1) 1 -ի (HIGH)

քուն (4000); // Սպասեք 4 վայրկյան

command1.writeSync (0); // Սահմանեք GPIO18- ը (որը փոփոխական հրաման է 1) 0 -ի (LOW)

v4. գրել («Կատարված է»); // LCD- ի առաջին տողում գրեք «Կատարված է»

v5. գրել (""); // LCD- ի երկրորդ տողում գրեք «» (ոչինչ)

v1.գրեք (0); // Գրեք 0 ձեր Command1 կոճակին, որը այն կվերականգնի OFF դիրքում

}

});

v2.on («գրել», գործառույթ (param) // Ստուգեք CW կոճակը հավելվածում

{

եթե (param == 1) // Եթե կոճակը սեղմված է (որը 1 է), ապա կատարեք հետևյալը

{

commandCW.writeSync (1); // GPIO23- ը (որը փոփոխական հրաման է CW) սահմանեք 1 (HIGH)

}

else if (param == 0) // Եթե կոճակը սեղմված չէ (որը 0 է) ապա արեք հետևյալը

{

commadCW.writeSync (0); // GPIO23- ը (որը փոփոխական commandCW է) սահմանել 0 (OWԱOWՐ)

}

});

v3.on ('գրել', գործառույթ (param) // Checkրագրում ստուգեք CCW կոճակը

{

եթե (param == 1) // Եթե կոճակը սեղմված է (որը 1 է), ապա կատարեք հետևյալը

{

commandCCW.writeSync (1); // Սահմանեք GPIO24- ը (որը փոփոխական հրաման է ՝CCW) 1 -ի (HIGH)

}

else if (param == 0) // Եթե կոճակը սեղմված չէ (որը 0 է) ապա արեք հետևյալը

{

commandCCW.writeSync (0); // Սահմանեք GPIO24- ը (որը փոփոխական հրաման է ՝CCW) 1 -ի (HIGH)

}

});

Պահպանեք այն և դուրս եկեք nano- ից

- պահպանել CTRL+O

- դուրս գալ CTRL+X- ից

Դուք ավարտել եք Raspberry Pi- ն:

Այժմ փորձարկեք այն ՝ տեսնելու համար արդյոք որևէ տեսակի սխալներ (ժամանակի մեծ մասը տառասխալների սխալներ են)

Այն փորձարկելու համար պարզապես մուտքագրեք հետևյալը ձեր տերմինալում

հանգույց MyProject.js

Դուք պետք է ստանաք այսպիսի տեսք ունեցող ելք

OnOff ռեժիմ

Միացում ՝ blynk-cloud.com 8441

SSL թույլտվություն…

Լիազորված

Քայլ 5. MyProject- ը Arduino- ում

Լավ, հիմա մենք ավարտեցինք 2/3 բան:

Այժմ մենք պարզապես պետք է ինչ -որ ծածկագիր գրենք Arduino- ի համար:

- Ստեղծեք Arduino- ի նոր ուրվագիծ և մուտքագրեք հետևյալ ծածկագիրը:

#ներառում

#սահմանի՛ր STEPS_PER_MOTOR_REVOLUTION 32 -ը

#սահմանել STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048 թ.:

// Պին կապերը պետք է միացված լինեն 8, 9, 10, 11 կապում

// դեպի Motor Driver In1, In2, In3, In4

// Այնուհետև կապումներն այստեղ մուտքագրվում են 1-3-2-4 հաջորդականությամբ `ճիշտ հաջորդականության համար

Տափակ փոքր_թափիչ (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Քայլեր 2 Վերցրեք;

int Հրամանատարություն 1;

int CommandCW;

int CommandCCW;

դատարկ կարգավորում ()

{

pinMode (2, Մուտք);

pinMode (3, Մուտք);

pinMode (4, Մուտք);

// (Stepper Library- ը կապում է որպես ելք)

}

դատարկ շրջան ()

{

Command1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

եթե (հրաման 1 == 0)

{

//չանել ոչինչ

}

ուրիշ

{

Կատարման գործառույթ ();

}

եթե (CommandCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (-1);

ուշացում (1);

}

եթե (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

ուշացում (1);

}

}

void ExecutionFunction ()

{

Քայլեր 2 Վերցրեք = STEPS_PER_OUTPUT_REVOLUTION / 4; // Պտտել CCW 1/4 հերթով

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Դուք կարող եք փոխարինել Steps2Take- ը 0 -ից 2048 -ի միջև ընկած ցանկացած արժեքով

ուշացում (500);

Քայլեր 2 Վերցրեք = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Պտտել CW 1/4 հերթով

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Դուք կարող եք փոխարինել Steps2Take- ը 0 -ից 2048 -ի միջև ընկած ցանկացած արժեքով

ուշացում (2000);

}

Կազմեք և վերբեռնեք ձեր Arduino- ում:

Այժմ համոզվեք, որ ամեն ինչ ճիշտ եք միացնում: Տեսեք էլեկտրագծերի հաջորդ քայլը:

Քայլ 6: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր
Հաղորդալարեր

Միացրեք Arduino D3- ը RaspberryPi GPIO18- ին (որն իրականում փին 12 է)

Միացրեք Arduino D4- ը RaspberryPi GPIO23- ին (որն իրականում 16 -րդ կապն է)

Միացրեք Arduino D4- ը RaspberryPi GPIO24- ին (որն իրականում 18 -րդ կապն է)

Միացրեք Arduino GND- ը RaspberryPi GND- ին (փին 6)

Միացրեք Arduino D8- ը Stepper Controller In1- ին

Միացրեք Arduino D9- ը Stepper Controller In2- ին

Միացրեք Arduino D10- ը Stepper Controller In3- ին

Միացրեք Arduino D11- ը Stepper Controller In4- ին

Միացրեք 5VDC- ն Arduino- ին, Raspberry Pi- ին և Stepper Controller- ին

Քայլ 7: Ահա և վերջ:

Ստուգեք տեսանյութը, և դուք պետք է ավարտեք:

Շնորհակալություն և վայելեք:

Խորհուրդ ենք տալիս: