Բովանդակություն:
- Քայլ 1: Հավելվածի ստեղծում ձեր հեռախոսի վրա
- Քայլ 2: PI- ի պատրաստում
- Քայլ 3: Ստեղծեք ձեր նախագիծը
- Քայլ 4: MyProject.js
- Քայլ 5. MyProject- ը Arduino- ում
- Քայլ 6: Լարերի տեղադրում
- Քայլ 7: Ահա և վերջ:
Video: Ազնվամորի PI & Arduino - Blynk Stepper Control: 7 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Այս ձեռնարկը ցույց կտա ձեզ, թե ինչպես կառավարել 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: Ահա և վերջ:
Ստուգեք տեսանյութը, և դուք պետք է ավարտեք:
Շնորհակալություն և վայելեք:
Խորհուրդ ենք տալիս:
Աստղաֆոտոգրաֆիա ազնվամորի Պի զրոյով. 11 քայլ (նկարներով)
Աստղաֆոտոգրաֆիա Raspberry Pi Zero- ի հետ. Ես մինչ այդ [1] [2] պատրաստել եմ երկու այլ Raspberry Pi- ի վրա հիմնված տեսախցիկների նախագծեր: Սա, իմ երրորդ տեսախցիկի գաղափարը, իմ առաջին Raspberry Pi Zero նախագիծն է: Սա նաև իմ առաջին աստղագնացությանն է մասնակցում: Վերջերս հրահրված «Սուպերլուսնով» ես ուզում էի եղբորս ձեռք բերել
Ազնվամորի Pi- ով աշխատող ինտերնետային ռադիո. 5 քայլ (նկարներով)
Ազնվամորու Pi- ով աշխատող ինտերնետային ռադիո. Հավաքիչների պտտման և կոճակները սեղմելու մեջ ինչ-որ բան գոհացուցիչ է, ինչպես հին ռադիոկայանների դեպքում: Lyավոք, այս ռադիոկայաններից շատերը խափանվել են կամ կայանները լռել են: Բարեբախտաբար, շատ դժվար չէ որևէ ռադիո ինտերնետի ռադիոյի վերածել ՝ օգտագործելով
Անլար դռան զանգ - (ազնվամորի PI և Amazon Dash). 4 քայլ (նկարներով)
Անլար դռան զանգ - (Ազնվամորի PI և Amazon Dash). Ի՞նչ է դա անում: (տես տեսանյութը) Երբ կոճակը սեղմվում է, Ազնվամորին հայտնաբերում է անլար ցանցում նոր սարքի մուտք գործելը: Այս կերպ այն կարող է ճանաչել սեղմված կոճակը և փոխանցել այս փաստի մասին տեղեկությունները ձեր բջջայինին (կամ ձեր
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). 9 քայլ (նկարներով)
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). Իմ նախորդ հրահանգներից մեկում ես ձեզ ցույց տվեցի, թե ինչպես կարելի է կառավարել հետընթաց շարժիչը `օգտագործելով միկրոկոնտրոլերի շարժիչ: Դա արագ և զվարճալի նախագիծ էր, բայց այն ունեցավ երկու խնդիր, որոնք կլուծվեն այս Ուղեցույցում: Այսպիսով, խելամտորեն
Stepper Motor Controled Model լոկոմոտիվ - Stepper Motor As a Rotary Encoder: 11 Քայլ (նկարներով)
Stepper Motor Controled Model լոկոմոտիվ | Stepper Motor As a Rotary Encoder. Նախորդ հրահանգներից մեկում մենք սովորեցինք, թե ինչպես օգտագործել stepper շարժիչը որպես պտտվող կոդավորիչ: Այս նախագծում մենք այժմ կօգտագործենք այդ պտտվող շարժիչով պտտվող կոդավորիչը `Arduino միկրոկոնտրոլերի միջոցով մոդելի լոկոմոտիվը կառավարելու համար: Այսպիսով, առանց ֆու