სტეპერ ძრავის მართვის სხვა ქინძისთავის ძირითადი საჭიროებები არის გრავირების მანქანაში, ან 3Dროდესაც პრინტერი გამოიყენებოდა, აქ არ ვაკეთებთ დეტალურს, IO შეესაბამება ზემოთ მოცემულ ფიგურას.
გაფართოების დაფა UNO ----------------------
8 ------------------------ EN (სტეპერ ძრავის ჩართვა, აქტიური დაბალი)
7----------------------- ზ.დი. (Z-ღერძის მიმართულების კონტროლი)
6----------------------- Y.DIR (Y-ღერძის მიმართულების კონტროლი)
5----------------------- X.DIR (X ღერძის მიმართულების კონტროლი)
4 ---------------------- ზ.სტეპი (Z-ღერძის სტეპერ კონტროლი)
3 ---------------------- Y.STEP (Y-ღერძის სტეპერ კონტროლი)
2 ---------------------- X.STEP (X-ღერძის სტეპერ კონტროლი)
// აქ არის სტეპერ ძრავის კონტროლის მარტივი პროცედურები,
#define EN 8 // სტეპერ ძრავის ჩართვა, აქტიური დაბალი
#define X_DIR 5 // X ღერძის სტეპერ ძრავის მიმართულების კონტროლი
#define Y_DIR 6 // y-ღერძი სტეპერ ძრავის მიმართულების კონტროლი
#define Z_DIR 7 // z-ღერძის სტეპერ ძრავის მიმართულების კონტროლი
#define X_STP 2 // x-ღერძის სტეპერ კონტროლი
#define Y_STP 3 // y-ღერძის სტეპერ კონტროლი
#define Z_STP 4 // z-ღერძის სტეპერ კონტროლი
/ *
// ფუნქცია: ნაბიჯის ფუნქცია: აკონტროლოთ სტეპერ ძრავის მიმართულება, ნაბიჯების რაოდენობა.
// პარამეტრები: dir მიმართულების კონტროლი, dirPin DIR პინი სტეპერ ძრავის შესაბამისი, stepperPin საფეხურიანი პინი სტეპერ ძრავის შესაბამისი, რამდენიმე ნაბიჯის გადადგმა
// დაბრუნების მნიშვნელობა არ არის
*/
ბათილი ნაბიჯი (ლოგიკური dir, ბაიტი dirPin, ბაიტი სტეპერპინი, int ნაბიჯები)
{
ციფრული ჩაწერა (dirPin, რეჟ);
დაგვიანებით (50);
ამისთვის (int i = 0; მე
ციფრული ჩაწერა (სტეპერპინი, მაღალი);
დაყოვნება მიკროწამში (800);
ციფრული ჩაწერა (სტეპერპინი, დაბალი);
დაყოვნება მიკროწამში (800);
}
}
ბათილად დაყენება () {// IO პინში გამოყენებული საფეხურიანი ძრავა დაყენებულია გამოსავალზე
pinMode (X_DIR, OUTPUT); pinMode (X_STP, OUTPUT);
pinMode (Y_DIR, OUTPUT); pinMode (Y_STP, OUTPUT);
pinMode (Z_DIR, OUTPUT); pinMode (Z_STP, OUTPUT);
pinMode (EN, OUTPUT);
ციფრული ჩაწერა (EN, დაბალი);
}
ბათილი მარყუჟი () {
ნაბიჯი (false, X_DIR, X_STP, 200); // X ღერძის ძრავის შებრუნების წრე, 200 ნაბიჯი წრეზე
ნაბიჯი (false, Y_DIR, Y_STP, 200); // y-ღერძი ძრავის შებრუნების წრე, 200 ნაბიჯი წრეზე
ნაბიჯი (false, Z_DIR, Z_STP, 200); // z-ღერძის ძრავის შებრუნების წრე, 200 ნაბიჯი წრეზე
დაგვიანებით (1000);
ნაბიჯი (true, X_DIR, X_STP, 200); // X-ღერძის ძრავა გადატანილია წრეში, 200 ნაბიჯი წრეში
ნაბიჯი (მართალია, Y_DIR, Y_STP, 200); // y-ღერძის ძრავა გადატანილია წრეში, 200 ნაბიჯი წრეზე
ნაბიჯი (true, Z_DIR, Z_STP, 200); // z-ღერძის ძრავა გადატანილია წრეში, 200 ნაბიჯი წრეზე
დაგვიანებით (1000);
}