Sisällysluettelo:
- Vaihe 1: Sovelluksen luominen puhelimeesi
- Vaihe 2: PI: n valmistelu
- Vaihe 3: Luo projekti
- Vaihe 4: MyProject.js
- Vaihe 5: MyProject Arduinossa
- Vaihe 6: Johdotus
- Vaihe 7: Se on siinä
Video: Vadelma PI & Arduino - Blynk Stepper Control: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Tämä opetusohjelma näyttää, kuinka voit ohjata askelmoottoria Arduinolla, Raspberry Pi: llä ja Blynk -sovelluksella.
Pähkinänkuoressa sovellus lähettää pyynnöt Raspberry Pi: lle virtuaalisten nastojen kautta, Pi lähettää sitten HIGH/LOW -signaalin Arduinolle ja Arduino käsittelee sitten askelmoottorin.
Uskon, että on helpompaa käyttää tätä lähestymistapaa, koska useimmat ihmiset ovat tottuneet työskentelemään Arduinon kanssa eivätkä paljon Raspberry Pi: n node.js: n kanssa.
Tähän tarvittavat komponentit:
- Vadelma PI (käytän Raspberry Pi 3 -mallia b)
- Arduino (käytän Arduino Nanoa)
- Servomoottori (käytän 28BYJ-48 5VDC: tä sen ohjaimen kanssa)
- Joitakin hyppyjohtoja
- Virtalähde (5VDC 2A.)
Arduino -luonnos ja Node.js -koodi on ladattavissa. Katso vain tiedostot.
Vaihe 1: Sovelluksen luominen puhelimeesi
Lataa Blynk AppStoresta tai GooglePlaystä
Avaa sovellus ja luo käyttäjä tai kirjaudu sisään facebookilla.
- Luo uusi projekti
Nimeä projektisi: MyProject
Valitse laite: Rasapberry Pi 3 B
Yhteystyyppi: Wifi (tai Ethernet, jos Pi on kytketty verkkoon)
- Napsauta Luo
Tarkista sähköpostisi tunnuksestasi
(näyttää tältä 3aa19bb8a9e64c90af11e3f6b0595b3c)
Tämä tunnus on liitetty nykyiseen sovellukseesi. Jos teet toisen sovelluksen, luot uuden tunnuksen.
Lisää sovellukseen seuraavat widgetit (katso kuva)
- Lisää 3 painiketta
- Lisää 1 nestekidenäyttö
- Muokkaa painiketta
nimeä ensimmäinen komento1, aseta nasta virtuaaliseksi nastaksi 1 ja aseta tilaksi KYTKIN
anna toiselle nimi CW, aseta nasta Virtual Pin 2: ksi ja aseta tilaksi PUSH
nimeä kolmas CCW, aseta nasta Virtual Pin 3: ksi ja aseta tila PUSH: ksi
- Muokkaa LCD -näyttöä
aseta nastat Virtual Pin 4 ja Virtual Pin 5 ja valitse PUSH
Vaihe 2: PI: n valmistelu
Ennen kuin päivität Node.js, muista poistaa vanhat versiot:
Avaa terminaali ja kirjoita
sudo apt-get puhdista solmu nodejs
node.js -ysudo apt -get autoremove
Automaattinen Node.js -asennus Lisää arkistoja:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Asenna Node.js
sudo apt-get update && sudo apt-get update
sudo apt-get install build-essential nodejs -y
Kun Node.js on asennettu, asenna Blynk
sudo npm asenna blynk -library -g
sudo npm install onoff -g
Vaihe 3: Luo projekti
Aloita vaihtamalla hakemisto (cd -komento) pi -hakemistoon
Avaa terminaali ja kirjoita:
cd/koti/pi/
Luo sitten hakemisto, jossa projektisi sijaitsee
mkdir MyProject
Vaihda hakemisto MyProject -muotoon, kirjoita päätelaitteeseen seuraava
cd MyProject
Tarkista hakemiston sisältö (sen pitäisi olla tyhjä). Kirjoita vain seuraava terminaaliin
ls
Kirjoita seuraavaksi projektin kuvaus (package.json)
npm init
Kirjoita vain projektin nimi, tekijä, versio jne …
Kun tämä on tehty, asenna Blynk-kirjasto, käynnistyskirjasto ja järjestelmä-lepokirjasto projektisi hakemistoon. Kirjoita päätelaitteeseen seuraava
npm asenna blynk-library-save
npm install onoff -save
npm asenna järjestelmä-uni-tallenna
Luo lopuksi.js -tiedostosi (tässä on koodisi). Kirjoita terminaaliin seuraava
nano MyProject.js
Kun suoritat tämän komennon, nano (päätekstieditori) avautuu.
Vaihe 4: MyProject.js
Kirjoita nanossa seuraavat koodirivit
var Blynk = vaatia ('blynk-kirjasto');
var AUTH = '*****************' '; TÄMÄ ON SINUN OSTETTU
var blynk = uusi Blynk. Blynk (AUTH);
var Gpio = vaatia ('onoff'). Gpio,
command1 = new Gpio (18, 'out'), // Yhdistetään Arduino D2: een
commandCW = new Gpio (23, 'out'), // Yhdistetään Arduino D3: een
commandCCW = uusi Gpio (24, 'ulos'); // Yhdistetään Arduino D4: ään
var uni = vaatia ('system-sleep');
var v1 = uusi blynk. VirtualPin (1); // tämä on komentosi1 -painike sovelluksessa
var v2 = uusi blynk. VirtualPin (2); // tämä on CW -painike sovelluksessa
var v3 = uusi blynk. VirtualPin (3); // tämä on CCW -painike sovelluksessa
var v4 = uusi blynk. VirtualPin (4); // tämä on LCD -rivisi 1 sovelluksessa
var v5 = uusi blynk. VirtualPin (5); // tämä on LCD -linjasi 2 sovelluksessa
v1.on ('write', function (param) // Tarkista Command1 -painike sovelluksessa
{
if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti
{
v4.write ("Suoritus"); // Kirjoita "Executing" nestekidenäytön ensimmäiselle riville
v5.write ("Komento"); // Kirjoita "Command" nestekidenäytön toiselle riville
command1.writeSync (1); // Aseta GPIO18 (joka on muuttujan komento1) arvoon 1 (HIGH)
nukkua (4000); // Odota 4 sekuntia
command1.writeSync (0); // Aseta GPIO18 (joka on muuttujan komento1) arvoon 0 (LOW)
v4.write ("Valmis"); // Kirjoita "Valmis" nestekidenäytön ensimmäiselle riville
v5.kirjoita (""); // Kirjoita "" (ei mitään) nestekidenäytön toiselle riville
v1.kirjoita (0); // Kirjoita 0 komento 1 -painikkeeseen, joka palauttaa sen OFF -asentoon
}
});
v2.on ('write', function (param) // Tarkista CW -painike sovelluksessa
{
if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti
{
commandCW.writeSync (1); // Aseta GPIO23 (muuttujan commandCW) arvoksi 1 (HIGH)
}
else if (param == 0) // Jos painiketta ei paineta (mikä on 0), toimi seuraavasti
{
commadCW.writeSync (0); // Aseta GPIO23 (joka on muuttujan commandCW) arvoksi 0 (LOW)
}
});
v3.on ('write', function (param) // Tarkista CCW -painike sovelluksessa
{
if (param == 1) // Jos painiketta painetaan (joka on 1), toimi seuraavasti
{
commandCCW.writeSync (1); // Aseta GPIO24 (joka on muuttujan komentoCCW) arvoon 1 (HIGH)
}
else if (param == 0) // Jos painiketta ei paineta (mikä on 0), toimi seuraavasti
{
commandCCW.writeSync (0); // Aseta GPIO24 (joka on muuttujan komentoCCW) arvoon 1 (HIGH)
}
});
Tallenna ja poistu nanosta
- Tallenna CTRL+O
- lopettaa CTRL+X
Olet valmis Raspberry Pi: n kanssa.
Testaa nyt, onko siinä virheitä (useimmiten ne ovat kirjoitusvirheitä)
Testaa se kirjoittamalla seuraava päätelaitteeseesi
solmu MyProject.js
Sinun pitäisi saada tulos, joka näyttää tältä
OnOff -tila
Sivu 8441
SSL -valtuutus…
Valtuutettu
Vaihe 5: MyProject Arduinossa
Ok, nyt meillä on 2/3 asiaa valmiina!
Nyt meidän tarvitsee vain kirjoittaa jokin koodi Arduinolle.
- Luo uusi Arduino -luonnos ja kirjoita seuraava koodi.
#sisältää
#define STEPS_PER_MOTOR_REVOLUTION 32
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Nastaliitännät on liitettävä nastoihin 8, 9, 10, 11
// moottorin kuljettajalle In1, In2, In3, In4
// Sitten nastat syötetään tähän järjestyksessä 1-3-2-4 oikean sekvensoinnin varmistamiseksi
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Komento1;
int CommandCW;
int CommandCCW;
mitätön asennus ()
{
pinMode (2, TULO);
pinMode (3, TULO);
pinMode (4, TULO);
// (Stepper -kirjasto asettaa nastat lähtöiksi)
}
tyhjä silmukka ()
{
Komento1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
jos (Komento1 == 0)
{
//Älä tee mitään
}
muu
{
ExecutionFunction ();
}
jos (CommandCW == 1)
{
small_stepper.setSpeed (700);
pieni_askel.vaihe (-1);
viive (1);
}
jos (CommandCCW == 1)
{
small_stepper.setSpeed (700);
pieni_askel.vaihe (1);
viive (1);
}
}
mitätön ExecutionFunction ()
{
Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Kierrä CCW 1/4 kierrosta
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Voit korvata Steps2Taken millä tahansa arvolla välillä 0 ja 2048
viive (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Kierrä CW 1/4 kierrosta
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Voit korvata Steps2Taken millä tahansa arvolla välillä 0 ja 2048
viive (2000);
}
Kokoa ja lataa Arduinoosi.
Varmista nyt, että liität kaiken oikein! Katso johdotuksen seuraava vaihe.
Vaihe 6: Johdotus
Liitä Arduino D3 RaspberryPi GPIO18: een (joka on itse asiassa nasta 12)
Liitä Arduino D4 RaspberryPi GPIO23: een (joka on itse asiassa nasta 16)
Liitä Arduino D4 RaspberryPi GPIO24: een (joka on itse asiassa nasta 18)
Liitä Arduino GND RaspberryPi GND: hen (nasta 6)
Liitä Arduino D8 Stepper Controller In1: een
Liitä Arduino D9 Stepper Controller In2: een
Liitä Arduino D10 Stepper Controller In3: een
Liitä Arduino D11 Stepper -ohjaimeen In4
Liitä 5VDC Arduinoon, Raspberry Pi: hen ja Stepper -ohjaimeen
Vaihe 7: Se on siinä
Katso video ja sinun pitäisi olla valmis!
Kiitos ja nauti!
Suositeltava:
Langaton ovikello - (Vadelma PI ja Amazon Dash): 4 vaihetta (kuvilla)
Langaton ovikello - (Vadelma PI ja Amazon Dash): Mitä se tekee? (katso video) Kun painiketta painetaan, Raspberry löytää uuden laitteen kirjautuvan langattomaan verkkoon. Tällä tavalla se tunnistaa painetun painikkeen ja välittää tämän tiedon matkapuhelimeesi (tai laitteeseesi)
Cocktail -kone, jossa on GUI -vadelma: 7 vaihetta (kuvilla)
Cocktail -kone, jossa on graafinen käyttöliittymä Vadelma: Pidätkö tekniikasta ja juhlista? Tämä projekti on tehty sinua varten! Tässä opetusohjelmassa luomme automaattisen cocktailkoneen, jossa on graafinen käyttöliittymä. Kaikki vadelman ohjaama! EDIT: Tein uuden helpommaksi ja halvemmaksi tästä linkistä
Vadelma PI Vision -prosessori (SpartaCam): 8 vaihetta (kuvilla)
Raspberry PI Vision -prosessori (SpartaCam): Vadelma PI -näköprosessorijärjestelmä FIRST Robotics Competition -robotillesi. Tietoja FIRSTistä Wikipediasta, ilmaisesta tietosanakirjasta https://en.wikipedia.org/wiki/FIRST_Robotics_Compe..FIRST Robotics Competition (FRC) on kansainvälinen korkeakoulu
Varhaisvaroitus Vadelma PI -kiitotien valo käyttämällä lennon kartoitusdataa: 14 vaihetta (kuvilla)
Varhaisvaroitus Raspberry PI kiitotien valo lentomatkaustietojen avulla: Tämä lamppu syntyi useista syistä, koska olen aina kiinnostunut yläpuolella lentävistä lentokoneista ja kesällä viikonloppuisin lentävät usein melko jännittävät. Vaikka sinulla on tapana kuulla niitä vain mennessään
Pi Home, Vadelma -virtuaalinen avustaja: 11 vaihetta (kuvilla)
Pi Home, Vadelma-virtuaalinen avustaja: Google Home on hyödyllinen kodin ympärillä. Se on kaunis laite, jossa on sisäänrakennettu Google Assistant-Googlen uusin digitaalinen henkilökohtainen avustaja. Se voi toistaa mediaa, tallentaa muistutuksesi ja muistiinpanosi, kertoa työmatkasi pituuden