Arduino ile bir asenkron motorun Yıldız Üçgen çalışmasını sağlamaya yönelik bir çalışmadır. İnternet üzerinde arduino ile robotik veya görsel uygulamalar çokça yer almaktadır. Ancak sanayi uygulamalarına yönelik çalışmalar çok bulunmamaktadır. Bu çalışmanın tüm meraklılara yardımcı olmasını dilerim.
Arduino Kodları:
const int stopbutonu = 5;
const int startbutonu = 6;
const int m = 9;
const int mled = 4;
const int yildiz = 7;
const int ucgen = 8;
const int yildizled = 2;
const int ucgenled = 3;
#define potPin A0
int startbutonudurum;
int stopbutonudurum;
int yildizdurum;
int deger;
void setup() {
pinMode(potPin, INPUT);
pinMode(stopbutonu, INPUT);
pinMode(startbutonu, INPUT);
pinMode(yildiz, OUTPUT);
pinMode(ucgen, OUTPUT);
pinMode(yildizled, OUTPUT);
pinMode(ucgenled, OUTPUT);
pinMode(m, OUTPUT);
pinMode(mled, OUTPUT);
}
void loop() {
deger = analogRead(potPin);
deger = map(deger, 0, 1023, 0, 10000);
startbutonudurum = digitalRead(startbutonu);
stopbutonudurum = digitalRead(stopbutonu);
digitalWrite(m, HIGH);
digitalWrite(yildiz, HIGH);
digitalWrite(ucgen, HIGH);
digitalWrite(mled, LOW);
digitalWrite(yildizled, LOW);
digitalWrite(ucgenled, LOW);
while (startbutonudurum == HIGH && stopbutonudurum == LOW) {
digitalWrite(m, LOW);
digitalWrite(mled, HIGH);
digitalWrite(yildiz, LOW);
digitalWrite(yildizled, HIGH);
delay(deger);
digitalWrite(yildiz, HIGH);
digitalWrite(yildizled, LOW);
yildizdurum = digitalRead(yildiz);
stopbutonudurum = digitalRead(stopbutonu);
while (yildizdurum == HIGH && stopbutonudurum == LOW) {
digitalWrite(ucgen, LOW);
digitalWrite(ucgenled, HIGH);
stopbutonudurum = digitalRead(stopbutonu);
}
}
}
Fritzing Çizimi:
Yukarıda verdiğim devre pot eklenmesi dışında çalıştırılmış bir devredir. Hiç sorunsuz çalışmaktadır. Arkadaşlarımın zaman ayarını da dışarıdan yap demeleri üzerine pot ekledim. Pot ile çalıştırmadım.