Sisukord:
- Samm: rakenduse loomine oma telefonis
- 2. etapp: PI valmisolekut
- 3. samm: projekti loomine
- Samm 4: MyProject.js
- Samm: MyProject Arduinos
- 6. samm: juhtmestik
- 7. samm: see on kõik
Video: Vaarika PI ja Arduino - Blynk Stepper Control: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
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
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
Ü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:
Mega RasPi - Vaarika Pi Sega Mega Drive'is / Genesis: 13 sammu (piltidega)
Mega RasPi - Raspberry Pi Sega Mega Drive'is / Genesis: see juhend juhendab teid vana Sega Mega Drive'i teisendamisel retro -mängukonsooliks, kasutades selleks Raspberry Pi. Olen veetnud lugematuid tunde oma lapsepõlvest videomänge mängides minu Sega Mega Drive. Enamikul mu sõpradel oli ka üks, nii et me tahaksime
Vaarika Pi toitega Interneti-raadio: 5 sammu (koos piltidega)
Vaarika Pi toitega Interneti-raadio: valimisnuppude keeramisel ja nuppude vajutamisel on midagi rahuldust pakkuvat, nagu vanadel raadiotel. Kahjuks on paljud neist raadiotest katki või jaamad vaikseks jäänud. Õnneks pole raadio värskendamine Interneti -raadioks, kasutades
Miinipilduja-Vaarika-Pi-väljaanne: 7 sammu (piltidega)
Minesweeper-Raspberry-Pi-Edition: Minu viimane projekt CSC 130 seeria jaoks Louisiana tehnikaülikoolis on Minesweeper Raspberry Pi Edition. Selle projektiga püüdsin taasluua klassikalise miinipilduja mängu, kasutades Pythoni programmeerimise Tkinteri raamatukogu
Traadita uksekell - (Vaarika PI ja Amazon Dash): 4 sammu (piltidega)
Traadita uksekell - (Vaarika PI ja Amazon Dash): mida see teeb? (vt videot) Nupule vajutamisel avastab Raspberry traadita võrgus uue seadme logimise. Nii saab see nupu vajutamise ära tunda ja edastada selle kohta teabe oma mobiiltelefonile (või teie seadmele)
Vaarika Pi Batinator: 8 sammu (piltidega)
Raspberry Pi Batinator: Batinator on kaasaskantav Raspberry Pi, mis kasutab PinoIR (No Infrared Filter) kaameramoodulit videote salvestamiseks pimedas kiirusel 90 kaadrit sekundis, eraldusvõimega 640x480. Selle peal on 48 LED -infrapuna -valgustaja ja toiteallikaks on r