Satura rādītājs:

Raspberry PI & Arduino - Blynk Stepper Control: 7 soļi (ar attēliem)
Raspberry PI & Arduino - Blynk Stepper Control: 7 soļi (ar attēliem)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 soļi (ar attēliem)

Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 soļi (ar attēliem)
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Novembris
Anonim
Raspberry PI & Arduino - Blynk Stepper Control
Raspberry PI & Arduino - Blynk Stepper Control

Šī apmācība parādīs, kā vadīt pakāpju motoru, izmantojot Arduino, Raspberry Pi un lietojumprogrammu Blynk.

Riekstu čaulā lietotne nosūta pieprasījumus Raspberry Pi, izmantojot virtuālās tapas, Pi pēc tam nosūta HIGH/LOW signālu Arduino, un Arduino pēc tam nodarbojas ar pakāpju motoru.

Es domāju, ka šo pieeju ir vieglāk izmantot, jo lielākā daļa cilvēku ir pieraduši strādāt ar Arduino, nevis daudz ar node.js Raspberry Pi.

Šim nolūkam nepieciešamās sastāvdaļas:

- Raspberry PI (es izmantoju Raspberry Pi 3 modeli b)

- Arduino (es izmantoju Arduino Nano)

- Servo motors (es izmantoju 28BYJ-48 5VDC ar tā kontrolieri)

- Daži džemperu vadi

- Barošanas avots (5VDC 2A.)

Arduino skice un Node.js kods ir pieejami lejupielādei. Vienkārši meklējiet failus.

1. darbība: izveidojiet lietotni savā tālrunī

Lietotnes izveide tālrunī
Lietotnes izveide tālrunī
Lietotnes izveide tālrunī
Lietotnes izveide tālrunī

Lejupielādējiet Blynk no AppStore vai GooglePlay

Atveriet lietotni un izveidojiet lietotāju vai piesakieties, izmantojot facebook.

- Izveidojiet jaunu projektu

Nosauciet savu projektu: MyProject

Izvēlieties ierīci: Rasapberry Pi 3 B

Savienojuma veids: Wifi (vai Ethernet, ja jūsu Pi ir pieslēgts tīklam)

- Noklikšķiniet uz Izveidot

Pārbaudiet savu e -pastu, lai atrastu savu marķieri

(izskatās šādi 3aa19bb8a9e64c90af11e3f6b0595b3c)

Šis marķieris ir saistīts ar jūsu pašreizējo lietotni. Ja veicat citu lietotni, jūs ģenerēsit citu marķieri.

Lietotnē pievienojiet šādus logrīkus (skatiet attēlu)

- Pievienojiet 3 pogas

- Pievienojiet 1 LCD

- Rediģējiet pogu

nosauciet pirmo komandu 1, iestatiet tapu kā Virtual Pin 1 un iestatiet režīmu kā SWITCH

nosauciet otro CW, iestatiet tapu kā Virtual Pin 2 un iestatiet režīmu kā PUSH

nosauciet trešo CCW, iestatiet tapu kā Virtual Pin 3 un iestatiet režīmu kā PUSH

- Rediģējiet LCD

iestatiet tapas kā virtuālo tapu 4 un virtuālo tapu 5 un iestatiet režīmu uz PUSH

2. darbība: sagatavojiet PI

Pirmkārt, jums jāinstalē Node.js. Pirms Node.js atjaunināšanas noteikti noņemiet vecās versijas:

Atveriet termināli un ierakstiet

sudo apt-get attīrīt mezglu nodejs

node.js -ysudo apt -get autoremove

Automātiska Node.js instalēšana Pievienot krātuves:

čokurošanās -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Instalējiet Node.js

sudo apt-get update && sudo apt-get upgrade

sudo apt-get install build-essential nodejs -y

Kad Node.js ir instalēts, instalējiet Blynk

sudo npm instalēt blynk -library -g

sudo npm instalēt onoff -g

3. darbība. Projekta izveide

Sāciet, nomainot direktoriju (cd komanda) uz pi direktoriju

Atveriet termināli un ierakstiet:

cd/mājas/pi/

Pēc tam izveidojiet direktoriju, kurā atradīsies jūsu projekts

mkdir MyProject

Mainiet direktoriju uz MyProject, terminālī ierakstiet šo

cd MyProject

Pārbaudiet direktorija saturu (tam jābūt tukšam). Vienkārši ierakstiet terminālī sekojošo

ls

Pēc tam ierakstiet šo, lai izveidotu projekta aprakstu (package.json)

npm init

Vienkārši ierakstiet projekta nosaukumu, autoru, versiju utt.…

Kad tas ir izdarīts, instalējiet Blynk bibliotēku, ieslēgšanas bibliotēku un sistēmas miega bibliotēku SAVU projektu direktorijā. Savā terminālī ierakstiet šo

npm instalēt blynk-library-save

npm instalēt onoff -saglabāt

npm instalējiet sistēmu miega režīms-saglabājiet

Visbeidzot, izveidojiet savu.js failu (šeit atradīsies jūsu kods). Terminālī ierakstiet šo

nano MyProject.js

Kad esat izpildījis šo komandu, tiks atvērts nano (termināļa teksta redaktors).

4. darbība: MyProject.js

Nano rakstiet šādas koda rindas

var Blynk = pieprasīt ('blynk-library');

var AUTH = '*****************'; ŠIS IR JŪSU TOKENS

var blynk = jauns Blynk. Blynk (AUTH);

var Gpio = prasīt ('ieslēgts'). Gpio,

command1 = new Gpio (18, 'out'), // tiks savienots ar Arduino D2

commandCW = new Gpio (23, 'out'), // tiks savienots ar Arduino D3

commandCCW = jauns Gpio (24, 'ārā'); // Tiks savienots ar Arduino D4

var miega = pieprasīt ('system-sleep');

var v1 = jauns blynk. VirtualPin (1); // šī ir jūsu poga Command1 lietotnē

var v2 = jauns blynk. VirtualPin (2); // šī ir jūsu CW poga lietotnē

var v3 = jauns blynk. VirtualPin (3); // šī ir jūsu CCW poga lietotnē

var v4 = jauns blynk. VirtualPin (4); // šī ir jūsu LCD 1. līnija lietotnē

var v5 = jauns blynk. VirtualPin (5); // šī ir jūsu LCD 2. līnija lietotnē

v1.on ('rakstīt', funkcija (param) // Pārbaudiet lietotnē pogu Command1

{

ja (param == 1) // Ja tiek nospiesta poga (kas ir 1), rīkojieties šādi

{

v4.write ("Izpilde"); // LCD pirmajā rindā ierakstiet "Izpilde"

v5.write ("Komanda"); // LCD otrajā rindā ierakstiet "Komanda"

command1.writeSync (1); // Iestatiet GPIO18 (kas ir mainīga komanda1) uz 1 (HIGH)

gulēt (4000); // Pagaidiet 4 sekundes

command1.writeSync (0); // Iestatiet GPIO18 (kas ir mainīgā komanda1) uz 0 (LOW)

v4.write ("Gatavs"); // LCD pirmajā rindā ierakstiet "Gatavs"

v5.rakstīt (""); // LCD otrajā rindā ierakstiet "" (neko)

v1.rakstīt (0); // Uzrakstiet 0 uz Command1 pogu, kas to atgriezīs pozīcijā OFF

}

});

v2.on ('rakstīt', funkcija (param) // Pārbaudiet, vai lietotnē nav pogas CW

{

ja (param == 1) // Ja tiek nospiesta poga (kas ir 1), rīkojieties šādi

{

commandCW.writeSync (1); // Iestatiet GPIO23 (kas ir mainīga komandaCW) uz 1 (HIGH)

}

citādi, ja (param == 0) // Ja poga nav nospiesta (kas ir 0), rīkojieties šādi

{

commadCW.writeSync (0); // Iestatiet GPIO23 (kas ir mainīga komandaCW) uz 0 (LOW)

}

});

v3.on ('rakstīt', funkcija (param) // Pārbaudiet lietotnē CCW pogu

{

ja (param == 1) // Ja tiek nospiesta poga (kas ir 1), rīkojieties šādi

{

commandCCW.writeSync (1); // Iestatiet GPIO24 (kas ir mainīga komandaCCW) uz 1 (HIGH)

}

citādi, ja (param == 0) // Ja poga nav nospiesta (kas ir 0), rīkojieties šādi

{

commandCCW.writeSync (0); // Iestatiet GPIO24 (kas ir mainīga komandaCCW) uz 1 (HIGH)

}

});

Saglabājiet to un izejiet no nano

- lai saglabātu CTRL+O

- lai aizvērtu CTRL+X

Jūs esat pabeidzis lietot Raspberry Pi.

Tagad pārbaudiet to, lai redzētu, vai tajā ir kāda veida kļūdas (lielākoties tās ir drukas kļūdas)

Lai to pārbaudītu, vienkārši ierakstiet šo terminālī

mezgls MyProject.js

Jums vajadzētu iegūt rezultātu, kas izskatās šādi

OnOff režīms

8441

SSL autorizācija…

Pilnvarots

5. solis: MyProject Arduino

Labi, tagad mums ir pabeigtas 2/3 lietas!

Tagad mums vienkārši jāraksta Arduino kods.

- Izveidojiet jaunu Arduino skici un ierakstiet šādu kodu.

#iekļaut

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Tapas savienojumiem jābūt savienotiem ar tapām 8, 9, 10, 11

// uz motora draiveri In1, In2, In3, In4

// Tad tapas tiek ievadītas šeit secībā 1-3-2-4 pareizai secībai

Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);

int Steps2Take;

int Command1;

int CommandCW;

int CommandCCW;

anulēts iestatījums ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, INPUT);

// (Stepper Library nosaka tapas kā izejas)

}

tukša cilpa ()

{

Komanda1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

ja (1. komanda == 0)

{

//neko nedarīt

}

citādi

{

ExecutionFunction ();

}

ja (CommandCW == 1)

{

small_stepper.setSpeed (700);

mazs_solītis.solis (-1);

kavēšanās (1);

}

ja (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

kavēšanās (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Pagriezt CCW 1/4 pagrieziena

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Jūs varat aizstāt Steps2Take ar jebkuru vērtību no 0 līdz 2048

kavēšanās (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Pagriezt CW par 1/4 pagriezienu

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // Jūs varat aizstāt Steps2Take ar jebkuru vērtību no 0 līdz 2048

kavēšanās (2000);

}

Apkopojiet un augšupielādējiet savā Arduino.

Tagad pārliecinieties, ka viss ir pareizi savienots! Skatiet nākamo elektroinstalācijas soli.

6. darbība: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija
Elektroinstalācija

Savienojiet Arduino D3 ar RaspberryPi GPIO18 (kas faktiski ir 12. tapa)

Savienojiet Arduino D4 ar RaspberryPi GPIO23 (kas faktiski ir 16. tapa)

Savienojiet Arduino D4 ar RaspberryPi GPIO24 (kas faktiski ir 18. tapa)

Savienojiet Arduino GND ar RaspberryPi GND (6. tapa)

Pievienojiet Arduino D8 Stepper Controller In1

Pievienojiet Arduino D9 Stepper Controller In2

Pievienojiet Arduino D10 Stepper Controller In3

Pievienojiet Arduino D11 Stepper Controller In4

Savienojiet 5VDC ar Arduino, Raspberry Pi un Stepper Controller

7. solis: Tieši tā

Pārbaudiet video, un jums vajadzētu būt pabeigtam!

Paldies un izbaudi!

Ieteicams: