دا ټیوټوریل برخه ده له: درس 107 28BYJ-48 سټیپر 8 پروژې
دا ویډیو 8 پروژې لري. هر پروژه جلا کوډ لري. د نورو ویډیوګانو لینکونه د دې مقالې لاندې دي.
لومړی ۱۰۷-۴: د ۲۸BYJ-۴۸ سټیپر موټر کنټرول د دوو پش بټنونو په کارولو سره، CW، CCW (په فشار سره وساتئ)، STPB-۲
پروژه ۴: تڼۍ کشول تر روانېدو پورې د STPB-2 او 28BYJ-48 سټیپر موټور په کارولو سره
دا مقاله د ۸ ښوونیزو لارښودونو په لړۍ کې څلورم پروژه پوښي چې د 28BYJ-48 سټیپر موټور د Arduino سره کنټرولولو په اړه ده. په دې پروژه کې، سټیپر موټور د STPB-2 په نوم تڼۍ په کارولو سره کنټرول کیږي. د تیر پروژې برعکس چې یو ځل فشار ورکول یو بشپړ ګرځید رامینځته کړ، دا ترتیب موټور ته اجازه ورکوي چې یوازې هغه وخت وګرځي چې تڼۍ کشول شوې وي.
د دې پروژې ټول سرچینه کوډ او د تارونو ډیاګرامونه د مقالې لاندې شتون لري.
📘 پیژندنه
دا پروژه د یوې لنډمهاله تڼۍ په کارولو سره د موټور دوامداره کنټرول میکانیزم ښیې. کله چې کاروونکی تڼۍ کشولې وي، موټور په دوامداره توګه مخکې ګامونه اخلي. په هماغه شیبه کې چې تڼۍ خوشې شي، موټور ودریږي. دا طریقه د صنعتي ماشینونو او ازموینې وسایلو کې د جوګ کنټرول لپاره عامه ده.
⚙️ د تارونو ډیاګرام
د سټیپر موټور او ULN2003 تارونه هماغسې پاتې دي. تڼۍ په لاندې ډول وصل ده:
-
د STPB-2 تڼۍ یو ترمینل → د Arduino پین ۲
-
بل ترمینل → GND
-
داخلي پل-اپ ریزسټر د کوډ له لارې فعال شوی دی
سرلیک: د پروژې ۴ تارونه: د موټور کنټرول د دوامداره حرکت سره پداسې حال کې چې STPB-2 فشارول شوې وي.
💻 د کوډ تشریح
دا کوډ ترتیب د تڼۍ حالت په دوامداره توګه ګوري او موټور یو په یو ګام حرکت کوي پداسې حال کې چې تڼۍ فشارول شوې وي.
-
کتابتون او پینونه پیل کول:
#include <Stepper.h>
const int stepsPerRevolution = 2048;
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);
const int buttonPin = 2;
-
د Setup فنکشن:
void setup() {
myStepper.setSpeed(10);
pinMode(buttonPin, INPUT_PULLUP);
Serial.begin(9600);
}
-
د Loop فنکشن د دوامداره حرکت سره:
void loop() {
if (digitalRead(buttonPin) == LOW) {
myStepper.step(1); // یو ګام په هر ځل
}
}
-
موټور په هر لوپ دوره کې یو ګام حرکت کوي پداسې حال کې چې تڼۍ کشول شوې وي.
-
د تڼۍ خوشې کول سمدلاسه حرکت ودروي.
دا د ګام په ګام یا نرم دوامداره حرکت لپاره دقیق لاسي کنټرول ورکوي.
🎬 د بشپړ ویډیو څخه وختونه
د دې پروژې لپاره د ویډیو لاندې برخو ته مراجعه وکړئ:
-
41:07 – پروژه ۴: پیژندنه
-
42:29 – پروژه ۴: تارونه
-
45:31 – پروژه ۴: کوډ
-
49:38 – پروژه ۴: ننداره
📁 د ډاونلوډ برخه
تاسو به د دې پروژې لپاره بشپړ کوډ او د تارونو ډیاګرامونه لاندې ومومئ. دا ډیزاین په ځانګړي توګه د لاسي ماشین جوګینګ یا دوامداره تغذیې غوښتنلیکونو لپاره ګټور دی.
بل [پروژه ۵: یو بشپړ ګرځید د STPB-3 سره پیل شوی] دی.
دا ټیوټوریل برخه ده له: درس 107 28BYJ-48 سټیپر 8 پروژې
- لومړی ۱۰۷-۱: د ۲۸BYJ-۴۸ سټیپر موټور پیل او بند کړئ چې لار یې په کوډ کې ټاکل شوې ده
- لومړی ۱۰۷-۲: د ۲۸BYJ-۴۸ سټیپر موټر کنټرول د سیریل مانیټر له لارې
- لومړی ۱۰۷-۳: د ۲۸BYJ-۴۸ سټیپر موټر کنټرول د دریو پش بټنونو په کارولو سره: CW، CCW، او Stop (STPB-1)
- درس ۱۰۷-۵: موتور ۲۸BYJ-۴۸ را برای یک دور کامل در جهت عقربههای ساعت یا خلاف جهت عقربههای ساعت بفرستید، STPB-3
- لومړی ۱۰۷-۶: د ۲۸BYJ-۴۸ سټیپر موټر کنټرول د دریو پش بټنونو په کارولو سره، د زاویې او سرعت سره STPB-۴
- لومړی ۱۰۷-۷: د ۲۸BYJ-۴۸ سټیپر موټور لیږل هرې زاویې ته د تعریف شویو STPB-۵ پش بټنونو سره
- لومړی ۱۰۷-۸: د ۲۸BYJ-۴۸ سټیپر موټور سرعت د پوټینشیومیټر په کارولو سره کنټرول کول
/*
* Lesson 107-4: Controlling a stepper motor using 2 push buttons STPB-2.
STPB-2: We control a stepper motor using two push buttons. One push button rotates the motor clockwise (CW), and the other rotates it counter-clockwise (CCW). Keys must be kept pressed.
In this lesson, we learn how to use a mini stepper motor 28BYJ-48 for our project. I am presenting 8 projects so you can use it in almost any application. In the video, I have explained the code, shown the full wiring diagram, and shown how to connect the wires, push buttons, and breadboard.
Project 1: Running motor
Project 2: Controlling stepper motor from Serial Monitor
Project 3: Controlling stepper motor using push button STPB-1
Project 4: Controlling using push button STPB-2 keep pressing (this code)
Project 5: One Revolution using push button STPB-3
Project 6: Push button: Any Angle and speed STPB-4
Project 7: Using multiple buttons for any angle: STPB-5 (angle, speed and direction)
Project 8: Controlling stepper motor using potentiometer
* Watch Video instruction for this code: https://youtu.be/TQ7R2bY-MWU
*
* This code is part of the Arduino Step by Step Course, which starts here: https://youtu.be/-6qSrDUA5a8
*
* For the library for this code, visit http://robojax.com/
*
If you found this tutorial helpful, please support me so I can continue creating
content like this. Make a donation using PayPal or a credit card: https://bit.ly/donate-robojax
* Written by Ahmad Shamshiri for Robojax Robojax.com
* on Feb 20, 2019 at 19:34 in Ajax, Ontario, Canada
* * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.*
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int Pin1 = 10;//IN1 is connected to 10
int Pin2 = 11;//IN2 is connected to 11
int Pin3 = 12;//IN3 is connected to 12
int Pin4 = 13;//IN4 is connected to 13
int switchCW =2;//define input pin for CW push button
int switchCCW =3;//define input pin for CCW push button
int pole1[] ={0,0,0,0, 0,1,1,1, 0};//pole1, 8 step values
int pole2[] ={0,0,0,1, 1,1,0,0, 0};//pole2, 8 step values
int pole3[] ={0,1,1,1, 0,0,0,0, 0};//pole3, 8 step values
int pole4[] ={1,1,0,0, 0,0,0,1, 0};//pole4, 8 step values
int poleStep = 0;
int dirStatus = 3;// stores direction status 3= stop (do not change)
void setup()
{
pinMode(Pin1, OUTPUT);//define pin for ULN2003 in1
pinMode(Pin2, OUTPUT);//define pin for ULN2003 in2
pinMode(Pin3, OUTPUT);//define pin for ULN2003 in3
pinMode(Pin4, OUTPUT);//define pin for ULN2003 in4
pinMode(switchCW,INPUT_PULLUP);
pinMode(switchCCW,INPUT_PULLUP);
}
void loop()
{
if(digitalRead(switchCCW) == LOW)
{
dirStatus =1;
}else if(digitalRead(switchCW) == LOW)
{
dirStatus = 2;
}else
{
dirStatus =3;
}
if(dirStatus ==1){
poleStep++;
driveStepper(poleStep);
}else if(dirStatus ==2){
poleStep--;
driveStepper(poleStep);
}else{
driveStepper(8);
}
if(poleStep>7){
poleStep=0;
}
if(poleStep<0){
poleStep=7;
}
delay(1);
}// loop
/*
* @brief sends signal to the motor
* @param "c" is an integer representing the pole of the motor
* @return does not return anything
*
* www.Robojax.com code June 2019
*/
void driveStepper(int c)
{
digitalWrite(Pin1, pole1[c]);
digitalWrite(Pin2, pole2[c]);
digitalWrite(Pin3, pole3[c]);
digitalWrite(Pin4, pole4[c]);
}//driveStepper end here
هغه شیان چې تاسو ورته اړتیا لرئ
-
امازون
-
امازون
-
علی ایکسپریسPurchase 5 pcs 28BYJ-48 stepper motors from AliExpresss.click.aliexpress.com
سرچینې او حوالې
-
بهرنی
-
بهرنی
-
بهرنی
فایلونه📁
Fritzing فایل
-
28BYJ-48 Stepper Motor
28BYJ-48 Stepper Motor.fzpz0.01 MB