Tartalomjegyzék:

Raspberry PI & Arduino - Blynk Stepper Control: 7 lépés (képekkel)
Raspberry PI & Arduino - Blynk Stepper Control: 7 lépés (képekkel)

Videó: Raspberry PI & Arduino - Blynk Stepper Control: 7 lépés (képekkel)

Videó: Raspberry PI & Arduino - Blynk Stepper Control: 7 lépés (képekkel)
Videó: Полный контроль над двигателем постоянного тока с помощью ESP8266 NodeMCU D1 Mini через Wi-Fi 2024, November
Anonim
Málna PI & Arduino - Blynk Stepper Control
Málna PI & Arduino - Blynk Stepper Control

Ez az oktatóanyag megmutatja, hogyan vezérelheti a léptetőmotort az Arduino, a Raspberry Pi és a Blynk alkalmazás segítségével.

Dióhéjban az alkalmazás kéréseket küld a Raspberry Pi -nek a Virtuális Pins -en keresztül, a Pi ezután HIGH/LOW jelet küld az Arduino -nak, az Arduino pedig a léptetőmotorral foglalkozik.

Azt hiszem, könnyebb használni ezt a megközelítést, mivel a legtöbb ember az Arduino -val szokott dolgozni, és nem sokat a Raspberry Pi -n lévő node.js -sel.

Ehhez szükséges összetevők:

- Raspberry PI (a Raspberry Pi 3 b modellt használom)

- Arduino (Arduino Nano -t használok)

- Szervo motor (28BYJ-48 5VDC-t használok a vezérlőjével)

- Néhány áthidaló vezeték

- Áramforrás (5VDC 2A.)

Az Arduino vázlat és a Node.js kód letölthető. Csak nézze meg a fájlokat.

1. lépés: Az alkalmazás létrehozása a telefonon

Az alkalmazás létrehozása a telefonon
Az alkalmazás létrehozása a telefonon
Az alkalmazás létrehozása a telefonon
Az alkalmazás létrehozása a telefonon

Töltse le a Blynk -et az AppStore -ból vagy a GooglePlay -ből

Nyissa meg az alkalmazást, és hozzon létre egy felhasználót, vagy jelentkezzen be a Facebookon.

- Hozzon létre egy új projektet

Nevezze el projektjét: MyProject

Eszköz kiválasztása: Rasapberry Pi 3 B

Kapcsolat típusa: Wifi (vagy Ethernet, ha a Pi hálózathoz van csatlakoztatva)

- Kattintson a Létrehozás gombra

Ellenőrizze az e -mailben a tokenjét

(így néz ki: 3aa19bb8a9e64c90af11e3f6b0595b3c)

Ez a token az aktuális alkalmazáshoz van kötve. Ha másik alkalmazást hajt végre, akkor újabb tokent hoz létre.

Az alkalmazásban adja hozzá a következő modulokat (lásd a képet)

- Adjon hozzá 3 gombot

- Adjon hozzá 1 LCD -t

- Szerkessze a gombot

nevezze el az első parancsot Command1, állítsa a Pin -t Virtual Pin 1 -re, és állítsa a Mode -t SWITCH -re

nevezze el a másodikat CW -nek, állítsa be a tűt Virtual Pin 2 -re, és állítsa a Mode -t PUSH -ra

nevezze el a harmadikat CCW -nek, állítsa a tűt Virtual Pin 3 -ra, és állítsa a Mode -t PUSH -ra

- Szerkessze az LCD -t

állítsa a csapokat Virtuális 4 -es és 5 -ös Virtuális Pin -re, és állítsa a PUSH módot

2. lépés: A PI előkészítése

Először telepítenie kell a Node.js fájlt. A Node.js frissítése előtt feltétlenül távolítsa el a régi verziókat:

Nyissa meg a terminált és írja be

sudo apt-get purge node nodejs

node.js -ysudo apt -get autoremove

Automatikus Node.js telepítés Adattárak hozzáadása:

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

Telepítse a Node.js fájlt

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

