Sisukord:

Vaarika PI ja Arduino - Blynk Stepper Control: 7 sammu (piltidega)
Vaarika PI ja Arduino - Blynk Stepper Control: 7 sammu (piltidega)

Video: Vaarika PI ja Arduino - Blynk Stepper Control: 7 sammu (piltidega)

Video: Vaarika PI ja Arduino - Blynk Stepper Control: 7 sammu (piltidega)
Video: ENDER 3 PRO'YU CEP TELEFONU İLE UZAKTAN KONTROL ETMEK|SHELLY 1 WIFI RELAY SWITCH 2024, November
Anonim
Vaarika PI ja Arduino - Blynk Stepper Control
Vaarika PI ja Arduino - Blynk Stepper Control

See õpetus näitab teile, kuidas juhtida samm -mootorit Arduino, Raspberry Pi ja rakenduse Blynk abil.

Pähklikoorega saadab rakendus taotlused Raspberry Pi -le virtuaalsete kontaktide kaudu, Pi saadab seejärel HIGH/LOW signaali Arduinole ja Arduino tegeleb seejärel samm -mootoriga.

Ma arvan, et seda lähenemist on lihtsam kasutada, kuna enamik inimesi on harjunud töötama Arduinoga ja mitte palju Raspberry Pi -s node.js -iga.

Selleks vajalikud komponendid:

- Vaarika PI (ma kasutan Raspberry Pi 3 mudelit b)

- Arduino (ma kasutan Arduino Nano)

- Servomootor (kasutan kontrolleriga 28BYJ-48 5VDC)

- Mõned hüppajajuhtmed

- Toiteallikas (5VDC 2A.)

Arduino visand ja Node.js kood on allalaadimiseks saadaval. Otsige lihtsalt failid üles.

Samm: rakenduse loomine oma telefonis

Rakenduse loomine oma telefonis
Rakenduse loomine oma telefonis
Rakenduse loomine oma telefonis
Rakenduse loomine oma telefonis

Laadige Blynk alla AppStore'ist või GooglePlay'st

Avage rakendus ja looge kasutaja või logige sisse Facebookiga.

- Loo uus projekt

Nimetage oma projekt: MyProject

Valige seade: Rasapberry Pi 3 B

Ühenduse tüüp: Wifi (või Ethernet, kui teie Pi on võrguga ühendatud)

- Klõpsake nuppu Loo

Kontrollige oma e -posti aadressilt oma märki

(näeb välja selline 3aa19bb8a9e64c90af11e3f6b0595b3c)

See märk on seotud teie praeguse rakendusega. Kui teete teise rakenduse, genereerite teise märgi.

Lisage rakendusse järgmised vidinad (vt pilti)

- Lisage 3 nuppu

- Lisage 1 LCD

- Muutke nuppu

nimetage esimene käsk1, määrake tihvt virtuaalseks pin 1 ja määrake režiim lülitiks

pange teisele nimi CW, määrake tihvt Virtual Pin 2 ja määrake režiim PUSH

nimetage kolmas CCW, määrake pin virtuaalseks pin 3 ja määrake režiim PUSH

- Muutke LCD -ekraani

määrake tihvtideks virtuaalne pin 4 ja virtuaalne pin 5 ning määrake režiim PUSH

2. etapp: PI valmisolekut

Esiteks peate installima Node.js. Enne Node.js värskendamist eemaldage kindlasti vanad versioonid:

Avage terminal ja tippige

sudo apt-get puhasta sõlm nodejs

node.js -ysudo apt -get autoremove

Automaatne Node.js installimine Lisage hoidlaid:

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

Installige Node.js

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

sudo apt-get install build-essential nodejs -y

Kui Node.js on installitud, installige Blynk

sudo npm install blynk -library -g

sudo npm install onoff -g

3. samm: projekti loomine

Alustuseks muutke kataloog (cd -käsk) pi -kataloogiks

Avage terminal ja tippige:

cd/kodu/pi/

Seejärel looge kataloog, kus teie projekt asub

mkdir MyProject

Muutke kataloog MyProjectiks, tippige terminali järgmine tekst

cd MyProject

Kontrollige kataloogi sisu (see peaks olema tühi). Sisestage lihtsalt terminali järgmine tekst

ls

Seejärel tippige oma projekti kirjelduse (package.json) loomiseks järgmine tekst

npm init

Sisestage lihtsalt projekti nimi, autor, versioon jne …

Kui see on tehtud, installige oma projekti kataloogi Blynk raamatukogu, sisselülitusraamatukogu ja süsteemi unerežiim. Sisestage oma terminali järgmine

npm install blynk-library --save

npm install onoff -salvesta

npm installige süsteem-uni-salvestage

Lõpuks looge oma.js -fail (see on koht, kus teie kood asub). Tippige terminali järgmine tekst

nano MyProject.js

Kui olete selle käsu täitnud, avaneb nano (terminali tekstiredaktor).

Samm 4: MyProject.js

Nano keeles kirjutage järgmised koodiridad

var Blynk = nõuda ('blynk-library');

var AUTH = '*****************' '; SEE ON SINU TEHTUD

var blynk = uus Blynk. Blynk (AUTH);

var Gpio = nõuda ('onoff'). Gpio,

käsk1 = uus Gpio (18, 'väljas'), // ühendatakse Arduino D2 -ga

commandCW = uus Gpio (23, 'väljas'), // ühendatakse Arduino D3 -ga

commandCCW = uus Gpio (24, 'väljas'); // Ühendatakse Arduino D4 -ga

var uni = nõuda ('süsteem-uni');

var v1 = uus blynk. VirtualPin (1); // see on teie nupp Command1 rakenduses

var v2 = uus blynk. VirtualPin (2); // see on teie CW nupp rakenduses

var v3 = uus blynk. VirtualPin (3); // see on teie rakenduse CCW nupp

var v4 = uus blynk. VirtualPin (4); // see on teie LCD -rida 1 rakenduses

var v5 = uus blynk. VirtualPin (5); // see on teie LCD -rida 2 rakenduses

v1.on ('kirjutada', function (param) // Kontrollige rakenduses nuppu Command1

{

if (param == 1) // Kui nuppu vajutatakse (mis on 1), tehke järgmist

{

v4.write ("Täitmine"); // Kirjutage LCD ekraanile esimesele reale "Executing"

v5.write ("Käsk"); // Kirjutage vedelkristallekraani teisele reale "Command"

command1.writeSync (1); // Määra GPIO18 (mis on muutuv käsk1) väärtuseks 1 (HIGH)

uni (4000); // Oodake 4 sekundit

command1.writeSync (0); // Määra GPIO18 (mis on muutuv käsk1) väärtuseks 0 (LOW)

v4.write ("Valmis"); // LCD -ekraani esimesele reale kirjutage "Valmis"

v5.kirjutage (""); // Kirjutage "" (mitte midagi) LCD -ekraani teisele reale

v1.kirjutage (0); // Kirjutage nupule Command1 0, mis lähtestab selle asendisse OFF

}

});

v2.on ('kirjutada', function (param) // Kontrollige rakenduses CW nuppu

{

if (param == 1) // Kui nuppu vajutatakse (mis on 1), tehke järgmist

{

commandCW.writeSync (1); // Määra GPIO23 (mis on muutuv käsk CW) väärtuseks 1 (HIGH)

}

else if (param == 0) // Kui nuppu ei vajutata (mis on 0), tehke järgmist

{

commadCW.writeSync (0); // Määra GPIO23 (mis on muutuv käsk CW) väärtuseks 0 (LOW)

}

});

v3.on ('kirjuta', funktsioon (param) // Kontrollige rakenduses CCW nuppu

{

if (param == 1) // Kui vajutate nuppu (mis on 1), tehke järgmist

{

commandCCW.writeSync (1); // Määra GPIO24 (mis on muutuv käskCCW) väärtuseks 1 (HIGH)

}

else if (param == 0) // Kui nuppu ei vajutata (mis on 0), tehke järgmist

{

commandCCW.writeSync (0); // Määra GPIO24 (mis on muutuv käskCCW) väärtuseks 1 (HIGH)

}

});

Salvestage see ja väljuge nanost

- CTRL+O salvestamiseks

- CTRL+X -st väljumiseks

Olete Raspberry Pi -ga valmis.

Nüüd proovige seda, et näha, kas teil on mingeid vigu (enamasti on need kirjavead)

Selle testimiseks sisestage lihtsalt oma terminali järgmine

sõlm MyProject.js

Peaksite nägema välja sellise väljundi

OnOff režiim

8441

SSL -i volitus…

Volitatud

Samm: MyProject Arduinos

Ok, nüüd on meil 2/3 asja valmis!

Nüüd peame lihtsalt Arduino jaoks koodi kirjutama.

- Looge uus Arduino visand ja tippige järgmine kood.

#kaasake

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Tihvtühendused peavad olema ühendatud tihvtidega 8, 9, 10, 11

// mootorijuhile In1, In2, In3, In4

// Seejärel sisestatakse nööpnõelad siia järjekorras 1-3-2-4 õigeks järjestamiseks

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

int Steps2Take;

int Käsk1;

int CommandCW;

int CommandCCW;

tühine seadistus ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Stepper Library määrab nööpnõelad väljunditeks)

}

tühine tsükkel ()

{

Käsk1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

kui (käsk1 == 0)

{

//ära tee midagi

}

muidu

{

ExecutionFunction ();

}

kui (CommandCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (-1);

viivitus (1);

}

kui (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

viivitus (1);

}

}

tühine ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Pööra CCW 1/4 pööret

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Saate asendada Steps2Take mis tahes väärtusega vahemikus 0 kuni 2048

viivitus (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Pööra CW 1/4 pööret

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Saate asendada Steps2Take mis tahes väärtusega vahemikus 0 kuni 2048

viivitus (2000);

}

Koostage ja laadige üles oma Arduino.

Nüüd veenduge, et ühendate kõik õigesti! Vaadake juhtmestiku järgmist sammu.

6. samm: juhtmestik

Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik

Ühendage Arduino D3 RaspberryPi GPIO18 -ga (mis on tegelikult tihvt 12)

Ühendage Arduino D4 RaspberryPi GPIO23 -ga (mis on tegelikult tihvt 16)

Ühendage Arduino D4 RaspberryPi GPIO24 -ga (mis on tegelikult tihvt 18)

Ühendage Arduino GND RaspberryPi GND -ga (tihvt 6)

Ühendage Arduino D8 Stepper Controller In1 -ga

Ühendage Arduino D9 Stepper Controller In2 -ga

Ühendage Arduino D10 Stepper Controller In3 -ga

Ühendage Arduino D11 Stepper Controller In4 -ga

Ühendage 5VDC Arduino, Raspberry Pi ja Stepper Controlleriga

7. samm: see on kõik

Vaadake videot ja olete valmis!

Aitäh ja nautige!

Soovitan: