ዝርዝር ሁኔታ:

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 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: SKR Pro v1.2 - TMC2226 UART with Sensorless Homing 2024, ህዳር
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

ይህ መማሪያ በአርዱኢኖ ፣ በ Raspberry Pi እና በብሊንክ አፕሊኬሽን የእንፋሎት ሞተርን እንዴት እንደሚቆጣጠሩ ያሳየዎታል።

በለውዝ shellል ውስጥ ፣ መተግበሪያው በ Raspberry Pi በቨርቹዋል ፒን በኩል ጥያቄዎችን ይልካል ፣ ፒ ከዚያ ከፍተኛ/ዝቅተኛ ምልክት ወደ አርዱዲኖ ይልካል እና አርዱinoኖ ከዚያ ከእግረኛ ሞተር ጋር ይገናኛል።

እኔ ብዙ ሰዎች ከአርዱዲኖ ጋር ለመስራት እና በ Raspberry Pi ላይ ከ node.js ጋር ብዙ ስላልሆኑ ያንን ማፅደቅ ለመጠቀም ቀላል ይመስለኛል።

ለዚህ የሚያስፈልጉ አካላት-

- Raspberry PI (እኔ Raspberry Pi 3 ሞዴል ለ እየተጠቀምኩ ነው)

- አርዱዲኖ (እኔ አርዱዲኖ ናኖን እጠቀማለሁ)

- ሰርቮ ሞተር (28BYJ-48 5VDC ን ከመቆጣጠሪያው ጋር እጠቀማለሁ)

- አንዳንድ ዝላይ ሽቦዎች

- የኃይል ምንጭ (5VDC 2A.)

የአርዱዲኖ ንድፍ እና የ Node.js ኮድ ለማውረድ ይገኛል። ፋይሎቹን ብቻ ይፈልጉ።

ደረጃ 1: መተግበሪያውን በስልክዎ ላይ መፍጠር

መተግበሪያውን በስልክዎ ላይ መፍጠር
መተግበሪያውን በስልክዎ ላይ መፍጠር
መተግበሪያውን በስልክዎ ላይ መፍጠር
መተግበሪያውን በስልክዎ ላይ መፍጠር

ብሊንክን ከ AppStore ወይም ከ GooglePlay ያውርዱ

መተግበሪያውን ይክፈቱ እና ተጠቃሚ ይፍጠሩ ወይም በፌስቡክ ይግቡ።

- አዲስ ፕሮጀክት ይፍጠሩ

ፕሮጀክትዎን ይሰይሙ: MyProject

መሣሪያ ይምረጡ Rasapberry Pi 3 B

የግንኙነት ዓይነት - ዋይፋይ (ወይም ኤተርኔትዎ ከእርስዎ አውታረ መረብ ጋር ከተገናኘ)

- ፍጠር የሚለውን ጠቅ ያድርጉ

ለእርስዎ ማስመሰያ ኢሜልዎን ይመልከቱ

(ይህን ይመስላል 3aa19bb8a9e64c90af11e3f6b0595b3c)

ይህ ማስመሰያ ከአሁኑ መተግበሪያዎ ጋር ተጣብቋል። ሌላ መተግበሪያ ካደረጉ ሌላ ማስመሰያ ያመነጫሉ።

በመተግበሪያው ውስጥ የሚከተሉትን ንዑስ ፕሮግራሞችን ያክሉ (ሥዕሉን ይመልከቱ)

- 3 አዝራሮችን ያክሉ

- 1 ኤልሲዲ ያክሉ

- አዝራሩን ያርትዑ

የመጀመሪያውን አንድ Command1 ብለው ይሰይሙ ፣ ፒኑን እንደ ምናባዊ ፒን 1 ያዘጋጁ እና ሁነታን እንደ SWITCH ያዘጋጁ

ሁለተኛውን CW ብለው ይሰይሙ ፣ ፒኑን እንደ ምናባዊ ፒን 2 ያዘጋጁ እና ሁነታን እንደ PUSH ያዘጋጁ

ሶስተኛውን CCW ብለው ይሰይሙ ፣ ፒኑን እንደ ምናባዊ ፒን 3 ያዘጋጁ እና ሁነታን እንደ PUSH ያዘጋጁ

- ኤልሲዲውን ያርትዑ

ፒኖቹን እንደ ምናባዊ ፒን 4 እና ምናባዊ ፒን 5 ያዘጋጁ እና ሁነታን ወደ PUSH ያዘጋጁ

ደረጃ 2 - የፒአይ ዝግጁነትን ማግኘት

በመጀመሪያ ፣ Node.js ን መጫን ያስፈልግዎታል። Node.js ን ከማዘመንዎ በፊት እባክዎን የድሮ ስሪቶችን ማስወገድዎን ያረጋግጡ።

ተርሚናልን ይክፈቱ እና ይተይቡ

sudo apt-get purge nodej 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 ማሻሻል

sudo apt-get install ግንባታ-አስፈላጊ nodejs -y

Node.js አንዴ ከተጫነ ብሊንክን ይጫኑ

sudo npm blynk -library -g ን ይጫኑ

sudo npm ጫን ኦኖፍ -g

ደረጃ 3 ፕሮጀክትዎን መፍጠር

ማውጫ (ሲዲ ትእዛዝ) ወደ ፒ ማውጫ በመቀየር ይጀምሩ

ተርሚናል ይክፈቱ እና ይተይቡ

ሲዲ/ቤት/ፒ/

ከዚያ ፣ ፕሮጀክትዎ የሚኖርበትን ማውጫ ይፍጠሩ

mkdir MyProject

ማውጫውን ወደ MyProject ይለውጡ ፣ ተርሚናል ውስጥ የሚከተለውን ይተይቡ

ሲዲ MyProject

የማውጫውን ይዘት ይፈትሹ (ባዶ መሆን አለበት)። በቃ ተርሚናል ውስጥ የሚከተለውን ይተይቡ

ls

በመቀጠል ፣ የፕሮጀክት መግለጫዎን (package.json) ለመፍጠር የሚከተለውን ይተይቡ

npm init

ልክ የፕሮጀክቱን ስም ፣ ደራሲ ፣ ሥሪት ፣ ወዘተ…

አንዴ ይህ ከተጠናቀቀ ፣ በፕሮጀክት ማውጫዎ ውስጥ የብሎንክ ቤተመፃሕፍት ፣ የኦኖፍ ቤተ-መጽሐፍት እና የስርዓት-እንቅልፍ ቤተ-መጽሐፍት ይጫኑ። በእርስዎ ተርሚናል ውስጥ የሚከተለውን ይተይቡ

npm blynk-library ጫን-አስቀምጥ

npm መጫንን -አስቀምጥ

npm መጫኛ ስርዓት-እንቅልፍ-አስቀምጥ

በመጨረሻም የ.js ፋይልዎን ይፍጠሩ (ይህ የእርስዎ ኮድ የሚኖርበት ይሆናል)። ተርሚናል ውስጥ የሚከተለውን ይተይቡ

nano MyProject.js

አንዴ ያንን ትዕዛዝ ከፈጸሙ በኋላ ናኖ (ተርሚናል የጽሑፍ አርታኢ) ይከፈታል።

ደረጃ 4: MyProject.js

በናኖ ውስጥ የሚከተሉትን የኮድ መስመሮች ይፃፉ

var Blynk = ይጠይቁ ('blynk-library');

var AUTH = '******************'; ይህ የእርስዎ መጫወቻ ነው

var blynk = new Blynk. Blynk (AUTH);

var Gpio = ይጠይቁ ('onoff')። Gpio ፣

command1 = new Gpio (18, 'out') ፣ // ከአርዱዲኖ D2 ጋር ይገናኛል

commandCW = new Gpio (23, 'out') ፣ // ከአርዱዲኖ D3 ጋር ይገናኛል

commandCCW = new Gpio (24, 'out'); // ከ Arduino D4 ጋር ይገናኛል

var sleep = ያስፈልጋል ('ስርዓት-እንቅልፍ');

var v1 = አዲስ blynk. VirtualPin (1); // ይህ በመተግበሪያው ውስጥ የእርስዎ Command1 አዝራር ነው

var v2 = አዲስ blynk. VirtualPin (2); // ይህ በመተግበሪያው ውስጥ የእርስዎ CW ቁልፍ ነው

var v3 = አዲስ blynk. VirtualPin (3); // ይህ በመተግበሪያው ውስጥ የእርስዎ የ CCW ቁልፍ ነው

var v4 = አዲስ blynk. VirtualPin (4); // ይህ በመተግበሪያው ውስጥ የእርስዎ ኤልሲዲ መስመር 1 ነው

var v5 = አዲስ blynk. VirtualPin (5); // ይህ በመተግበሪያው ውስጥ የእርስዎ ኤልሲዲ መስመር 2 ነው

v1.on ('ጻፍ' ፣ ተግባር (ፓራም) // በመተግበሪያው ውስጥ ያለውን የትእዛዝ1 ቁልፍን ይፈትሹ

{

ከሆነ (param == 1) // አዝራሩ ከተጫነ (ይህም 1 ነው) ከዚያ የሚከተሉትን ያድርጉ

{

v4. ጻፍ (“ማስፈጸም”); // በኤልሲዲው የመጀመሪያ መስመር ላይ “ማስፈጸም” ይፃፉ

v5. ጻፍ ("ትዕዛዝ"); // በ “ኤልሲዲ” ሁለተኛ መስመር ላይ “ትዕዛዝ” ይፃፉ

ትእዛዝ 1. ጻፍ ሲንክ (1); // GPIO18 ን (ተለዋዋጭ ትዕዛዝ 1 ነው) ወደ 1 (ከፍተኛ) ያዘጋጁ

እንቅልፍ (4000); // ለ 4 ሰከንዶች ይጠብቁ

ትዕዛዝ 1. ጻፍ ሲንክ (0); // GPIO18 ን (ተለዋዋጭ ትዕዛዝ 1 ነው) ወደ 0 (LOW) ያዘጋጁ

v4. ጻፍ ("ተከናውኗል"); // በኤልሲዲው የመጀመሪያ መስመር ላይ “ተከናውኗል” ብለው ይፃፉ

v5. ጻፍ (""); // በኤልሲዲው ሁለተኛ መስመር ላይ “” (ምንም የለም) ይፃፉ

v1. ጻፍ (0); // ወደ ትዕዛዝ 1 ቁልፍዎ 0 ይፃፉ ፣ ያ ወደ ጠፍቷል ቦታ ዳግም ያስጀምረዋል

}

});

v2.on ('ጻፍ' ፣ ተግባር (ፓራም) // በመተግበሪያው ውስጥ ያለውን የ CW ቁልፍን ይፈትሹ

{

ከሆነ (param == 1) // አዝራሩ ከተጫነ (ይህም 1 ነው) ከዚያ የሚከተሉትን ያድርጉ

{

commandCW.writeSync (1); // GPIO23 ን (ተለዋዋጭ ትእዛዝ CW) ወደ 1 (ከፍተኛ) ያዘጋጁ

}

ሌላ ከሆነ (param == 0) // አዝራሩ ካልተጫነ (ይህም 0 ነው) ከዚያ የሚከተሉትን ያድርጉ

{

commadCW.writeSync (0); // GPIO23 ን (ተለዋዋጭ ትእዛዝ CW) ወደ 0 (LOW) ያዘጋጁ

}

});

v3.on ('ጻፍ' ፣ ተግባር (ፓራም) // በመተግበሪያው ውስጥ ያለውን የ CCW ቁልፍን ይፈትሹ

{

ከሆነ (param == 1) // አዝራሩ ከተጫነ (ይህም 1 ነው) ከዚያ የሚከተሉትን ያድርጉ

{

commandCCW.writeSync (1); // GPIO24 ን (ተለዋዋጭ ትዕዛዝ CCW) ወደ 1 (ከፍተኛ) ያዘጋጁ

}

ሌላ ከሆነ (param == 0) // አዝራሩ ካልተጫነ (ይህም 0 ነው) ከዚያ የሚከተሉትን ያድርጉ

{

commandCCW.writeSync (0); // GPIO24 ን (ተለዋዋጭ ትዕዛዝ CCW) ወደ 1 (ከፍተኛ) ያዘጋጁ

}

});

ያስቀምጡት እና ከናኖ ይውጡ

- CTRL+O ን ለማስቀመጥ

- CTRL+X ን ለመተው

ከ Raspberry Pi ጋር ጨርሰዋል።

ማንኛውም ዓይነት ስህተቶች ካሉዎት ለማየት ይሞክሩት (ብዙ ጊዜ የቲፖ ስህተቶች ናቸው)

እሱን ለመሞከር በቀላሉ በእርስዎ ተርሚናል ውስጥ የሚከተለውን ይተይቡ

መስቀለኛ MyProject.js

ይህንን የሚመስል ውፅዓት ማግኘት አለብዎት

OnOff ሁነታ

ከዚህ ጋር በመገናኘት ላይ: blynk-cloud.com 8441

የኤስኤስኤል ፈቃድ…

የተፈቀደ

ደረጃ 5: በአርዲኖ ውስጥ MyProject

እሺ ስለዚህ አሁን 2/3 ነገሮች ተጠናቀዋል!

አሁን ለአርዱዲኖ አንዳንድ ኮድ መጻፍ አለብን።

- አዲስ የአርዱዲኖ ንድፍ ይፍጠሩ እና የሚከተለውን ኮድ ይተይቡ።

#ያካትቱ

#STEPS_PER_MOTOR_REVOLUTION 32 ን ይግለጹ

#STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048 ን ይግለጹ

// የፒን ግንኙነቶች 8 ፣ 9 ፣ 10 ፣ 11 መገናኘት አለባቸው

// ለሞተር ሾፌር In1 ፣ In2 ፣ In3 ፣ In4

// ከዚያ ለትክክለኛ ቅደም ተከተል ፒኖች በቅደም ተከተል 1-3-2-4 ውስጥ እዚህ ገብተዋል

Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION ፣ 8 ፣ 10 ፣ 9 ፣ 11) ፤

int Steps2Take;

int Command1;

int CommandCW;

int CommandCCW;

ባዶነት ማዋቀር ()

{

pinMode (2 ፣ ግቤት);

pinMode (3 ፣ ግቤት);

pinMode (4 ፣ ግቤት);

// (ስቴፐር ቤተ -መጽሐፍት ፒኖችን እንደ ውጤቶች ያዘጋጃል)

}

ባዶነት loop ()

{

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);

}

}

ባዶ አፈጻጸም ተግባር ()

{

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);

}

ያጠናቅሩ እና ወደ የእርስዎ አርዱinoኖ ይስቀሉ።

አሁን ሁሉንም ነገር በትክክል ማገናኘትዎን ያረጋግጡ! ለሽቦ ቀጣዩን ደረጃ ይመልከቱ።

ደረጃ 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 ጋር ያገናኙ

አርዱዲኖ D10 ን ከ Stepper Controller In3 ጋር ያገናኙ

አርዱዲኖ D11 ን ከ Stepper Controller In4 ጋር ያገናኙ

5VDC ን ከአርዱዲኖ ፣ Raspberry Pi እና Stepper Controller ጋር ያገናኙ

ደረጃ 7: ያ ብቻ ነው

ቪዲዮውን ይመልከቱ ፣ እና መጨረስ አለብዎት!

እናመሰግናለን እና ይደሰቱ!

የሚመከር: