Turinys:

„Raspberry PI“ir „Arduino“- „Blynk Stepper“valdymas: 7 žingsniai (su nuotraukomis)
„Raspberry PI“ir „Arduino“- „Blynk Stepper“valdymas: 7 žingsniai (su nuotraukomis)

Video: „Raspberry PI“ir „Arduino“- „Blynk Stepper“valdymas: 7 žingsniai (su nuotraukomis)

Video: „Raspberry PI“ir „Arduino“- „Blynk Stepper“valdymas: 7 žingsniai (su nuotraukomis)
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, Lapkritis
Anonim
Raspberry PI & Arduino - „Blynk Stepper Control“
Raspberry PI & Arduino - „Blynk Stepper Control“

Ši pamoka parodys, kaip valdyti žingsninį variklį naudojant „Arduino“, „Raspberry Pi“ir „Blynk“programą.

Riešutų kevalyje programa siunčia užklausas „Raspberry Pi“per virtualius kaiščius, tada „Pi“siunčia „HIGH/LOW“signalą „Arduino“, o „Arduino“tada tvarko žingsninį variklį.

Manau, kad lengviau naudoti tą metodą, nes dauguma žmonių yra įpratę dirbti su „Arduino“, o ne daug su „node.js“„Raspberry Pi“.

Tam reikalingi komponentai:

- Raspberry PI (aš naudoju Raspberry Pi 3 modelį b)

- Arduino (aš naudoju „Arduino Nano“)

- Servo variklis (naudoju 28BYJ-48 5VDC su valdikliu)

- Kai kurie trumpieji laidai

- Maitinimo šaltinis (5VDC 2A.)

Galima atsisiųsti „Arduino“eskizą ir „Node.js“kodą. Tiesiog ieškokite failų.

1 veiksmas: sukurkite programą savo telefone

Programos kūrimas telefone
Programos kūrimas telefone
Programos kūrimas telefone
Programos kūrimas telefone

Atsisiųskite „Blynk“iš „AppStore“arba „GooglePlay“

Atidarykite programą ir sukurkite vartotoją arba prisijunkite naudodami „Facebook“.

- Sukurkite naują projektą

Pavadinkite savo projektą: „MyProject“

Pasirinkite įrenginį: Rasapberry Pi 3 B

Ryšio tipas: „Wifi“(arba „Ethernet“, jei „Pi“prijungtas prie tinklo)

- Spustelėkite Sukurti

Patikrinkite savo el. Paštą, ar nėra jūsų žetono

(atrodo taip 3aa19bb8a9e64c90af11e3f6b0595b3c)

Šis raktas yra susietas su jūsų dabartine programa. Jei atliksite kitą programą, sugeneruosite kitą prieigos raktą.

Programoje pridėkite šiuos valdiklius (žr. Paveikslėlį)

- Pridėkite 3 mygtukus

- Pridėkite 1 skystųjų kristalų ekraną

- Redaguokite mygtuką

pavadinkite pirmąją komandą1, nustatykite kaištį kaip virtualųjį kaištį 1 ir nustatykite režimą kaip JUNGIMAS

pavadinkite antrąjį CW, nustatykite kaištį kaip 2 virtualų kaištį ir nustatykite režimą kaip PUSH

pavadinkite trečiąjį CCW, nustatykite kaištį kaip virtualų kaištį 3 ir nustatykite režimą kaip PUSH

- Redaguokite LCD ekraną

nustatykite kaiščius kaip virtualų kaištį 4 ir virtualų kaištį 5 ir nustatykite režimą į PUSH

2 žingsnis: paruoškite PI

Pirmiausia turite įdiegti „Node.js“. Prieš atnaujindami „Node.js“, būtinai pašalinkite senas versijas:

Atidarykite terminalą ir įveskite

sudo apt-get išvalyti mazgą nodejs

node.js -ysudo apt -get autoremove

Automatinis „Node.js“diegimas Pridėkite saugyklų:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Įdiekite „Node.js“

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

sudo apt-get install build-essential nodejs -y

Įdiegę „Node.js“, įdiekite „Blynk“

sudo npm įdiegti blynk -library -g

sudo npm įdiegti onoff -g

3 žingsnis: sukurkite savo projektą

Pradėkite, pakeisdami katalogą (cd komanda) į pi katalogą

Atidarykite terminalą ir įveskite:

cd/home/pi/

Tada sukurkite katalogą, kuriame bus jūsų projektas

mkdir MyProject

Pakeiskite katalogą į „MyProject“, įveskite terminalą

cd MyProject

Patikrinkite katalogo turinį (jis turi būti tuščias). Tiesiog įveskite terminalą

ls

Tada, norėdami sukurti savo projekto aprašymą (package.json), įveskite šiuos duomenis:

npm init

Tiesiog įveskite projekto pavadinimą, autorių, versiją ir tt …

Kai tai bus padaryta, įdiekite „Blynk“biblioteką, įjungimo biblioteką ir sistemos miego biblioteką savo projekto kataloge. Įveskite savo terminale šį tekstą

npm įdiegti „blynk-library“-išsaugoti

npm install onoff -išsaugoti

npm įdiegti miego režimą-išsaugoti

Galiausiai sukurkite.js failą (čia bus jūsų kodas). Terminale įveskite šią informaciją

nano MyProject.js

Kai įvykdysite šią komandą, atsidarys nano (terminalo teksto redaktorius).

4 veiksmas: „MyProject.js“

Naudodami nano, parašykite šias kodo eilutes

var Blynk = reikalauti ('blynk-library');

var AUTH = '*****************' '; TAI JŪSŲ MOKYTAS

var blynk = naujas Blynk. Blynk (AUTH);

var Gpio = reikalauti ('onoff'). Gpio,

command1 = new Gpio (18, 'out'), // Bus prijungtas prie Arduino D2

commandCW = naujas „Gpio“(23, „išėjimas“), // Bus prijungtas prie „Arduino D3“

commandCCW = naujas Gpio (24, 'out'); // Bus prijungtas prie „Arduino D4“

var sleep = reikalauti ('system-sleep');

var v1 = naujas blynk. VirtualPin (1); // tai yra jūsų „Command1“mygtukas programoje

var v2 = naujas blynk. VirtualPin (2); // tai yra jūsų CW mygtukas programoje

var v3 = naujas blynk. VirtualPin (3); // tai yra jūsų CCW mygtukas programoje

var v4 = naujas blynk. VirtualPin (4); // tai yra jūsų LCD 1 eilutė programoje

var v5 = naujas blynk. VirtualPin (5); // tai yra jūsų 2 LCD eilutė programoje

v1.on ('rašyti', funkcija (param) // Patikrinkite, ar programoje yra mygtukas Command1

{

if (param == 1) // Jei paspaudžiamas mygtukas (kuris yra 1), atlikite šiuos veiksmus

{

v4.write („Vykdoma“); // Pirmoje LCD eilutėje parašykite „Executing“

v5.write („Komanda“); // Antroje LCD eilutėje parašykite „Command“

command1.writeSync (1); // Nustatykite GPIO18 (kuris yra kintama komanda1) į 1 (HIGH)

miegas (4000); // Palaukite 4 sekundes

command1.writeSync (0); // Nustatykite GPIO18 (kuris yra kintama komanda1) į 0 (LOW)

v4.write („Atlikta“); // Pirmoje LCD eilutėje parašykite „Atlikta“

v5.rašyti (""); // Antroje LCD eilutėje rašykite "" (nieko)

v1.rašyti (0); // Į „Command1“mygtuką įrašykite 0, kad jis būtų grąžintas į OFF padėtį

}

});

v2.on ('rašyti', funkcija (param) // Patikrinkite, ar programoje yra CW mygtukas

{

if (param == 1) // Jei paspaudžiamas mygtukas (kuris yra 1), atlikite šiuos veiksmus

{

commandCW.writeSync (1); // Nustatykite GPIO23 (kuris yra kintama komandaCW) į 1 (HIGH)

}

else if (param == 0) // Jei mygtukas nepaspaustas (kuris yra 0), atlikite šiuos veiksmus

{

commadCW.writeSync (0); // Nustatykite GPIO23 (kuris yra kintama komandaCW) į 0 (LOW)

}

});

v3.on ('rašyti', funkcija (param) // Patikrinkite programėlėje esantį CCW mygtuką

{

if (param == 1) // Jei paspaudžiamas mygtukas (kuris yra 1), atlikite šiuos veiksmus

{

commandCCW.writeSync (1); // Nustatykite GPIO24 (kuris yra kintama komandaCCW) į 1 (HIGH)

}

else if (param == 0) // Jei mygtukas nepaspaustas (kuris yra 0), atlikite šiuos veiksmus

{

commandCCW.writeSync (0); // Nustatykite GPIO24 (kuris yra kintama komandaCCW) į 1 (HIGH)

}

});

Išsaugokite ir išeikite iš „nano“

- išsaugoti CTRL+O

- išeiti iš CTRL+X

Baigėte darbą su „Raspberry Pi“.

Dabar patikrinkite, ar nėra kokių nors klaidų (dažniausiai tai yra rašybos klaidos)

Norėdami tai išbandyti, tiesiog įveskite savo terminale šiuos žodžius

mazgas MyProject.js

Turėtumėte gauti išvestį, kuri atrodo taip

„OnOff“režimas

8441

SSL įgaliojimas…

Įgaliotas

5 veiksmas: „MyProject“„Arduino“

Gerai, todėl dabar turime 2/3 dalykų!

Dabar mums tiesiog reikia parašyti „Arduino“kodą.

- Sukurkite naują „Arduino“eskizą ir įveskite šį kodą.

#įtraukti

#define STEPS_PER_MOTOR_REVOLUTION 32

#define STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048

// Kaiščių jungtys turi būti prijungtos 8, 9, 10, 11 kaiščių

// į variklio tvarkyklę In1, In2, In3, In4

// Tada smeigtukai čia įvedami 1-3-2-4 seka, kad būtų atlikta tinkama seka

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

int Steps2Take;

int Command1;

int CommandCW;

int CommandCCW;

negaliojanti sąranka ()

{

pinMode (2, INPUT);

pinMode (3, INPUT);

pinMode (4, Įvestis);

// („Stepper“biblioteka nustato kaiščius kaip išėjimus)

}

tuštumos kilpa ()

{

Command1 = digitalRead (2);

CommandCW = digitalRead (3);

CommandCCW = digitalRead (4);

jei (1 komanda == 0)

{

//nieko nedaryk

}

Kitas

{

ExecutionFunction ();

}

jei (CommandCW == 1)

{

small_stepper.setSpeed (700);

mažas_žingsnis.žingsnis (-1);

uždelsimas (1);

}

jei (CommandCCW == 1)

{

small_stepper.setSpeed (700);

small_stepper.step (1);

uždelsimas (1);

}

}

void ExecutionFunction ()

{

Steps2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Pasukite CCW 1/4 apsisukimo

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // „Steps2Take“galite pakeisti bet kokia reikšme nuo 0 iki 2048

vėlavimas (500);

Steps2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Pasukti CW 1/4 apsisukimo

small_stepper.setSpeed (700);

small_stepper.step (Steps2Take); // „Steps2Take“galite pakeisti bet kokia reikšme nuo 0 iki 2048

vėlavimas (2000 m.);

}

Sudarykite ir įkelkite į „Arduino“.

Dabar įsitikinkite, kad viską prijungėte teisingai! Žiūrėkite kitą elektros instaliacijos žingsnį.

6 žingsnis: laidų prijungimas

Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai
Laidai

Prijunkite „Arduino D3“prie „RaspberryPi GPIO18“(kuris iš tikrųjų yra 12 kaištis)

Prijunkite „Arduino D4“prie „RaspberryPi GPIO23“(kuris iš tikrųjų yra 16 kaištis)

Prijunkite „Arduino D4“prie „RaspberryPi GPIO24“(kuris iš tikrųjų yra 18 kaištis)

Prijunkite „Arduino GND“prie „RaspberryPi GND“(6 kontaktas)

Prijunkite „Arduino D8“prie „Stepper Controller In1“

Prijunkite „Arduino D9“prie „Stepper Controller In2“

Prijunkite „Arduino D10“prie „Stepper Controller In3“

Prijunkite „Arduino D11“prie „Stepper Controller In4“

Prijunkite 5VDC prie „Arduino“, „Raspberry Pi“ir „Stepper Controller“

7 žingsnis: viskas

Peržiūrėkite vaizdo įrašą ir turėsite baigti!

Ačiū ir mėgaukitės!

Rekomenduojamas: