Tartalomjegyzék:
- 1. lépés: Az alkalmazás létrehozása a telefonon
- 2. lépés: A PI előkészítése
- 3. lépés: A projekt létrehozása
- 4. lépés: MyProject.js
- 5. lépés: MyProject az Arduino -ban
- 6. lépés: huzalozás
- 7. lépés: Ez az
Videó: Raspberry PI & Arduino - Blynk Stepper Control: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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
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
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:
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Plug & Play apró Raspberry Pi hálózati szerver: 6 lépés (képekkel)
Plug & Play Apró Raspberry Pi hálózati szerver: Nemrégiben két Raspberry Pi 1 A+ modell került a kezembe olcsón. Ha még nem hallott a Pi Model A -ról, akkor ez a Raspberry Pi egyik legkorábbi formaterve, amely nagyobb, mint a Pi Zero, és kisebb, mint egy hagyományos Raspberry Pi. Mindig szeretném
Totoro Project - IoT & MQTT & ESP01: 7 lépés (képekkel)
Totoro Project - IoT & MQTT & ESP01: A Totoro Project egy szép IoT projekt, amelyet sok más formában is másolhat. Az ESP01 táblával az MQTT protokollal közölheti a gomb állapotát az MQTT Brokerrel (a eset AdafruitIO). Hasznos útmutató az MQTT és az Ad
1979 Bang & Olufsen Raspberry Pi Internet rádió: 10 lépés (képekkel)
1979 Bang & Olufsen Raspberry Pi Internet rádió: Ez egy 1979 -es Bang & Olufsen Beocord 1500 kazettás magnó, amelyet önálló Raspberry Pi internetes rádióvá alakítottam. Az analóg VU -mérőket a Pi vezérli egy DAC (digitális -analóg konverter) áramkörön keresztül, az aktuális idővel
Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): 4 lépés
Még egy Arduino meteorológiai állomás (ESP-01 & BMP280 & DHT11 & OneWire): Itt megtalálhatja a OneWire használatának egy iterációját az ESP-01 nagyon kevés érintkezőjével. Az ebben az utasításban létrehozott eszköz csatlakozik az Ön Wifi hálózatához választás (rendelkeznie kell a hitelesítő adatokkal …) Érzékszervi adatokat gyűjt BMP280 és DHT11 készülékekről