12v Dc motor tek buton ile yön kontrol sağlanması

Katılım
5 Eyl 2019
Mesajlar
8
Puanları
3
Yaş
27
Merhabalar,

Elimde bir adet 12v dc motor mevcut çift kontak röle ile 2 buton yardımıyla sağa sola dönüş yaptırabiliyorum.

Sorum şu bir buton ile yani butona bastığım da motor sağa dönecek bıraktığım da duracak tekrar butona bastığım da motor sola dönecek bıraktığım da duracak bu konu hakkında bilgi sahibi biri veya birileri yardım edebilirse sevinirim.
 

kesmez

Profesyonel Üye
Katılım
14 Ara 2006
Mesajlar
2,268
Puanları
408
Konum
ankara
böyle bir şeymi arıyorsunuz.
 
Konu Sah
C
Katılım
5 Eyl 2019
Mesajlar
8
Puanları
3
Yaş
27
böyle bir şeymi arıyorsunuz.
hayır hocam butona basılı tuttuğum da motor sağa dönecek bıraktığım da duracak tekrar bastığım da sola dönecek bıraktığım da duracak
 

kesmez

Profesyonel Üye
Katılım
14 Ara 2006
Mesajlar
2,268
Puanları
408
Konum
ankara
bu dediğiniz işlem, ucuz bir mcu ile yapılabilir. başka yolu varmı bilmiyorum.
 

kesmez

Profesyonel Üye
Katılım
14 Ara 2006
Mesajlar
2,268
Puanları
408
Konum
ankara
Eğer isterseniz belki ücreti karşılığında forumda yapan çıkar. ne istediğinizi motor akımını adedini net olarak yazın. isteyenler size özel mesaj atsınlar.
 

bolubeyi

Uzman Üye
Katılım
27 Eyl 2008
Mesajlar
753
Puanları
248
Konum
Trabzon
Aşağıdaki devre işinizi görür.

Fritzing devre şeması:


isis devre şeması:

Program kodları:

Kod:
// GIRISLER
int buton= A0;

// CIKISLAR
int ileri= 2;
int geri= 3;

// DEGISKENLER
int motor_durum=0;
int izin=0;

void setup()
{
  pinMode(ileri, OUTPUT);
  pinMode(geri, OUTPUT);
  pinMode(buton, INPUT);
}

void loop()
{
  if (digitalRead(buton)==LOW) {dur();}
  else
  {
    if (digitalRead(buton)==HIGH && motor_durum == 0) {ileri_don();}
    else if (digitalRead(buton)==HIGH && motor_durum == 1 && izin == 1) {geri_don();}
    else if (digitalRead(buton)==HIGH && motor_durum == 2 && izin == 1) {ileri_don();}
  }
}

void dur()
{
  digitalWrite(ileri, LOW);
  digitalWrite(geri, LOW);
  izin=1;
}

void ileri_don()
{
  digitalWrite(ileri, HIGH);
  digitalWrite(geri, LOW);
  motor_durum=1;
  izin=0;
}

void geri_don()
{
  digitalWrite(ileri, LOW);
  digitalWrite(geri, HIGH);
  motor_durum=2;
  izin=0;
}
 

Sponsor Bağlantı

Forum istatistikleri

Konular
105,984
Mesajlar
746,611
Kullanıcılar
393,877
Son üye
sameterdemir

Yeni konular

Üst