Kazalo:

Raspberry PI in Arduino - Blynk Stepper Control: 7 korakov (s slikami)
Raspberry PI in Arduino - Blynk Stepper Control: 7 korakov (s slikami)

Video: Raspberry PI in Arduino - Blynk Stepper Control: 7 korakov (s slikami)

Video: Raspberry PI in Arduino - Blynk Stepper Control: 7 korakov (s slikami)
Video: SKR Pro v1.2 — TMC2226 UART с бездатчиковым возвратом в исходное положение 2024, November
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

Ta vadnica vam bo pokazala, kako upravljati koračni motor z Arduinom, Raspberry Pi in aplikacijo Blynk.

V lupinasti lupini aplikacija pošilja zahteve Raspberry Pi prek navideznih zatičev, Pi nato pošilja signal VISOKO/NIZKO na Arduino, Arduino pa obravnava koračni motor.

Mislim, da je to možnost lažje uporabiti, saj je večina ljudi navajena delati z Arduinom in ne veliko z node.js na Raspberry Pi.

Za to so potrebne komponente:

- Raspberry PI (uporabljam model Raspberry Pi 3 b)

- Arduino (uporabljam Arduino Nano)

- Servo motor (uporabljam 28BYJ-48 5VDC s krmilnikom)

- Nekaj mostičnih žic

- Vir napajanja (5VDC 2A.)

Skica Arduino in koda Node.js sta na voljo za prenos. Samo poiščite datoteke.

1. korak: Ustvarite aplikacijo v telefonu

Ustvarjanje aplikacije v telefonu
Ustvarjanje aplikacije v telefonu
Ustvarjanje aplikacije v telefonu
Ustvarjanje aplikacije v telefonu

Prenesite Blynk iz AppStore ali GooglePlay

Odprite aplikacijo in ustvarite uporabnika ali se prijavite s facebookom.

- Ustvarite nov projekt

Poimenujte svoj projekt: MyProject

Izberite napravo: Rasapberry Pi 3 B

Vrsta povezave: Wifi (ali Ethernet, če je vaš Pi povezan z vašim omrežjem)

- Kliknite Ustvari

Preverite svoj žeton v svoji e -pošti

(izgleda tako 3aa19bb8a9e64c90af11e3f6b0595b3c)

Ta žeton je povezan z vašo trenutno aplikacijo. Če naredite drugo aplikacijo, boste ustvarili nov žeton.

V aplikacijo dodajte naslednje pripomočke (glejte sliko)

- Dodajte 3 gumbe

- Dodajte 1 LCD

- Uredite gumb

prvega poimenujte Command1, Pin nastavite kot Virtual Pin 1 in način nastavite na SWITCH

drugo poimenujte CW, nastavite Pin kot Virtual Pin 2 in način nastavite na PUSH

tretjemu poimenujte CCW, nastavite pin kot navidezni pin 3 in način nastavite kot PUSH

- Uredite LCD

nožice nastavite kot navidezni pin 4 in navidezni pin 5 ter način nastavite na PUSH

2. korak: Priprava na PI

Najprej morate namestiti Node.js. Pred posodobitvijo Node.js odstranite stare različice:

Odprite terminal in vnesite

sudo apt-get čistilno vozlišče nodejs

node.js -ysudo apt -get samodejno odstrani

Samodejna namestitev Node.js Dodajte skladišča:

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

Namestite Node.js

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

sudo apt-get install build-bistven nodejs -y

Ko je Node.js nameščen, namestite Blynk

sudo npm namestite blynk -library -g

sudo npm namestite onoff -g

3. korak: Ustvarite svoj projekt

Začnite s spreminjanjem imenika (ukaz cd) v imenik pi

Odprite terminal in vnesite:

cd/home/pi/

Nato ustvarite imenik, v katerem bo vaš projekt

mkdir MyProject

Spremenite imenik v MyProject, v terminal vnesite naslednje

cd MyProject

Preverite vsebino imenika (mora biti prazen). V terminal vnesite naslednje

ls

Nato vnesite naslednje, da ustvarite opis projekta (package.json)

npm init

Samo vnesite ime projekta, avtorja, različico itd.

Ko to storite, v imenik projekta namestite knjižnico Blynk, knjižnico onoff in knjižnico sistemskega spanja. V svoj terminal vnesite naslednje

npm install blynk-library --save

npm install onoff --save

npm install system-sleep --save

Nazadnje, ustvarite datoteko.js (tukaj bo vaša koda). V terminal vnesite naslednje

nano MyProject.js

Ko izvedete ta ukaz, se odpre nano (urejevalnik besedila terminala).

4. korak: MyProject.js

V nano napišite naslednje vrstice kode

var Blynk = require ('blynk-library');

var AUTH = '******************'; TO JE VAŠ ŽEBEN

var blynk = nov Blynk. Blynk (AUTH);

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

command1 = nov Gpio (18, 'out'), // Bo povezan z Arduinom D2

commandCW = nov Gpio (23, 'out'), // Bo povezan z Arduinom D3

commandCCW = nov Gpio (24, 'ven'); // Bo povezan z Arduinom D4

var sleep = require ('system-sleep');

var v1 = nov blynk. VirtualPin (1); // to je vaš gumb Command1 v aplikaciji

var v2 = nov blynk. VirtualPin (2); // to je vaš gumb CW v aplikaciji

var v3 = nov blynk. VirtualPin (3); // to je vaš gumb CCW v aplikaciji

var v4 = nov blynk. VirtualPin (4); // to je vaša vrstica LCD 1 v aplikaciji

var v5 = nov blynk. VirtualPin (5); // to je vaša vrstica LCD 2 v aplikaciji

v1.on ('write', function (param) // Preverite, ali je v aplikaciji gumb Command1

{

if (param == 1) // Če pritisnete gumb (kar je 1), naredite naslednje

{

v4.write ("Izvajanje"); // V prvo vrstico LCD -ja napišite "Izvajanje"

v5.write ("Ukaz"); // V drugo vrstico LCD -ja napišite "Ukaz"

command1.writeSync (1); // Nastavite GPIO18 (spremenljiv ukaz1) na 1 (HIGH)

spanje (4000); // Počakajte 4 sekunde

command1.writeSync (0); // Nastavite GPIO18 (ki je spremenljiv ukaz1) na 0 (LOW)

v4.write ("Končano"); // V prvo vrstico LCD -ja napišite "Končano"

v5.write (""); // Napišite "" (nič) v drugo vrstico LCD -ja

v1.write (0); // Vnesite 0 na svoj gumb Command1, ki ga bo ponastavil na položaj OFF

}

});

v2.on ('write', function (param) // Preverite gumb CW v aplikaciji

{

if (param == 1) // Če pritisnete gumb (kar je 1), naredite naslednje

{

commandCW.writeSync (1); // Nastavite GPIO23 (spremenljiv ukazCW) na 1 (HIGH)

}

else if (param == 0) // Če gumba ne pritisnete (kar je 0), naredite naslednje

{

commadCW.writeSync (0); // Nastavite GPIO23 (spremenljiv ukazCW) na 0 (LOW)

}

});

v3.on ('write', function (param) // Preverite, ali je v aplikaciji gumb CCW

{

if (param == 1) // Če pritisnete gumb (kar je 1), naredite naslednje

{

commandCCW.writeSync (1); // Nastavite GPIO24 (spremenljiv ukazCCW) na 1 (HIGH)

}

else if (param == 0) // Če gumb ni pritisnjen (kar je 0), naredite naslednje

{

commandCCW.writeSync (0); // Nastavite GPIO24 (spremenljiv ukazCCW) na 1 (HIGH)

}

});

Shranite in zapustite nano

- shranite CTRL+O

- zapustiti CTRL+X

Končali ste z Raspberry Pi.

Zdaj ga preizkusite in preverite, ali je prišlo do kakršnih koli napak (največkrat gre za tipkarske napake)

Če ga želite preizkusiti, v svoj terminal preprosto vnesite naslednje

vozlišče MyProject.js

Morali bi dobiti rezultat, ki izgleda tako

Način OnOff

Povezava z: blynk-cloud.com 8441

Pooblastilo SSL …

Pooblaščen

5. korak: MyProject v Arduinu

V redu, zdaj imamo 2/3 stvari zaključenih!

Zdaj moramo samo napisati kodo za Arduino.

- Ustvarite novo skico Arduino in vnesite naslednjo kodo.

#vključi

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Zatiči morajo biti povezani z nožicami 8, 9, 10, 11

// do voznika motorja In1, In2, In3, In4

// Nato se za pravilno zaporedje tukaj vnesejo zatiči v zaporedju 1-3-2-4

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

int Steps2Take;

int Command1;

int CommandCW;

int CommandCCW;

void setup ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Stepper Library nastavi zatiče kot izhode)

}

void loop ()

{

Command1 = digitalRead (2);

CommandCW = digitalno branje (3);

CommandCCW = digitalno branje (4);

če (Command1 == 0)

{

//delati nič

}

drugače

{

ExecutionFunction ();

}

če (CommandCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (-1);

zamuda (1);

}

če (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

zamuda (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Zavrtite CCW za 1/4 obrata

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take lahko zamenjate s poljubno vrednostjo med 0 in 2048

zamuda (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Zavrtite CW za 1/4 obrata

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Steps2Take lahko zamenjate s poljubno vrednostjo med 0 in 2048

zamuda (2000);

}

Sestavite in naložite v svoj Arduino.

Zdaj se prepričajte, da ste vse pravilno povezali! Oglejte si naslednji korak za ožičenje.

6. korak: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Priključite Arduino D3 na RaspberryPi GPIO18 (ki je pravzaprav pin 12)

Priključite Arduino D4 na RaspberryPi GPIO23 (kar je pravzaprav pin 16)

Arduino D4 povežite z RaspberryPi GPIO24 (kar je pravzaprav pin 18)

Priključite Arduino GND na RaspberryPi GND (pin 6)

Priključite Arduino D8 na koračni krmilnik In1

Priključite Arduino D9 na koračni krmilnik In2

Arduino D10 povežite s koračnim krmilnikom In3

Arduino D11 povežite s koračnim krmilnikom In4

Priključite 5VDC na Arduino, Raspberry Pi in Stepper Controller

7. korak: To je to

Oglejte si video in končali boste!

Hvala in uživajte!

Priporočena: