Sisällysluettelo:

Vadelma PI & Arduino - Blynk Stepper Control: 7 vaihetta (kuvilla)
Vadelma PI & Arduino - Blynk Stepper Control: 7 vaihetta (kuvilla)

Video: Vadelma PI & Arduino - Blynk Stepper Control: 7 vaihetta (kuvilla)

Video: Vadelma PI & Arduino - Blynk Stepper Control: 7 vaihetta (kuvilla)
Video: super cheap portable entertainment from broken laptop screen 2024, Marraskuu
Anonim
Vadelma PI & Arduino - Blynk Stepper Control
Vadelma PI & Arduino - Blynk Stepper Control

Tämä opetusohjelma näyttää, kuinka voit ohjata askelmoottoria Arduinolla, Raspberry Pi: llä ja Blynk -sovelluksella.

Pähkinänkuoressa sovellus lähettää pyynnöt Raspberry Pi: lle virtuaalisten nastojen kautta, Pi lähettää sitten HIGH/LOW -signaalin Arduinolle ja Arduino käsittelee sitten askelmoottorin.

Uskon, että on helpompaa käyttää tätä lähestymistapaa, koska useimmat ihmiset ovat tottuneet työskentelemään Arduinon kanssa eivätkä paljon Raspberry Pi: n node.js: n kanssa.

Tähän tarvittavat komponentit:

- Vadelma PI (käytän Raspberry Pi 3 -mallia b)

- Arduino (käytän Arduino Nanoa)

- Servomoottori (käytän 28BYJ-48 5VDC: tä sen ohjaimen kanssa)

- Joitakin hyppyjohtoja

- Virtalähde (5VDC 2A.)

Arduino -luonnos ja Node.js -koodi on ladattavissa. Katso vain tiedostot.

Vaihe 1: Sovelluksen luominen puhelimeesi

Sovelluksen luominen puhelimeesi
Sovelluksen luominen puhelimeesi
Sovelluksen luominen puhelimeesi
Sovelluksen luominen puhelimeesi

Lataa Blynk AppStoresta tai GooglePlaystä

Avaa sovellus ja luo käyttäjä tai kirjaudu sisään facebookilla.

- Luo uusi projekti

Nimeä projektisi: MyProject

Valitse laite: Rasapberry Pi 3 B

Yhteystyyppi: Wifi (tai Ethernet, jos Pi on kytketty verkkoon)

- Napsauta Luo

Tarkista sähköpostisi tunnuksestasi

(näyttää tältä 3aa19bb8a9e64c90af11e3f6b0595b3c)

Tämä tunnus on liitetty nykyiseen sovellukseesi. Jos teet toisen sovelluksen, luot uuden tunnuksen.

Lisää sovellukseen seuraavat widgetit (katso kuva)

- Lisää 3 painiketta

- Lisää 1 nestekidenäyttö

- Muokkaa painiketta

nimeä ensimmäinen komento1, aseta nasta virtuaaliseksi nastaksi 1 ja aseta tilaksi KYTKIN

anna toiselle nimi CW, aseta nasta Virtual Pin 2: ksi ja aseta tilaksi PUSH

nimeä kolmas CCW, aseta nasta Virtual Pin 3: ksi ja aseta tila PUSH: ksi

- Muokkaa LCD -näyttöä

aseta nastat Virtual Pin 4 ja Virtual Pin 5 ja valitse PUSH

Vaihe 2: PI: n valmistelu

Ennen kuin päivität Node.js, muista poistaa vanhat versiot:

Avaa terminaali ja kirjoita

sudo apt-get puhdista solmu nodejs

node.js -ysudo apt -get autoremove

Automaattinen Node.js -asennus Lisää arkistoja:

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

Asenna Node.js

sudo apt-get update && sudo apt-get update

sudo apt-get install build-essential nodejs -y

Kun Node.js on asennettu, asenna Blynk

sudo npm asenna blynk -library -g

sudo npm install onoff -g

Vaihe 3: Luo projekti

Aloita vaihtamalla hakemisto (cd -komento) pi -hakemistoon

Avaa terminaali ja kirjoita:

cd/koti/pi/

Luo sitten hakemisto, jossa projektisi sijaitsee

mkdir MyProject

Vaihda hakemisto MyProject -muotoon, kirjoita päätelaitteeseen seuraava

cd MyProject

Tarkista hakemiston sisältö (sen pitäisi olla tyhjä). Kirjoita vain seuraava terminaaliin

ls

Kirjoita seuraavaksi projektin kuvaus (package.json)

npm init

Kirjoita vain projektin nimi, tekijä, versio jne …

Kun tämä on tehty, asenna Blynk-kirjasto, käynnistyskirjasto ja järjestelmä-lepokirjasto projektisi hakemistoon. Kirjoita päätelaitteeseen seuraava

npm asenna blynk-library-save

npm install onoff -save

npm asenna järjestelmä-uni-tallenna

Luo lopuksi.js -tiedostosi (tässä on koodisi). Kirjoita terminaaliin seuraava

nano MyProject.js

Kun suoritat tämän komennon, nano (päätekstieditori) avautuu.

Vaihe 4: MyProject.js

Kirjoita nanossa seuraavat koodirivit

var Blynk = vaatia ('blynk-kirjasto');

var AUTH = '*****************' '; TÄMÄ ON SINUN OSTETTU

var blynk = uusi Blynk. Blynk (AUTH);

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

command1 = new Gpio (18, 'out'), // Yhdistetään Arduino D2: een

commandCW = new Gpio (23, 'out'), // Yhdistetään Arduino D3: een

commandCCW = uusi Gpio (24, 'ulos'); // Yhdistetään Arduino D4: ään

