Obsah:

Raspberry PI a Arduino - Blynk Stepper Control: 7 krokov (s obrázkami)
Raspberry PI a Arduino - Blynk Stepper Control: 7 krokov (s obrázkami)

Video: Raspberry PI a Arduino - Blynk Stepper Control: 7 krokov (s obrázkami)

Video: Raspberry PI a Arduino - Blynk Stepper Control: 7 krokov (s obrázkami)
Video: Мониторинг автономной системы солнечной энергии с использованием Blynk и NodeMCU (ESP8266) — Arduino IDE 2024, November
Anonim
Raspberry PI a Arduino - Blynk Stepper Control
Raspberry PI a Arduino - Blynk Stepper Control

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

Vytvorenie aplikácie v telefóne
Vytvorenie aplikácie v telefóne
Vytvorenie aplikácie v telefóne
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

Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie
Elektrické vedenie

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: