istediğin şey böyle birşey mi ?
Arduino ile bu işlemi gerçekleştirmek için aşağıdaki kodu kullanabilirsiniz. Bu kod, LCD ekranı kullanarak talimatları ve girdileri gösterir ve ardından belirlediğiniz şartlara göre adım motorlarını kontrol eder.
#include <LiquidCrystal.h>
#include <Keypad.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // LCD pin bağlantıları
Keypad keypad = Keypad(makeKeymap("123A456B7890*#"), A0, A1, A2, A3); // Keypad pin bağlantıları
int tur = 0; // Tur sayısı
int adet = 0; // Adet sayısı
int turCounter = 0; // Tur sayacı
int adetCounter = 0; // Adet sayacı
int motorPin1 = 10; // 1. motorun sürücü pinleri
int motorPin2 = 11;
int motorPin3 = 12; // 2. motorun sürücü pinleri
int motorPin4 = 13;
void setup() {
lcd.begin(16, 2);
lcd.print("Merhaba");
delay(5000);
lcd.clear();
lcd.print("Tur sayisi girin");
}
void loop() {
char key = keypad.getKey();
if (key) {
if (key >= '0' && key <= '9') {
if (tur == 0) {
lcd.print(key);
tur = tur * 10 + (key - '0');
} else if (adet == 0) {
lcd.print(key);
adet = adet * 10 + (key - '0');
}
} else if (key == 'A') {
if (tur > 0 && adet > 0) {
lcd.clear();
lcd.print("Adet girin");
adetCounter = adet;
turCounter = tur;
tur = 0;
adet = 0;
}
} else if (key == 'B') {
if (adetCounter > 0) {
lcd.clear();
lcd.print("Islem basliyor");
for (int i = 0; i < turCounter; i++) {
// 1. motoru 8 defa döndür
for (int j = 0; j < 8; j++) {
stepMotor(motorPin1, motorPin2);
}
// 2. motoru 1 tur döndür
for (int j = 0; j < 200); j++) {
stepMotor(motorPin3, motorPin4);
}
}
adetCounter--;
if (adetCounter == 0) {
lcd.clear();
lcd.print("Islem tamamlandi");
} else {
lcd.clear();
lcd.print("Adet girin");
}
}
}
}
}
void stepMotor(int pin1, int pin2) {
int sequence[8] = {B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001};
for (int i = 0; i < 8; i++) {
int val = sequence[i];
digitalWrite(pin1, (val & 0x01) > 0 ? HIGH : LOW);
digitalWrite(pin2, (val & 0x02) > 0 ? HIGH : LOW);
delay(10);
}
}Bu kod, LCD ekranı ve Keypad'i kullanarak kullanıcının girdilerini alır ve ardından 1. motoru belirtilen koşullara göre kontrol eder. 2. motor her zaman bir tur döneceği için onun için ayrı bir işlem yapmanıza gerek yoktur.
Ayrıca, 1. motorun sürücü pinlerini motorPin1 ve motorPin2 olarak tanımladım. Bu pinleri bağlantılarınıza göre ayarlayabilirsiniz. 2. motorun sürücü pinlerini motorPin3 ve motorPin4 olarak tanımladım. Bu pinleri de bağlantılarınıza göre ayarlayabilirsiniz.
Bu kod, kullanıcının belirlediği tur ve adet sayısına göre 1. motoru kontrol eder ve istenen işlemi gerçekleştirir. Bağlantılarınızı kontrol edin ve gerekirse düzeltilmelidir. Bu kod, temel bir başlangıçtır ve ihtiyaçlarınıza göre özelleştirebilirsiniz.