var uni = vaatia ('system-sleep');

var v1 = uusi blynk. VirtualPin (1); // tämä on komentosi1 -painike sovelluksessa

var v2 = uusi blynk. VirtualPin (2); // tämä on CW -painike sovelluksessa

var v3 = uusi blynk. VirtualPin (3); // tämä on CCW -painike sovelluksessa

var v4 = uusi blynk. VirtualPin (4); // tämä on LCD -rivisi 1 sovelluksessa

var v5 = uusi blynk. VirtualPin (5); // tämä on LCD -linjasi 2 sovelluksessa

v1.on ('write', function (param) // Tarkista Command1 -painike sovelluksessa

{

if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti

{

v4.write ("Suoritus"); // Kirjoita "Executing" nestekidenäytön ensimmäiselle riville

v5.write ("Komento"); // Kirjoita "Command" nestekidenäytön toiselle riville

command1.writeSync (1); // Aseta GPIO18 (joka on muuttujan komento1) arvoon 1 (HIGH)

nukkua (4000); // Odota 4 sekuntia

command1.writeSync (0); // Aseta GPIO18 (joka on muuttujan komento1) arvoon 0 (LOW)

v4.write ("Valmis"); // Kirjoita "Valmis" nestekidenäytön ensimmäiselle riville

v5.kirjoita (""); // Kirjoita "" (ei mitään) nestekidenäytön toiselle riville

v1.kirjoita (0); // Kirjoita 0 komento 1 -painikkeeseen, joka palauttaa sen OFF -asentoon

}

});

v2.on ('write', function (param) // Tarkista CW -painike sovelluksessa

{

if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti

{

commandCW.writeSync (1); // Aseta GPIO23 (muuttujan commandCW) arvoksi 1 (HIGH)

}

else if (param == 0) // Jos painiketta ei paineta (mikä on 0), toimi seuraavasti

{

commadCW.writeSync (0); // Aseta GPIO23 (joka on muuttujan commandCW) arvoksi 0 (LOW)

}

});

v3.on ('write', function (param) // Tarkista CCW -painike sovelluksessa

{

if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti

{

commandCCW.writeSync (1); // Aseta GPIO24 (joka on muuttujan komentoCCW) arvoon 1 (HIGH)

}

else if (param == 0) // Jos painiketta ei paineta (mikä on 0), toimi seuraavasti

{

commandCCW.writeSync (0); // Aseta GPIO24 (joka on muuttujan komentoCCW) arvoon 1 (HIGH)

}

});

Tallenna ja poistu nanosta

- Tallenna CTRL+O

- lopettaa CTRL+X

Olet valmis Raspberry Pi: n kanssa.

Testaa nyt, onko siinä virheitä (useimmiten ne ovat kirjoitusvirheitä)

Testaa se kirjoittamalla seuraava päätelaitteeseesi

solmu MyProject.js

Sinun pitäisi saada tulos, joka näyttää tältä

OnOff -tila

Sivu 8441

SSL -valtuutus…

Valtuutettu

Vaihe 5: MyProject Arduinossa

Ok, nyt meillä on 2/3 asiaa valmiina!

Nyt meidän tarvitsee vain kirjoittaa jokin koodi Arduinolle.

- Luo uusi Arduino -luonnos ja kirjoita seuraava koodi.

#sisältää

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Nastaliitännät on liitettävä nastoihin 8, 9, 10, 11

// moottorin kuljettajalle In1, In2, In3, In4

// Sitten nastat syötetään tähän järjestyksessä 1-3-2-4 oikean sekvensoinnin varmistamiseksi

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

int Steps2Take;

int Komento1;

int CommandCW;

int CommandCCW;

mitätön asennus ()

{

pinMode (2, TULO);

pinMode (3, TULO);

pinMode (4, TULO);

// (Stepper -kirjasto asettaa nastat lähtöiksi)

}

tyhjä silmukka ()

{

Komento1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

jos (Komento1 == 0)

{

//Älä tee mitään

}

muu

{

ExecutionFunction ();

}

jos (CommandCW == 1)

{

small_stepper.setSpeed (700);

pieni_askel.vaihe (-1);

viive (1);

}

jos (CommandCCW == 1)

{

small_stepper.setSpeed (700);

pieni_askel.vaihe (1);

viive (1);

}

}

mitätön ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Kierrä CCW 1/4 kierrosta

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Voit korvata Steps2Taken millä tahansa arvolla välillä 0 ja 2048

viive (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Kierrä CW 1/4 kierrosta

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Voit korvata Steps2Taken millä tahansa arvolla välillä 0 ja 2048

viive (2000);

}

Kokoa ja lataa Arduinoosi.

Varmista nyt, että liität kaiken oikein! Katso johdotuksen seuraava vaihe.

Vaihe 6: Johdotus

Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus
Johdotus

Liitä Arduino D3 RaspberryPi GPIO18: een (joka on itse asiassa nasta 12)

Liitä Arduino D4 RaspberryPi GPIO23: een (joka on itse asiassa nasta 16)

Liitä Arduino D4 RaspberryPi GPIO24: een (joka on itse asiassa nasta 18)

Liitä Arduino GND RaspberryPi GND: hen (nasta 6)

Liitä Arduino D8 Stepper Controller In1: een

Liitä Arduino D9 Stepper Controller In2: een

Liitä Arduino D10 Stepper Controller In3: een

Liitä Arduino D11 Stepper -ohjaimeen In4

Liitä 5VDC Arduinoon, Raspberry Pi: hen ja Stepper -ohjaimeen

Vaihe 7: Se on siinä

Katso video ja sinun pitäisi olla valmis!

Kiitos ja nauti!

Suositeltava: