Përmbajtje:
- Hapi 1: Krijimi i aplikacionit në telefonin tuaj
- Hapi 2: Përgatitja e IP -së
- Hapi 3: Krijimi i projektit tuaj
- Hapi 4: MyProject.js
- Hapi 5: MyProject në Arduino
- Hapi 6: Instalimet elektrike
- Hapi 7: Kjo është ajo
Video: Raspberry PI & Arduino - Blynk Stepper Control: 7 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:28
Ky tutorial do t'ju tregojë se si të kontrolloni një motor stepper me një Arduino, një Raspberry Pi dhe Aplikacionin Blynk.
Në një guaskë arre, aplikacioni dërgon kërkesa te Raspberry Pi përmes Kunjave Virtual, Pi pastaj dërgon sinjal HIGH/LOW në Arduino dhe Arduino pastaj merret me motorin stepper.
Unë mendoj se është më e lehtë të përdorësh atë përafrim pasi shumica e njerëzve janë mësuar të punojnë me Arduino dhe jo shumë me node.js në Raspberry Pi.
Përbërësit e nevojshëm për këtë:
- Raspberry PI (Unë jam duke përdorur modelin Raspberry Pi 3 b)
- Arduino (Unë jam duke përdorur një Arduino Nano)
- Servo Motor (Unë jam duke përdorur një 28BYJ-48 5VDC me kontrolluesin e tij)
- Disa tela kërcyes
- Burimi i energjisë (5VDC 2A.)
Skica Arduino dhe kodi Node.js janë në dispozicion për tu shkarkuar. Thjesht shikoni skedarët.
Hapi 1: Krijimi i aplikacionit në telefonin tuaj
Shkarkoni Blynk nga AppStore ose GooglePlay
Hapni Aplikacionin dhe krijoni një përdorues ose Hyni me facebook.
- Krijoni një projekt të ri
Emërtoni projektin tuaj: MyProject
Zgjidhni pajisjen: Rasapberry Pi 3 B
Lloji i lidhjes: Wifi (ose Ethernet nëse Pi juaj është i lidhur me rrjetin tuaj)
- Klikoni Krijo
Kontrolloni emailin tuaj për Token tuaj
(duket kështu 3aa19bb8a9e64c90af11e3f6b0595b3c)
Ky Token është i lidhur me aplikacionin tuaj aktual. Nëse bëni një aplikacion tjetër, do të gjeneroni një shenjë tjetër.
Në Aplikacion shtoni widget -et e mëposhtëm (shiko figurën)
- Shtoni 3 butona
- Shtoni 1 LCD
- Ndryshoni butonin
emërtoni të parën Command1, vendosni Pin si Virtual Pin 1 dhe vendosni Modalitetin si SWITCH
emërtoni CW -në e dytë, vendosni Pin -in si Virtual Pin 2 dhe vendosni Modalitetin si PUSH
emërtoni të tretin CCW, vendosni Pin si Virtual Pin 3 dhe vendosni Modalitetin si PUSH
- Ndryshoni LCD -në
vendosni Kunjat si Pin Virtual 4 dhe Virtual Pin 5 dhe vendosni Modalitetin në PUSH
Hapi 2: Përgatitja e IP -së
Së pari, duhet të instaloni Node.js. Para se të azhurnoni Node.js, sigurohuni që të hiqni versionet e vjetra:
Hapni Terminalin dhe shkruani
sudo apt-get nyje nyje purge
nyje.js -ysudo apt -get autoremove
Instalimi automatik i Node.js Shtoni depo:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
Instaloni Node.js
sudo apt-merrni përditësim && sudo apt-merrni përmirësim
sudo apt-get install build-thelbësore nodejs -y
Pasi të jetë instaluar Node.js, instaloni Blynk
sudo npm instaloni blynk -librari -g
sudo npm instaloni onoff -g
Hapi 3: Krijimi i projektit tuaj
Filloni duke ndryshuar drejtorinë (komanda cd) në drejtorinë pi
Hapni Terminalin dhe shkruani:
cd/home/pi/
Pastaj, krijoni një drejtori ku do të banojë projekti juaj
mkdirProjekti im
Ndryshoni drejtorinë në MyProject, shkruani sa vijon në Terminal
cd MyProject
Kontrolloni përmbajtjen e drejtorisë (duhet të jetë bosh). Thjesht shkruani sa vijon në Terminal
ls
Tjetra, shtypni sa vijon për të krijuar përshkrimin e projektit tuaj (package.json)
npm init
Thjesht shkruani emrin e projektit, autorin, versionin, etj …
Pasi të bëhet kjo, instaloni bibliotekën Blynk, bibliotekën onoff dhe bibliotekën e sistemit të fjetjes në drejtorinë tuaj të projektit. Shkruani sa vijon në Terminalin tuaj
npm instaloni bibliotekën blynk-ruani
npm instaloni onoff -ruani
npm install system-sleep-ruaj
Së fundi, krijoni skedarin tuaj.js (Ky do të jetë vendi ku do të banojë kodi juaj). Shkruani sa vijon në Terminal
nano MyProject.js
Pasi të ekzekutoni atë komandë, nano (redaktuesi i tekstit terminal) do të hapet.
Hapi 4: MyProject.js
Në nano, shkruani rreshtat e mëposhtëm të kodit
var Blynk = kërkoj ('biblioteka blynk');
var AUTH = '******************'; KJO TOSHT TOKEN TUAJ
var blynk = new Blynk. Blynk (AUTH);
var Gpio = kërkoj ('fikur'). Gpio,
command1 = Gpio i ri (18, 'jashtë'), // Do të lidhet me Arduino D2
commandCW = Gpio e re (23, 'jashtë'), // Do të lidhet me Arduino D3
commandCCW = Gpio e re (24, 'jashtë'); // Do të lidhet me Arduino D4
var gjumi = kërkoj ('sistem-gjumë');
var v1 = blynk i ri. VirtualPin (1); // ky është butoni juaj Command1 në aplikacion
var v2 = blynk i ri. VirtualPin (2); // ky është butoni juaj CW në aplikacion
var v3 = blynk i ri. VirtualPin (3); // ky është butoni juaj CCW në aplikacion
var v4 = blynk i ri. VirtualPin (4); // kjo është linja juaj LCD 1 në aplikacion
var v5 = blynk i ri. VirtualPin (5); // kjo është linja juaj LCD 2 në aplikacion
v1.on ('shkruaj', funksioni (param) // Kontrolloni për butonin Command1 në aplikacion
{
nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë
{
v4.write ("Ekzekutimi"); // Shkruani "Ekzekutimi" në rreshtin e parë të LCD
v5.shkruani ("Komanda"); // Shkruani "Command" në rreshtin e dytë të LCD
command1.writeSync (1); // Vendosni GPIO18 (e cila është komanda e ndryshueshme1) në 1 (LART)
fle (4000); // Prisni 4 sekonda
command1.writeSync (0); // Vendosni GPIO18 (e cila është komanda e ndryshueshme1) në 0 (LOW)
v4.shkruani ("U krye"); // Shkruani "U krye" në rreshtin e parë të LCD
v5.shkruani (""); // Shkruani "" (asgjë) në rreshtin e dytë të LCD
v1.shkruani (0); // Shkruani 0 në butonin tuaj Command1, që do ta rivendosë atë në pozicionin OFF
}
});
v2.on ('shkruaj', funksioni (param) // Kontrolloni për butonin CW në aplikacion
{
nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë
{
commandCW.writeSync (1); // Vendosni GPIO23 (e cila është komandë e ndryshueshmeCW) në 1 (LART)
}
përndryshe nëse (param == 0) // Nëse butoni nuk është shtypur (që është 0) atëherë bëni sa më poshtë
{
commadCW.writeSync (0); // Vendosni GPIO23 (e cila është komandë e ndryshueshmeCW) në 0 (LOW)
}
});
v3.on ('shkruaj', funksioni (param) // Kontrolloni për butonin CCW në aplikacion
{
nëse (param == 1) // Nëse shtypet butoni (që është 1) atëherë bëni sa më poshtë
{
commandCCW.writeSync (1); // Vendosni GPIO24 (e cila është komandë e ndryshueshmeCCW) në 1 (LART)
}
tjetër nëse (param == 0) // Nëse butoni nuk është shtypur (që është 0) atëherë bëni sa më poshtë
{
commandCCW.writeSync (0); // Vendosni GPIO24 (që është komandë e ndryshueshmeCCW) në 1 (LART)
}
});
Ruajeni atë dhe dilni nga nano
- për të ruajtur CTRL+O
- për të lënë CTRL+X
Ju keni mbaruar me Raspberry Pi.
Tani testojeni për të parë nëse keni ndonjë lloj gabimi (shumicën e kohës janë gabime të gabimit të gabimit)
Për ta testuar atë, thjesht shkruani sa vijon në Terminalin tuaj
nyja MyProject.js
Ju duhet të merrni një dalje që duket si kjo
Modaliteti OnOff
Lidhja me: blynk-cloud.com 8441
Autorizimi SSL…
I autorizuar
Hapi 5: MyProject në Arduino
Ok tani kemi 2/3 gjëra të përfunduara!
Tani na mbetet vetëm të shkruajmë një kod për Arduino.
- Krijoni një skicë të re Arduino dhe shkruani kodin e mëposhtëm.
#përfshi
#përcaktoni STEPS_PER_MOTOR_REVOLUTION 32
#përcaktoni STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Lidhjet e kunjave duhet të jenë të lidhura me kunjat 8, 9, 10, 11
// tek drejtuesi i motorit In1, In2, In3, In4
// Pastaj kunjat futen këtu në sekuencën 1-3-2-4 për sekuencimin e duhur
Stepper small_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Hapat2 Merrni;
int Komanda1;
int CommandCW;
int CommandCCW;
void setup ()
{
pinMode (2, INPUT);
pinMode (3, INPUT);
pinMode (4, INPUT);
// (Biblioteka Stepper i vendos kunjat si dalje)
}
lak void ()
{
Command1 = digitalRead (2);
CommandCW = digitalRead (3);
CommandCCW = digitalRead (4);
nëse (Komanda1 == 0)
{
//mos bej gje
}
tjeter
{
EkzekutimiFunksion ();
}
nëse (CommandCW == 1)
{
small_stepper.setSpeed (700);
stepa_ e vogël.hap (-1);
vonesa (1);
}
nëse (CommandCCW == 1)
{
small_stepper.setSpeed (700);
stepa_ e vogël.hap (1);
vonesa (1);
}
}
void ExecutionFunction ()
{
Hapat2Take = STEPS_PER_OUTPUT_REVOLUTION / 4; // Rrotulloni CCW 1/4 kthesë
small_stepper.setSpeed (700);
small_stepper.step (Hapat2Take); // Ju mund të zëvendësoni Steps2Take me çdo vlerë midis 0 dhe 2048
vonesë (500);
Hapat2Take = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Rrotulloni CW 1/4 kthesë
small_stepper.setSpeed (700);
small_stepper.step (Hapat2Take); // Ju mund të zëvendësoni Steps2Take me çdo vlerë midis 0 dhe 2048
vonesa (2000);
}
Përpiloni dhe ngarkoni në Arduino tuaj.
Tani sigurohuni që të lidhni gjithçka në mënyrë korrekte! Shihni hapin tjetër për instalime elektrike.
Hapi 6: Instalimet elektrike
Lidhni Arduino D3 me RaspberryPi GPIO18 (e cila në të vërtetë është pin 12)
Lidhni Arduino D4 me RaspberryPi GPIO23 (që në fakt është kunja 16)
Lidhni Arduino D4 me RaspberryPi GPIO24 (e cila në të vërtetë është pin 18)
Lidhni Arduino GND me RaspberryPi GND (pin 6)
Lidheni Arduino D8 me Stepper Controller In1
Lidhni Arduino D9 me Stepper Controller In2
Lidhni Arduino D10 me Stepper Controller In3
Lidhni Arduino D11 me Stepper Controller In4
Lidhni 5VDC me Arduino, Raspberry Pi dhe Controller Stepper
Hapi 7: Kjo është ajo
Shikoni videon dhe do të keni mbaruar!
Faleminderit dhe kënaquni!
Recommended:
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues !: 6 hapa
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues !: Në këtë udhëzues të shpejtë, ne do të bëjmë një kontrollues të thjeshtë të motorit stepper duke përdorur një motor stepper. Ky projekt nuk kërkon qark të ndërlikuar ose mikrokontrollues. Pra, pa zhurmë të mëtejshme, le të fillojmë
Stepper Motor i kontrolluar me motor Stepper pa mikrokontrollues (V2): 9 hapa (me fotografi)
Stepper Motor i kontrolluar Stepper Motor Pa Mikrokontrollues (V2): Në një nga udhëzimet e mia të mëparshme, ju tregova se si të kontrolloni një motor stepper duke përdorur një motor stepper pa një mikrokontrollues. Ishte një projekt i shpejtë dhe argëtues, por erdhi me dy probleme të cilat do të zgjidhen në këtë Udhëzues. Pra, me zgjuarsi
Komplet çelës DIY Remote Control nga 2262/2272 M4 Bread Board & Relay for Maker: 4 hapa (me fotografi)
Komplet çelës DIY Remote Control nga 2262/2272 M4 Bread Board & Relay for Maker: shtëpia e zgjuar po vjen në jetën tonë. nëse duam që shtëpia e zgjuar të bëhet e vërtetë, ne kemi nevojë për shumë ndërprerës të telekomandës. sot do të bëjmë një provë, bëjmë një qark të lehtë për të mësuar teorinë e kalimit të telekomandës. ky dizajn i kompletit nga SONONING ROBOT
Lokomotivë e Modelit të Kontrolluar me Stepper Motor - Stepper Motor si një kodues rrotullues: 11 hapa (me fotografi)
Lokomotivë e Modelit të Kontrolluar me Stepper Motor | Stepper Motor Si një Kodifikues Rotary: Në njërën prej udhëzimeve të mëparshme, ne mësuam se si të përdorim një motor stepper si një kodues rrotullues. Në këtë projekt, ne tani do të përdorim atë motor stepper kodues rrotullues të kthyer për të kontrolluar një lokomotivë model duke përdorur një mikrokontrollues Arduino. Pra, pa fu
Stepper Motor i kontrolluar Stepper Motor - Stepper Motor si një kodues rrotullues: 11 hapa (me fotografi)
Stepper Motor i kontrolluar Stepper Motor | Stepper Motor Si një kodues rrotullues: Keni disa motorë stepper të shtrirë përreth dhe doni të bëni diçka? Në këtë udhëzues, le të përdorim një motor stepper si një kodues rrotullues për të kontrolluar pozicionin e një motori tjetër stepper duke përdorur një mikrokontrollues Arduino. Pra, pa u zgjatur më tej, le të gjejmë