Obsah:
- Krok 1: Vytvorenie aplikácie v telefóne
- Krok 2: Príprava PI
- Krok 3: Vytvorenie projektu
- Krok 4: MyProject.js
- Krok 5: MyProject v Arduine
- Krok 6: Zapojenie
- Krok 7: To je všetko
Video: Raspberry PI a Arduino - Blynk Stepper Control: 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Tento tutoriál vám ukáže, ako ovládať krokový motor pomocou Arduina, Raspberry Pi a aplikácie Blynk.
Stručne povedané, aplikácia odosiela požiadavky na Raspberry Pi prostredníctvom virtuálnych pinov, Pi potom posiela signál HIGH/LOW do Arduina a Arduino sa potom zaoberá krokovým motorom.
Myslím si, že je jednoduchšie použiť tento prístup, pretože väčšina ľudí je zvyknutá pracovať s Arduinom a nie veľa s node.js na Raspberry Pi.
Potrebné súčasti:
- Raspberry PI (používam Raspberry Pi 3 model b)
- Arduino (používam Arduino Nano)
- Servomotor (používam regulátor 28BYJ-48 5VDC s jeho ovládačom)
- Niektoré prepojovacie vodiče
- Zdroj energie (5VDC 2A.)
Skica Arduino a kód Node.js sú k dispozícii na stiahnutie. Stačí vyhľadať súbory.
Krok 1: Vytvorenie aplikácie v telefóne
Stiahnite si Blynk z AppStore alebo GooglePlay
Otvorte aplikáciu a vytvorte si používateľa alebo sa prihláste pomocou facebooku.
- Vytvorte nový projekt
Názov projektu: MyProject
Vyberte zariadenie: Rasapberry Pi 3 B
Typ pripojenia: Wifi (alebo ethernet, ak je váš Pi pripojený k vašej sieti)
- Kliknite na položku Vytvoriť
Skontrolujte svoj e -mail, či obsahuje váš token
(vyzerá takto 3aa19bb8a9e64c90af11e3f6b0595b3c)
Tento token je spojený s vašou aktuálnou aplikáciou. Ak robíte inú aplikáciu, vygenerujete ďalší token.
Do aplikácie pridajte nasledujúce miniaplikácie (pozri obrázok)
- Pridajte 3 tlačidlá
- Pridajte 1 LCD
- Upravte tlačidlo
pomenujte prvý Command1, nastavte Pin ako virtuálny Pin 1 a nastavte režim ako SWITCH
pomenujte druhú CW, nastavte Pin ako virtuálny Pin 2 a nastavte režim ako PUSH
pomenujte tretiu CCW, nastavte Pin ako virtuálny Pin 3 a nastavte režim ako PUSH
- Upravte LCD
nastavte Piny ako Virtual Pin 4 a Virtual Pin 5 a nastavte Režim na PUSH
Krok 2: Príprava PI
Najprv musíte nainštalovať Node.js. Pred aktualizáciou Node.js odstráňte staré verzie:
Otvorte terminál a napíšte
sudo apt-get čistiaci uzol nodejs
node.js -ysudo apt -get autoremove
Automatická inštalácia Node.js Pridajte úložiská:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Nainštalujte Node.js
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential nodejs -y
Po inštalácii Node.js nainštalujte Blynk
sudo npm install blynk -library -g
sudo npm install onoff -g
Krok 3: Vytvorenie projektu
Začnite zmenou adresára (príkaz cd) na adresár pi
Otvorte terminál a zadajte:
cd/home/pi/
Potom vytvorte adresár, kde bude umiestnený váš projekt
mkdir MyProject
Zmeňte adresár na MyProject, do terminálu zadajte nasledujúci text
cd MyProject
Skontrolujte obsah adresára (mal by byť prázdny). Do terminálu zadajte iba nasledujúce
ls
Ďalej zadajte nasledujúci text a vytvorte popis projektu (package.json)
npm init
Stačí zadať názov projektu, autora, verziu atď.…
Akonáhle to urobíte, nainštalujte knižnicu Blynk, knižnicu onoff a knižnicu spánku systému do adresára VÁŠHO projektu. Do terminálu zadajte nasledujúce
npm install blynk-library --save
npm install onoff --save
npm install system-sleep --save
Nakoniec vytvorte súbor.js (Tu bude umiestnený váš kód). Do terminálu zadajte nasledujúce
nano MyProject.js
Po vykonaní tohto príkazu sa otvorí nano (textový editor terminálu).
Krok 4: MyProject.js
V nano napíšte nasledujúce riadky kódu
var Blynk = require ('blynk-library');
var AUTH = '******************'; TOTO JE VÁŠ TOKEN
var blynk = nový Blynk. Blynk (AUTH);
var Gpio = require ('onoff'). Gpio,
command1 = new Gpio (18, 'out'), // Bude pripojený k Arduino D2
commandCW = new Gpio (23, 'out'), // Bude pripojený k Arduino D3
commandCCW = new Gpio (24, 'out'); // Bude pripojený k Arduino D4
var sleep = require ('system-sleep');
var v1 = nový blynk. VirtualPin (1); // toto je vaše tlačidlo Command1 v aplikácii
var v2 = nový blynk. VirtualPin (2); // toto je vaše tlačidlo CW v aplikácii
var v3 = nový blynk. VirtualPin (3); // toto je vaše tlačidlo CCW v aplikácii
var v4 = nový blynk. VirtualPin (4); // toto je váš riadok LCD 1 v aplikácii
var v5 = nový blynk. VirtualPin (5); // toto je váš LCD riadok 2 v aplikácii
v1.on ('write', function (param) // Vyhľadajte v aplikácii tlačidlo Command1
{
if (param == 1) // Ak je tlačidlo stlačené (čo je 1), urobte nasledujúce
{
v4.write ("Vykonáva sa"); // Do prvého riadka displeja LCD napíšte „Vykonáva sa“
v5.write ("Príkaz"); // Napíšte "Command" do druhého riadku LCD
príkaz1.writeSync (1); // Nastavte GPIO18 (čo je premenná príkaz1) na 1 (VYSOKÝ)
spánok (4000); // Počkajte 4 sekundy
príkaz1.writeSync (0); // Nastavte GPIO18 (čo je premenná command1) na 0 (LOW)
v4.write („Hotovo“); // Do prvého riadka displeja LCD napíšte „Hotovo“
v5.write (""); // Napíšte "" (nič) do druhého riadku LCD
v1.write (0); // Napíšte 0 na tlačidlo Command1, čím sa resetuje do polohy OFF
}
});
v2.on ('write', function (param) // Vyhľadajte v aplikácii tlačidlo CW
{
if (param == 1) // Ak je stlačené tlačidlo (čo je 1), urobte nasledujúce
{
príkazCW.writeSync (1); // Nastavte GPIO23 (čo je premenná commandCW) na 1 (VYSOKÁ)
}
else if (param == 0) // Ak tlačidlo nie je stlačené (čo je 0), urobte nasledujúce
{
commadCW.writeSync (0); // Nastavte GPIO23 (čo je premenná commandCW) na 0 (LOW)
}
});
v3.on ('write', function (param) // Vyhľadajte v aplikácii tlačidlo CCW
{
if (param == 1) // Ak je stlačené tlačidlo (čo je 1), urobte nasledujúce
{
príkazCCW.writeSync (1); // Nastavte GPIO24 (čo je premenná commandCCW) na 1 (VYSOKÁ)
}
else if (param == 0) // Ak tlačidlo nie je stlačené (čo je 0), urobte nasledujúce
{
príkazCCW.writeSync (0); // Nastavte GPIO24 (čo je premenná commandCCW) na 1 (VYSOKÁ)
}
});
Uložte ho a ukončite nano
- na uloženie CTRL+O
- ukončite CTRL+X
Hotovo s Raspberry Pi.
Teraz vyskúšajte, či neobsahuje nejaké chyby (väčšinou ide o preklepy)
Ak to chcete otestovať, do terminálu zadajte nasledujúci text
uzol MyProject.js
Mali by ste dostať výstup, ktorý vyzerá takto
Režim OnOff
Pripojenie k: blynk-cloud.com 8441
Autorizácia SSL…
Autorizované
Krok 5: MyProject v Arduine
Ok, takže teraz máme 2/3 vecí dokončené!
Teraz stačí napísať nejaký kód pre Arduino.
- Vytvorte nový náčrt Arduina a zadajte nasledujúci kód.
#zahrnúť
#define STEPS_PER_MOTOR_REVOLUTION 32
#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Pripojenia pinov musia byť prepojené pinmi 8, 9, 10, 11
// do ovládača motora In1, In2, In3, In4
// Potom sú tu kolíky zapísané v sekvencii 1-3-2-4 pre správne sekvenovanie
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Command1;
int CommandCW;
int CommandCCW;
neplatné nastavenie ()
{
pinMode (2, VSTUP);
pinMode (3, VSTUP);
pinMode (4, VSTUP);
// (Stepper Library nastavuje piny ako výstupy)
}
prázdna slučka ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
ak (Command1 == 0)
{
//nerob nič
}
inak
{
ExecutionFunction ();
}
ak (CommandCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (-1);
oneskorenie (1);
}
ak (CommandCCW == 1)
{
small_stepper.setSpeed (700);
small_stepper.step (1);
oneskorenie (1);
}
}
zrušiť ExecutionFunction ()
{
Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Otočte CCW o 1/4 otáčky
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Steps2Take môžete nahradiť ľubovoľnou hodnotou od 0 do 2048
oneskorenie (500);
Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Otočte CW o 1/4 otáčky
small_stepper.setSpeed (700);
small_stepper.step (Steps2Take); // Steps2Take môžete nahradiť ľubovoľnou hodnotou od 0 do 2048
oneskorenie (2000);
}
Skompilovajte a nahrajte do svojho Arduina.
Teraz sa uistite, že ste všetko správne pripojili! Pozrite si ďalší krok zapojenia.
Krok 6: Zapojenie
Pripojte Arduino D3 k RaspberryPi GPIO18 (čo je vlastne pin 12)
Pripojte Arduino D4 k RaspberryPi GPIO23 (čo je vlastne pin 16)
Pripojte Arduino D4 k RaspberryPi GPIO24 (čo je vlastne pin 18)
Pripojte Arduino GND k RaspberryPi GND (pin 6)
Pripojte Arduino D8 k krokovému ovládaču In1
Pripojte Arduino D9 k krokovému ovládaču In2
Pripojte Arduino D10 k krokovému ovládaču In3
Pripojte Arduino D11 k krokovému ovládaču In4
Pripojte 5VDC k ovládaču Arduino, Raspberry Pi a Stepper
Krok 7: To je všetko
Pozrite si video a mali by ste byť hotoví!
Ďakujem a užívajte si!
Odporúča:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 krokov (s obrázkami)
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amigos, siguiendo con la revisiones de placas y sensores, con el aporte de la empresa DFRobot, hoy veremos una placa con prestaciones muy interesante, y es Ideálne pre ovládanie motorov a servo ovládačov,
Ako: Inštalácia Raspberry PI 4 bezhlavého (VNC) s obrazovým procesorom Rpi a obrázkami: 7 krokov (s obrázkami)
Ako na to: Inštalácia Raspberry PI 4 bez hlavy (VNC) s obrázkom Rpi a obrázkami: Plánujem použiť tento nástroj Rapsberry PI v mnohých zábavných projektoch späť na mojom blogu. Neváhajte sa na to pozrieť. Chcel som sa vrátiť k používaniu svojho Raspberry PI, ale na novom mieste som nemal klávesnicu ani myš. Chvíľu to bolo, odkedy som nastavil Raspberry
LightMeUp! Cross-platformed LED Strip Control v reálnom čase: 5 krokov (s obrázkami)
LightMeUp! Real-time cross-platformed LED Strip Control: LightMeUp! je systém, ktorý som vynašiel na ovládanie RGB LED pásikov v reálnom čase, pričom udržujem nízke náklady a vysoký výkon. Server je napísaný v jazyku Node.js, a preto je možné ich krížovo vytvárať. V mojom prípade používam na dlhodobé používanie Raspberry Pi 3B
Alexa Curtain Control System - 3D tlač a nízke náklady: 19 krokov (s obrázkami)
Alexa Curtain Control System - 3D tlač a nízke náklady: Dobrý deň, dlho som sa snažil zautomatizovať čo najviac z nášho domu. Keď zima príde sem, do Veľkej Británie, rozhodol som sa odstrániť večerné zatváranie všetkých záclon a ráno ich potom znova otvárať. To znamená, že behám
Časovač Stepper Pomodoro: 3 kroky (s obrázkami)
Časovač Stepper Pomodoro: Stepper Pomodoro je stolový časovač, ktorý vám pomôže spravovať svoj denný zoznam úloh rozdelením každého pracovného času na 30 -minútové segmenty. Na rozdiel od bežného časovača Pomodoro vás však nemusí znepokojovať tým, že vám ukáže zostávajúci čas. Namiesto toho