Turinys:
- 1 veiksmas: sukurkite programą savo telefone
- 2 žingsnis: paruoškite PI
- 3 žingsnis: sukurkite savo projektą
- 4 veiksmas: „MyProject.js“
- 5 veiksmas: „MyProject“„Arduino“
- 6 žingsnis: laidų prijungimas
- 7 žingsnis: viskas
Video: „Raspberry PI“ir „Arduino“- „Blynk Stepper“valdymas: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Š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
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
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:
DC variklių valdymas naudojant „Arduino“ir L293: 5 žingsniai (su nuotraukomis)
Nuolatinės srovės variklių valdymas naudojant „Arduino“ir L293: paprastas būdas valdyti nuolatinės srovės variklius. Viskas, ko jums reikia, yra elektronikos ir programavimo žinios Jei turite klausimų ar problemų, galite susisiekti su manimi el. Paštu: [email protected] Aplankykite mano „YouTube“kanalą: https : //www.youtube.com/channel/UCuS39O01OyP
Kelių šviesos diodų valdymas naudojant „Python“ir „Raspberry Pi“GPIO kaiščius: 4 žingsniai (su nuotraukomis)
Kelių šviesos diodų valdymas naudojant „Python“ir jūsų „Raspberry Pi“GPIO kaiščius: ši instrukcija parodo, kaip valdyti kelis „RaspberryPi“GPIO kaiščius, kad būtų galima maitinti 4 šviesos diodus. Jis taip pat supažindins jus su parametrais ir sąlyginiais teiginiais „Python“. Mūsų ankstesnė instrukcija „Raspberry Pi“GPIO kaiščių naudojimas naudojant „Con
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: 8 žingsniai (su nuotraukomis)
Ryškumo valdymas PWM pagrįstas LED valdymas naudojant mygtukus, „Raspberry Pi“ir „Scratch“: bandžiau rasti būdą, kaip paaiškinti, kaip PWM veikė mano mokiniams, todėl iškėliau sau užduotį pabandyti valdyti šviesos diodo ryškumą naudojant du mygtukus - vienas mygtukas padidina šviesos diodo ryškumą, o kitas - jį pritemdo. Programa
ESP8266 RGB LED juostelės WIFI valdymas - „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“- RGB LED STRIP išmaniojo telefono valdymas: 4 žingsniai
ESP8266 RGB LED juostelės WIFI valdymas | „NODEMCU“kaip IR nuotolinio valdymo pultas „Led Strip“, valdomas per „Wifi“| „RGB LED STRIP“išmaniojo telefono valdymas: Sveiki vaikinai, šioje pamokoje mes išmoksime naudoti „nodemcu“arba „esp8266“kaip IR nuotolinio valdymo pultą, norint valdyti RGB LED juostą, o „Nodemcu“bus valdomas išmaniuoju telefonu per „Wi -Fi“. Taigi iš esmės galite valdyti RGB LED juostelę savo išmaniuoju telefonu
Belaidis nuotolinis valdymas naudojant 2,4 GHz NRF24L01 modulį su „Arduino“- Nrf24l01 4 kanalų / 6 kanalų siųstuvo imtuvas keturkopteriui - Rc sraigtasparnis - Rc lėktuvas naudojant „Arduino“: 5 žingsniai (su nuotraukomis)
Belaidis nuotolinis valdymas naudojant 2,4 GHz NRF24L01 modulį su „Arduino“| Nrf24l01 4 kanalų / 6 kanalų siųstuvo imtuvas keturkopteriui | Rc sraigtasparnis | Rc lėktuvas naudojant „Arduino“: valdyti Rc automobilį | Kvadopteris | Dronas | RC plokštuma | RC valtis, mums visada reikia imtuvo ir siųstuvo, tarkime, kad RC QUADCOPTER mums reikia 6 kanalų siųstuvo ir imtuvo, o tokio tipo TX ir RX yra per brangus, todėl mes jį pagaminsime savo