sudo apt-get install build-essential nodejs -y

A Node.js telepítése után telepítse a Blynk programot

sudo npm telepítse a blynk -library -g

sudo npm install onoff -g

3. lépés: A projekt létrehozása

Kezdje azzal, hogy megváltoztatja a könyvtárat (cd parancs) a pi könyvtárra

Nyissa meg a terminált és írja be:

cd/home/pi/

Ezután hozzon létre egy könyvtárat, ahol a projekt található

mkdir MyProject

Módosítsa a könyvtárat MyProject -re, írja be a következőt a terminálba

cd MyProject

Ellenőrizze a könyvtár tartalmát (üresnek kell lennie). Csak írja be a következőt a terminálba

ls

Ezután írja be a következőt a projektleírás (package.json) létrehozásához

npm init

Csak írja be a projekt nevét, szerzőjét, verzióját stb …

Ha ez megtörtént, telepítse a Blynk könyvtárat, az onoff könyvtárat és a rendszer-alvó könyvtárat a YOUR projekt könyvtárába. Írja be a következőt a terminálba

npm blynk-library telepítése-mentés

npm install onoff -mentés

npm telepítse a rendszer-alvó állapotot-mentés

Végül hozza létre a.js fájlt (itt lesz a kódja). Írja be a következőt a terminálba

nano MyProject.js

A parancs végrehajtása után megnyílik a nano (terminál szövegszerkesztő).

4. lépés: MyProject.js

Nano -ban írja be a következő kódsorokat

var Blynk = igényel ('blynk-library');

var AUTH = '*****************' '; EZ A TE VÉDETT

var blynk = új Blynk. Blynk (AUTH);

var Gpio = igényel ('ki'). Gpio,

command1 = new Gpio (18, 'out'), // Kapcsolódni fog az Arduino D2 -hez

commandCW = new Gpio (23, 'out'), // Kapcsolódni fog az Arduino D3 -hoz

commandCCW = új Gpio (24, 'ki'); // Kapcsolódni fog az Arduino D4 -hez

var sleep = igényel ('system-sleep');

var v1 = új blynk. VirtualPin (1); // ez a Command1 gomb az alkalmazásban

var v2 = új blynk. VirtualPin (2); // ez a CW gombod az alkalmazásban

var v3 = új blynk. VirtualPin (3); // ez a CCW gombod az alkalmazásban

var v4 = új blynk. VirtualPin (4); // ez az LCD 1. sora az alkalmazásban

var v5 = új blynk. VirtualPin (5); // ez az LCD 2. sorod az alkalmazásban

v1.on ('write', function (param) // Ellenőrizze a Command1 gombot az alkalmazásban

{

if (param == 1) // Ha megnyomja a gombot (ami 1), akkor tegye a következőt

{

v4.write ("Végrehajtás"); // Írja az "Executing" -t az LCD első sorába

v5.write ("Parancs"); // Írja a "Command" parancsot az LCD második sorába

command1.writeSync (1); // Állítsa a GPIO18 -at (amely változó parancs1) 1 -re (HIGH)

alvás (4000); // Várjon 4 másodpercet

command1.writeSync (0); // Állítsa a GPIO18 -at (amely változó parancs1) 0 -ra (LOW)

v4.write ("Kész"); // Írja a "Kész" -t az LCD első sorába

v5.írás (""); // Írjon "" (semmit) az LCD második sorába

v1.írás (0); // Írjon 0 -t a Command1 gombjára, ez visszaállítja a OFF helyzetbe

}

});

v2.on ('write', function (param) // Ellenőrizze a CW gombot az alkalmazásban

{

if (param == 1) // Ha megnyomja a gombot (ami 1), akkor tegye a következőt

{

commandCW.writeSync (1); // Állítsa a GPIO23 -at (amely változó parancsCW) 1 -re (HIGH)

}

else if (param == 0) // Ha a gombot nem nyomja meg (ami 0), akkor tegye a következőt

{

commadCW.writeSync (0); // Állítsa a GPIO23 -at (amely változó parancsCW) 0 -ra (LOW)

}

});

v3.on ('write', function (param) // Ellenőrizze a CCW gombot az alkalmazásban

{

if (param == 1) // Ha megnyomja a gombot (ami 1), akkor tegye a következőt

{

commandCCW.writeSync (1); // Állítsa a GPIO24 -et (amely változó parancsCCW) 1 -re (HIGH)

}

else if (param == 0) // Ha a gombot nem nyomja meg (ami 0), akkor tegye a következőt

{

commandCCW.writeSync (0); // Állítsa a GPIO24 -et (amely változó parancsCCW) 1 -re (HIGH)

}

});

Mentse el és lépjen ki a nano -ból

- a CTRL+O mentéséhez

- kilépni a CTRL+X billentyűkombinációból

Végeztél a Raspberry Pi -vel.

Most tesztelje, hogy nincs -e valamilyen hiba (a legtöbb esetben gépelési hibák)

A teszteléshez egyszerűen írja be a következőt a terminálba

csomópont MyProject.js

Ilyen kimenetet kell kapnia

OnOff mód

8441

SSL jogosultság…

Felhatalmazott

5. lépés: MyProject az Arduino -ban

Rendben, most 2/3 -as dolgunk van!

Most csak egy kódot kell írnunk az Arduino -hoz.

- Hozzon létre egy új Arduino vázlatot, és írja be a következő kódot.

#befoglalni

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// A tűcsatlakozásoknak 8, 9, 10, 11 érintkezőnek kell lenniük

// motorvezérlőbe In1, In2, In3, In4

// Ezután a tüskéket ide kell beírni az 1-3-2-4 sorrendben a megfelelő szekvenálás érdekében

Léptető kis_lépcső (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Steps2Take;

int Parancs1;

int CommandCW;

int CommandCCW;

üres beállítás ()

{

pinMode (2, BEMENET);

pinMode (3, BEMENET);

pinMode (4, BEMENET);

// (A léptető könyvtár tűket állít be kimenetként)

}

üres hurok ()

{

Parancs1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

ha (Parancs1 == 0)

{

//ne csinálj semmit

}

más

{

ExecutionFunction ();

}

ha (CommandCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (-1);

késleltetés (1);

}

ha (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

késleltetés (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Fordítsa el a CCW -t 1/4 fordulattal

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // A Steps2Take bármely 0 és 2048 közötti értékkel helyettesíthető

késleltetés (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Fordítsa el a CW -t 1/4 fordulattal

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // A Steps2Take bármilyen 0 és 2048 közötti értékkel helyettesíthető

késleltetés (2000);

}

Fordítsa össze és töltse fel az Arduino készülékére.

Most győződjön meg róla, hogy mindent megfelelően csatlakoztatott! Lásd a kábelezés következő lépését.

6. lépés: huzalozás

Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték
Vezeték

Csatlakoztassa az Arduino D3 -at a RaspberryPi GPIO18 -hoz (ami valójában a 12 -es érintkező)

Csatlakoztassa az Arduino D4 -et a RaspberryPi GPIO23 -hoz (ami valójában a 16 -os érintkező)

Csatlakoztassa az Arduino D4 -et a RaspberryPi GPIO24 -hez (ami valójában a 18 -as érintkező)

Csatlakoztassa az Arduino GND -t a RaspberryPi GND -hez (6. tű)

Csatlakoztassa az Arduino D8 -at a Stepper Controller In1 -hez

Csatlakoztassa az Arduino D9 -et a Stepper Controller In2 -hez

Csatlakoztassa az Arduino D10 -et a Stepper Controller In3 -hoz

Csatlakoztassa az Arduino D11 -et a Stepper Controller In4 -hez

Csatlakoztassa az 5VDC -t az Arduino, a Raspberry Pi és a Stepper Controllerhez

7. lépés: Ez az

Nézze meg a videót, és készen kell állnia!

Köszönöm és élvezd!

Ajánlott: