Orodha ya maudhui:
- Hatua ya 1: Kuunda Programu kwenye Simu yako
- Hatua ya 2: Kuandaa PI tayari
- Hatua ya 3: Kuunda Mradi Wako
- Hatua ya 4: MyProject.js
- Hatua ya 5: MyProject katika Arduino
- Hatua ya 6: Wiring
- Hatua ya 7: Hiyo ndio
Video: Raspberry PI & Arduino - Udhibiti wa Stepper ya Blynk: Hatua 7 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:54
Mafunzo haya yatakuonyesha jinsi ya kudhibiti motor stepper na Arduino, Raspberry Pi na Maombi ya Blynk.
Katika ganda la nati, programu hutuma maombi kwa Raspberry Pi kupitia Pini za Virtual, Pi kisha hutuma ishara ya JUU / LOW kwa Arduino na Arduino kisha inashughulika na motor stepper.
Nadhani ni rahisi kutumia njia hiyo kwani watu wengi hutumiwa kufanya kazi na Arduino na sio sana na node.js kwenye Raspberry Pi.
Vipengele vinahitajika kwa hili:
- Raspberry PI (ninatumia mfano wa Raspberry Pi 3 b)
- Arduino (ninatumia Arduino Nano)
- Servo Motor (ninatumia 28BYJ-48 5VDC na mdhibiti wake)
- Baadhi ya waya za kuruka
- Chanzo cha nguvu (5VDC 2A.)
Mchoro wa Arduino na nambari ya Node.js inapatikana kupakua. Angalia tu faili.
Hatua ya 1: Kuunda Programu kwenye Simu yako
Pakua Blynk kutoka AppStore au GooglePlay
Fungua App na unda mtumiaji au Ingia na facebook.
- Unda mradi mpya
Taja mradi wako: MyProject
Chagua Kifaa: Rasapberry Pi 3 B
Aina ya Uunganisho: Wifi (au Ethernet ikiwa Pi yako ina waya kwenye mtandao wako)
- Bonyeza Unda
Angalia barua pepe yako kwa Ishara yako
(inaonekana kama hii 3aa19bb8a9e64c90af11e3f6b0595b3c)
Ishara hii imefungwa na programu yako ya sasa. Ukifanya programu nyingine, utazalisha ishara nyingine.
Katika App ongeza vilivyoandikwa vifuatavyo (angalia picha)
- Ongeza vifungo 3
- Ongeza 1 LCD
- Hariri kitufe
jina la kwanza Command1, weka Pin kama Virtual Pin 1 na uweke Mode kama SWITCH
jina la pili CW, weka Pin kama Virtual Pin 2 na uweke Mode kama PUSH
taja CCW ya tatu, weka Pini kama Pini ya Virtual 3 na uweke Modi kama PUSH
- Hariri LCD
weka pini kama Pini ya Virtual 4 na Pini ya Virtual 5 na uweke Njia ya PUSH
Hatua ya 2: Kuandaa PI tayari
Kwanza, unahitaji kusanikisha Node.js Kabla ya kusasisha Node.js, tafadhali hakikisha uondoe matoleo ya zamani:
Fungua Kituo na andika
Sudo apt-pata nodejs ya kusafisha
node.js -sudo apt-kupata autoremove
Ufungaji wa Node.js moja kwa moja Ongeza hazina:
curl -sL https://deb.nodesource.com/setup_6.x | Sudo -E bash -
Sakinisha Node
Sudo apt-pata sasisho && sudo apt-pata sasisho
Sudo apt-get install nodejs muhimu -y
Mara Node.js ikiwa imewekwa, Sakinisha Blynk
Sudo npm kufunga blynk-maktaba -g
Sudo npm kufunga onoff -g
Hatua ya 3: Kuunda Mradi Wako
Anza kwa kubadilisha saraka (cd amri) kwa saraka ya pi
Fungua Kituo na andika:
cd / nyumbani / pi /
Kisha, tengeneza saraka ambapo mradi wako utakaa
mkdir MyProject
Badilisha saraka kuwa MyProject, andika zifuatazo kwenye Kituo
cd MyProject
Angalia yaliyomo kwenye saraka (inapaswa kuwa tupu). Andika tu zifuatazo kwenye Kituo
ls
Ifuatayo, andika zifuatazo ili kuunda maelezo ya mradi wako (package.json)
npm init
Andika tu jina la mradi, mwandishi, toleo, nk.
Mara hii ikimaliza, weka maktaba ya Blynk, maktaba ya onoff na maktaba ya kulala-mfumo kwenye saraka yako ya mradi. Andika zifuatazo kwenye Kituo chako
npm sakinisha maktaba ya blynk - save
npm kufunga onoff - kuokoa
npm kufunga mfumo-lala - salama
Mwishowe, tengeneza faili yako ya.js (Hii itakuwa mahali ambapo nambari yako itakaa). Andika zifuatazo kwenye Kituo
nano MyProject.js
Mara tu utakapofanya amri hiyo, nano (mhariri wa maandishi ya terminal) itafunguliwa.
Hatua ya 4: MyProject.js
Katika nano, andika mistari ifuatayo ya nambari
var Blynk = zinahitaji ('blynk-library');
var AUTH = '******************'; HII NDIO YAKO
var blynk = mpya Blynk. Blynk (AUTH);
var Gpio = zinahitaji ('onoff'). Gpio,
amri1 = Gpio mpya (18, 'nje'), // Itaunganishwa na Arduino D2
commandCW = Gpio mpya (23, 'nje'), // Itaunganishwa na Arduino D3
amriCCW = Gpio mpya (24, 'nje'); // Itaunganishwa na Arduino D4
var sleep = zinahitaji ('system-sleep');
var v1 = blynk mpya. VirtualPin (1); // hii ni kifungo chako cha Command1 katika programu
var v2 = blynk mpya. VirtualPin (2); // hii ni kifungo chako cha CW katika programu
var v3 = blynk mpya. VirtualPin (3); // hii ni kifungo chako cha CCW katika programu
var v4 = blynk mpya. VirtualPin (4); // hii ni mstari wako wa LCD 1 katika programu
var v5 = blynk mpya. VirtualPin (5); // hii ni mstari wako wa LCD 2 katika programu
v1.on ('andika', fanya kazi (param) // Angalia kitufe cha Command1 katika programu
{
ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo
{
v4. andika ("Utekelezaji"); // Andika "Utekelezaji" kwenye mstari wa kwanza wa LCD
v5. andika ("Amri"); // Andika "Amri" kwenye mstari wa pili wa LCD
amri1.writeSync (1); // Weka GPIO18 (ambayo ni amri ya kutofautisha1) hadi 1 (JUU)
kulala (4000); // Subiri kwa sekunde 4
amri1.writeSync (0); // Weka GPIO18 (ambayo ni amri inayobadilika1) hadi 0 (LOW)
v4. andika ("Imefanywa"); // Andika "Imefanywa" kwenye mstari wa kwanza wa LCD
v5. andika (""); // Andika "" (hakuna chochote) kwenye mstari wa pili wa LCD
v1. andika (0); // Andika 0 kwa kitufe chako cha Command1, ambacho kitaiweka tena kwenye nafasi ya OFF
}
});
v2.on ('andika', fanya kazi (param) // Angalia kitufe cha CW katika programu
{
ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo
{
amriCW.writeSync (1); // Weka GPIO23 (ambayo ni amri ya kutofautishaCW) hadi 1 (JUU)
}
vinginevyo ikiwa (param == 0) // Ikiwa kitufe hakikubanwa (ambacho ni 0) basi fanya zifuatazo
{
commadCW.writeSync (0); // Weka GPIO23 (ambayo ni amri ya kutofautishaCW) hadi 0 (LOW)
}
});
v3.on ('andika', fanya kazi (param) // Angalia kitufe cha CCW katika programu
{
ikiwa (param == 1) // Ikiwa kifungo kimesisitizwa (ambayo ni 1) basi fanya zifuatazo
{
amriCCW.writeSync (1); // Weka GPIO24 (ambayo ni amri tofauti CCW) hadi 1 (JUU)
}
vinginevyo ikiwa (param == 0) // Ikiwa kitufe hakikubanwa (ambacho ni 0) basi fanya zifuatazo
{
amriCCW.writeSync (0); // Weka GPIO24 (ambayo ni amri tofauti CCW) hadi 1 (JUU)
}
});
Hifadhi na utoke nano
- kuokoa CTRL + O
- kuacha CTRL + X
Umemaliza na Raspberry Pi.
Sasa jaribu ili uone ikiwa kuna makosa ya aina yoyote (mara nyingi ni makosa ya Typo)
Ili kuijaribu, andika tu zifuatazo kwenye Kituo chako
nodi MyProject.js
Unapaswa kupata pato ambalo linaonekana kama hii
Hali ya OnOff
Kuunganisha kwa: blynk-cloud.com 8441
Uidhinishaji wa SSL…
Imeidhinishwa
Hatua ya 5: MyProject katika Arduino
Ok hivyo sasa tuna mambo 2/3 yamekamilika!
Sasa tunahitaji tu kuandika nambari kadhaa ya Arduino.
- Unda mchoro mpya wa Arduino na andika nambari ifuatayo.
# pamoja
#fafanua STEPS_PER_MOTOR_REVOLUTION 32
#fafanua STEPS_PER_OUTPUT_REVOLUTION 32 * 64 // 2048
// Viunganisho vya pini vinahitaji kuwa na pini 8, 9, 10, 11 zilizounganishwa
// kwa Dereva wa Magari In1, In2, In3, In4
// Kisha pini zimeingizwa hapa kwa mlolongo wa 1-3-2-4 kwa mpangilio mzuri
Stepper ndogo_stepper (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
int Steps2Take;
int Amri1;
int amriCW;
int amriCCW;
kuanzisha batili ()
{
pinMode (2, Pembejeo);
pinMode (3, INPUT);
pinMode (4, Pembejeo);
// (Stepper Library inaweka pini kama matokeo)
}
kitanzi batili ()
{
Amri1 = dijiti Soma (2);
CommandCW = dijitiSoma (3);
AmriCCW = soma ya dijiti (4);
ikiwa (Amri1 == 0)
{
// usifanye chochote
}
mwingine
{
UtekelezajiFunction ();
}
ikiwa (CommandCW == 1)
{
ndogo_stepper.setSpeed (700);
ndogo_stepper.step (-1);
kuchelewesha (1);
}
ikiwa (CommandCCW == 1)
{
ndogo_stepper.setSpeed (700);
hatua ndogo (1);
kuchelewesha (1);
}
}
Utekelezaji wa Kazi ()
{
Hatua2Chukua = STEPS_PER_OUTPUT_REVOLUTION / 4; // Zungusha CCW 1/4 zamu
ndogo_stepper.setSpeed (700);
ndogo_stepper.step (Hatua2Chukua); // Unaweza kubadilisha Steps2Take na thamani yoyote kati ya 0 na 2048
kuchelewesha (500);
Hatua2Chukua = - STEPS_PER_OUTPUT_REVOLUTION / 4; // Zungusha CW 1/4 zamu
ndogo_stepper.setSpeed (700);
ndogo_stepper.step (Hatua2Chukua); // Unaweza kubadilisha Steps2Take na thamani yoyote kati ya 0 na 2048
kuchelewa (2000);
}
Kukusanya na kupakia kwa Arduino yako.
Sasa hakikisha umeunganisha kila kitu kwa usahihi! Angalia hatua inayofuata ya wiring.
Hatua ya 6: Wiring
Unganisha Arduino D3 kwa RaspberryPi GPIO18 (ambayo kwa kweli ni pini 12)
Unganisha Arduino D4 kwa RaspberryPi GPIO23 (ambayo kwa kweli ni pini 16)
Unganisha Arduino D4 kwa RaspberryPi GPIO24 (ambayo kwa kweli ni pini 18)
Unganisha Arduino GND kwa RaspberryPi GND (pini 6)
Unganisha Arduino D8 kwa Mdhibiti wa Stepper In1
Unganisha Arduino D9 kwa Mdhibiti wa Stepper In2
Unganisha Arduino D10 kwa Mdhibiti wa Stepper In3
Unganisha Arduino D11 kwa Kidhibiti cha Stepper In4
Unganisha 5VDC kwa Arduino, Raspberry Pi na Kidhibiti cha Stepper
Hatua ya 7: Hiyo ndio
Angalia video, na unapaswa kumaliza!
Asante na ufurahie!
Ilipendekeza:
Jinsi: Kuweka Raspberry PI 4 isiyo na kichwa (VNC) na Rpi-picha na Picha: Hatua 7 (na Picha)
Jinsi: Kuweka Raspberry PI 4 isiyo na kichwa (VNC) Na picha ya Rpi na Picha: Ninapanga kutumia Rapsberry PI hii kwenye rundo la miradi ya kufurahisha nyuma kwenye blogi yangu. Jisikie huru kuiangalia. Nilitaka kurudi kutumia Raspberry PI yangu lakini sikuwa na Kinanda au Panya katika eneo langu jipya. Ilikuwa ni muda tangu nilipoweka Raspberry
Pikipiki ya Stepper Kudhibitiwa Pikipiki ya Stepper Bila Microcontroller !: 6 Hatua
Pikipiki ya Stepper inayodhibitiwa Pikipiki ya Stepper Bila Microcontroller!: Katika hii ya haraka inayoweza kuagizwa, tutafanya mtawala wa gari rahisi wa kutumia stepper. Mradi huu hauitaji mizunguko tata au mdhibiti mdogo. Kwa hivyo bila kuchelewesha zaidi, wacha tuanze
Pikipiki ya Stepper Inayodhibitiwa Pikipiki ya Stepper Bila Microcontroller (V2): Hatua 9 (na Picha)
Pikipiki ya Stepper Inayodhibitiwa Pikipiki ya Stepper Bila Microcontroller (V2): Katika mojawapo ya Maagizo yangu ya awali, nilikuonyesha jinsi ya kudhibiti motor stepper ukitumia motor ya stepper bila microcontroller. Ulikuwa mradi wa haraka na wa kufurahisha lakini ulikuja na shida mbili ambazo zitatatuliwa katika hii inayoweza kufundishwa. Kwa hivyo, soma
Gari la Stepper la Kudhibitiwa la Magari Stepper Motor Kama Encoder ya Rotary: Hatua 11 (na Picha)
Gari la Stepper la Kudhibitiwa la Magari Stepper Motor Kama Encoder ya Rotary: Katika moja ya Maagizo ya awali, tulijifunza jinsi ya kutumia motor stepper kama encoder ya rotary. Katika mradi huu, sasa tutatumia gari la stepper kugeuza encoder ya rotary kudhibiti locomotive ya mfano kwa kutumia microcontroller ya Arduino. Kwa hivyo, bila fu
Magari ya Stepper Kudhibitiwa Stepper Motor - Stepper Motor Kama Encoder ya Rotary: Hatua 11 (na Picha)
Magari ya Stepper Kudhibitiwa Stepper Motor | Motor ya Stepper Kama Encoder ya Rotary: Je! Una motors kadhaa za stepper wamelala karibu na wanataka kufanya kitu? Katika Agizo hili, wacha tutumie gari la kukanyaga kama kisimbuzi cha rotary kudhibiti nafasi nyingine ya gari la kukanyaga kwa kutumia mdhibiti mdogo wa Arduino. Kwa hivyo bila kuchelewesha zaidi, wacha tuangalie