Përmbajtje:

Raspberry PI & Arduino - Blynk Stepper Control: 7 hapa (me fotografi)
Raspberry PI & Arduino - Blynk Stepper Control: 7 hapa (me fotografi)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 hapa (me fotografi)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 hapa (me fotografi)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Nëntor
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

Ky tutorial do t'ju tregojë se si të kontrolloni një motor stepper me një Arduino, një Raspberry Pi dhe Aplikacionin Blynk.

Në një guaskë arre, aplikacioni dërgon kërkesa te Raspberry Pi përmes Kunjave Virtual, Pi pastaj dërgon sinjal HIGH/LOW në Arduino dhe Arduino pastaj merret me motorin stepper.

Unë mendoj se është më e lehtë të përdorësh atë përafrim pasi shumica e njerëzve janë mësuar të punojnë me Arduino dhe jo shumë me node.js në Raspberry Pi.

Përbërësit e nevojshëm për këtë:

- Raspberry PI (Unë jam duke përdorur modelin Raspberry Pi 3 b)

- Arduino (Unë jam duke përdorur një Arduino Nano)

- Servo Motor (Unë jam duke përdorur një 28BYJ-48 5VDC me kontrolluesin e tij)

- Disa tela kërcyes

- Burimi i energjisë (5VDC 2A.)

Skica Arduino dhe kodi Node.js janë në dispozicion për tu shkarkuar. Thjesht shikoni skedarët.

Hapi 1: Krijimi i aplikacionit në telefonin tuaj

Krijimi i aplikacionit në telefonin tuaj
Krijimi i aplikacionit në telefonin tuaj
Krijimi i aplikacionit në telefonin tuaj
Krijimi i aplikacionit në telefonin tuaj

Shkarkoni Blynk nga AppStore ose GooglePlay

Hapni Aplikacionin dhe krijoni një përdorues ose Hyni me facebook.

- Krijoni një projekt të ri

Emërtoni projektin tuaj: MyProject

Zgjidhni pajisjen: Rasapberry Pi 3 B

Lloji i lidhjes: Wifi (ose Ethernet nëse Pi juaj është i lidhur me rrjetin tuaj)

- Klikoni Krijo

Kontrolloni emailin tuaj për Token tuaj

(duket kështu 3aa19bb8a9e64c90af11e3f6b0595b3c)

Ky Token është i lidhur me aplikacionin tuaj aktual. Nëse bëni një aplikacion tjetër, do të gjeneroni një shenjë tjetër.

Në Aplikacion shtoni widget -et e mëposhtëm (shiko figurën)

- Shtoni 3 butona

- Shtoni 1 LCD

- Ndryshoni butonin

emërtoni të parën Command1, vendosni Pin si Virtual Pin 1 dhe vendosni Modalitetin si SWITCH

emërtoni CW -në e dytë, vendosni Pin -in si Virtual Pin 2 dhe vendosni Modalitetin si PUSH

emërtoni të tretin CCW, vendosni Pin si Virtual Pin 3 dhe vendosni Modalitetin si PUSH

- Ndryshoni LCD -në

vendosni Kunjat si Pin Virtual 4 dhe Virtual Pin 5 dhe vendosni Modalitetin në PUSH

Hapi 2: Përgatitja e IP -së

Së pari, duhet të instaloni Node.js. Para se të azhurnoni Node.js, sigurohuni që të hiqni versionet e vjetra:

Hapni Terminalin dhe shkruani

sudo apt-get nyje nyje purge

nyje.js -ysudo apt -get autoremove

Instalimi automatik i Node.js Shtoni depo:

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

Instaloni Node.js

sudo apt-merrni përditësim && sudo apt-merrni përmirësim

sudo apt-get install build-thelbësore nodejs -y

Pasi të jetë instaluar Node.js, instaloni Blynk

sudo npm instaloni blynk -librari -g

sudo npm instaloni onoff -g

Hapi 3: Krijimi i projektit tuaj

Filloni duke ndryshuar drejtorinë (komanda cd) në drejtorinë pi

Hapni Terminalin dhe shkruani:

cd/home/pi/

Pastaj, krijoni një drejtori ku do të banojë projekti juaj

mkdirProjekti im

Ndryshoni drejtorinë në MyProject, shkruani sa vijon në Terminal

cd MyProject

Kontrolloni përmbajtjen e drejtorisë (duhet të jetë bosh). Thjesht shkruani sa vijon në Terminal

ls

Tjetra, shtypni sa vijon për të krijuar përshkrimin e projektit tuaj (package.json)

npm init

Thjesht shkruani emrin e projektit, autorin, versionin, etj …

Pasi të bëhet kjo, instaloni bibliotekën Blynk, bibliotekën onoff dhe bibliotekën e sistemit të fjetjes në drejtorinë tuaj të projektit. Shkruani sa vijon në Terminalin tuaj

npm instaloni bibliotekën blynk-ruani

npm instaloni onoff -ruani

npm install system-sleep-ruaj

Së fundi, krijoni skedarin tuaj.js (Ky do të jetë vendi ku do të banojë kodi juaj). Shkruani sa vijon në Terminal

nano MyProject.js

Pasi të ekzekutoni atë komandë, nano (redaktuesi i tekstit terminal) do të hapet.

Hapi 4: MyProject.js

Në nano, shkruani rreshtat e mëposhtëm të kodit

var Blynk = kërkoj ('biblioteka blynk');

var AUTH = '******************'; KJO TOSHT TOKEN TUAJ

var blynk = new Blynk. Blynk (AUTH);

var Gpio = kërkoj ('fikur'). Gpio,

command1 = Gpio i ri (18, 'jashtë'), // Do të lidhet me Arduino D2

commandCW = Gpio e re (23, 'jashtë'), // Do të lidhet me Arduino D3

commandCCW = Gpio e re (24, 'jashtë'); // Do të lidhet me Arduino D4

var gjumi = kërkoj ('sistem-gjumë');

var v1 = blynk i ri. VirtualPin (1); // ky është butoni juaj Command1 në aplikacion

var v2 = blynk i ri. VirtualPin (2); // ky është butoni juaj CW në aplikacion

var v3 = blynk i ri. VirtualPin (3); // ky është butoni juaj CCW në aplikacion

var v4 = blynk i ri. VirtualPin (4); // kjo është linja juaj LCD 1 në aplikacion

var v5 = blynk i ri. VirtualPin (5); // kjo është linja juaj LCD 2 në aplikacion

v1.on ('shkruaj', funksioni (param) // Kontrolloni për butonin Command1 në aplikacion

{

nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë

{

v4.write ("Ekzekutimi"); // Shkruani "Ekzekutimi" në rreshtin e parë të LCD

v5.shkruani ("Komanda"); // Shkruani "Command" në rreshtin e dytë të LCD

command1.writeSync (1); // Vendosni GPIO18 (e cila është komanda e ndryshueshme1) në 1 (LART)

fle (4000); // Prisni 4 sekonda

command1.writeSync (0); // Vendosni GPIO18 (e cila është komanda e ndryshueshme1) në 0 (LOW)

v4.shkruani ("U krye"); // Shkruani "U krye" në rreshtin e parë të LCD

v5.shkruani (""); // Shkruani "" (asgjë) në rreshtin e dytë të LCD

v1.shkruani (0); // Shkruani 0 në butonin tuaj Command1, që do ta rivendosë atë në pozicionin OFF

}

});

v2.on ('shkruaj', funksioni (param) // Kontrolloni për butonin CW në aplikacion

{

nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë

{

commandCW.writeSync (1); // Vendosni GPIO23 (e cila është komandë e ndryshueshmeCW) në 1 (LART)

}

përndryshe nëse (param == 0) // Nëse butoni nuk është shtypur (që është 0) atëherë bëni sa më poshtë

{

commadCW.writeSync (0); // Vendosni GPIO23 (e cila është komandë e ndryshueshmeCW) në 0 (LOW)

}

});

v3.on ('shkruaj', funksioni (param) // Kontrolloni për butonin CCW në aplikacion

{

nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë

{

commandCCW.writeSync (1); // Vendosni GPIO24 (e cila është komandë e ndryshueshmeCCW) në 1 (LART)

}

tjetër nëse (param == 0) // Nëse butoni nuk është shtypur (që është 0) atëherë bëni sa më poshtë

{

commandCCW.writeSync (0); // Vendosni GPIO24 (që është komandë e ndryshueshmeCCW) në 1 (LART)

}

});

Ruajeni atë dhe dilni nga nano

- për të ruajtur CTRL+O

- për të lënë CTRL+X

Ju keni mbaruar me Raspberry Pi.

Tani testojeni për të parë nëse keni ndonjë lloj gabimi (shumicën e kohës janë gabime të gabimit të gabimit)

Për ta testuar atë, thjesht shkruani sa vijon në Terminalin tuaj

nyja MyProject.js

Ju duhet të merrni një dalje që duket si kjo

Modaliteti OnOff

Lidhja me: blynk-cloud.com 8441

Autorizimi SSL…

I autorizuar

Hapi 5: MyProject në Arduino

Ok tani kemi 2/3 gjëra të përfunduara!

Tani na mbetet vetëm të shkruajmë një kod për Arduino.

- Krijoni një skicë të re Arduino dhe shkruani kodin e mëposhtëm.

#përfshi

#përcaktoni STEPS_PER_MOTOR_REVOLUTION 32

#përcaktoni STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Lidhjet e kunjave duhet të jenë të lidhura me kunjat 8, 9, 10, 11

// tek drejtuesi i motorit In1, In2, In3, In4

// Pastaj kunjat futen këtu në sekuencën 1-3-2-4 për sekuencimin e duhur

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

int Hapat2 Merrni;

int Komanda1;

int CommandCW;

int CommandCCW;

void setup ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Biblioteka Stepper i vendos kunjat si dalje)

}

lak void ()

{

Command1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

nëse (Komanda1 == 0)

{

//mos bej gje

}

tjeter

{

EkzekutimiFunksion ();

}

nëse (CommandCW == 1)

{

small_stepper.setSpeed (700);

stepa_ e vogël.hap (-1);

vonesa (1);

}

nëse (CommandCCW == 1)

{

small_stepper.setSpeed (700);

stepa_ e vogël.hap (1);

vonesa (1);

}

}

void ExecutionFunction ()

{

Hapat2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Rrotulloni CCW 1/4 kthesë

small_stepper.setSpeed (700);

small_stepper.step (Hapat2Take); // Ju mund të zëvendësoni Steps2Take me çdo vlerë midis 0 dhe 2048

vonesë (500);

Hapat2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Rrotulloni CW 1/4 kthesë

small_stepper.setSpeed (700);

small_stepper.step (Hapat2Take); // Ju mund të zëvendësoni Steps2Take me çdo vlerë midis 0 dhe 2048

vonesa (2000);

}

Përpiloni dhe ngarkoni në Arduino tuaj.

Tani sigurohuni që të lidhni gjithçka në mënyrë korrekte! Shihni hapin tjetër për instalime elektrike.

Hapi 6: Instalimet elektrike

Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike
Instalime elektrike

Lidhni Arduino D3 me RaspberryPi GPIO18 (e cila në të vërtetë është pin 12)

Lidhni Arduino D4 me RaspberryPi GPIO23 (që në fakt është kunja 16)

Lidhni Arduino D4 me RaspberryPi GPIO24 (e cila në të vërtetë është pin 18)

Lidhni Arduino GND me RaspberryPi GND (pin 6)

Lidheni Arduino D8 me Stepper Controller In1

Lidhni Arduino D9 me Stepper Controller In2

Lidhni Arduino D10 me Stepper Controller In3

Lidhni Arduino D11 me Stepper Controller In4

Lidhni 5VDC me Arduino, Raspberry Pi dhe Controller Stepper

Hapi 7: Kjo është ajo

Shikoni videon dhe do të keni mbaruar!

Faleminderit dhe kënaquni!

Recommended: