Arduino su motoru çalışmıyor

Exedra17

Femtopat
Katılım
20 Eylül 2023
Mesajlar
3
Daha fazla  
Cinsiyet
Erkek
Arduino ile bir proje yapmam gerekiyor çok fazla anlamıyorum elimde 6vluk su motoru nem ölçer var Arduino kartına su motorunu 5V ve gnd pinlerine bağladığımda motor çalışıyor fakat 5V pinini alıp 2 numaralı veya başka numaralı bir pine takınca çalışmıyor yazılımsal mı donanımsal mı sorun anlamadım nasıl çözebilirim bunu?

Kod:
İnt motor = 4;
İnt sensor = a0;
İnt veri;
Void setup() {
 Pinmode(sensor, ınput);
 Pinmode(motor, output);
 Serial. Begin(9600);
}
Void loop() {
 Veri = analogread(sensor);
 Serial. Println(veri);
 İf(veri > 600){
 Digitalwrite(motor, hıgh);
 Delay(3000);
 Digitalwrite(motor, Low);
 Delay(3000);
 Veri = analogread(sensor);
 }
 Else{
 Digitalwrite(motor, Low);
 Delay(3000);
 }
}

Kod da burada mevcut.
 
Motoru 4 numaralı pine bağladığınızda çalışması lazım. Fakat bir röle, motor sürücü veya transistör kullanmanızı öneririm, çünkü çoğu motorlar arduinonun verebileceği max akımdan daha fazla akım çekmeye çalışırlar ve bu arduinonuza zarar verebilir.
 
Motoru 4 numaralı pine bağladığınızda çalışması lazım. Fakat bir röle, motor sürücü veya transistör kullanmanızı öneririm, çünkü çoğu motorlar arduinonun verebileceği max akımdan daha fazla akım çekmeye çalışırlar ve bu arduinonuza zarar verebilir.
Yarın gidip role satın alacağım sanırım ama dediğim gibi kodlarda yazdığı şekilde 4 numaralı pine bağlayınca çalışmıyor başka pinleri de denedim yine aynı sonuç
 
Yarın gidip role satın alacağım sanırım ama dediğim gibi kodlarda yazdığı şekilde 4 numaralı pine bağlayınca çalışmıyor başka pinleri de denedim yine aynı sonuç

Dijital (veya analog) çıkış pinleri maksimum 40mA sağlayabilirken 5V çıkış PIN'i regülatörden geldiği için 1 amper verebiliyormuş. Motorunuzun çalışmama sebebi yeteri kadar amper çekememesidir ve dijital çıkış pinlerinden 40mAden fazla amper çekmeniz Arduino'nun bozulmasına sebep olabilir. Röle aldıktan sonra sorununuz çözülür.
 
Dijital (veya analog) çıkış pinleri maksimum 40mA sağlayabilirken 5V çıkış PIN'i regülatörden geldiği için 1 amper verebiliyormuş. Motorunuzun çalışmama sebebi yeteri kadar amper çekememesidir ve dijital çıkış pinlerinden 40mAden fazla amper çekmeniz Arduino'nun bozulmasına sebep olabilir. Röle aldıktan sonra sorununuz çözülür.
Teşekkür ederim yarın bir alıp tekrardan yazayım olmazsa bu konu altına
 
Teşekkür ederim yarın bir alıp tekrardan yazayım olmazsa bu konu altına.

Else kısmındaki delay fazlalık olmuş kodu yavaşlatıyor onu silmelisiniz.

Sorunun o olduğunu sanmıyorum ama dediğim gibi kodu yavaşlatıyor hem de gereksiz olmuş onu silmeniz iyi olur.

Röleyi aldıktan sonra kodda çok bir değişiklik olmayacak ama sizin için biraz derledim ve şema çıkardım.

C++:
#define ROLE 4 // röle değişkenine 4 değerini ata.
#define SENSOR A0 // sensör değişkenine A0 değerini ata.

int value; // value adında bir değişken oluştur.

void setup() {

 pinMode(ROLE, OUTPUT); // röle değişkeni çıkış olarak atandı.
 pinMode(SENSOR, INPUT); // sensör değişkeni giriş olarak atandı.
}

void loop() {

 value = analogRead(SENSOR); // sensörden gelen veri value değişkenine atandı.

 if (value > 600) { // value 600'den büyük ise.

 pinMode(ROLE, HIGH); // röleye güç ver.
 delay(3000); // 3 saniye bekle.
 pinMode(ROLE, LOW); // rölenin gücünü kes.
 delay(3000); // 3 saniye bekle.
 value = analogRead(SENSOR); // value değişkenine sensörü tekrar ata (olası değer değişimlerinin fark edilmesi için, nedeni delay fonksiyonu)
 }

 else { // value 600'den büyük değilse.
 pinMode(ROLE, LOW); // röle gücünü kes.
 }
}

relay.jpg


Şemadan kafanız karışabilir siz devrenin aynısını kurun rölenin com kısmına motora güç verecek kaynağın bir kablosunu bağlayın, diğer kablosunu motora bağlayın ve motorun diğer kablosunu da nc (normally closed) yazan yere takın.

4 numaralı pinden gelen kabloyu rölenin sinyal pinine takın ve rölenin güç bağlantılarını yapın.

Kodda hata varsa belirtin yardımcı olmaya çalışırım.
 
Son düzenleme:

Yeni konular

Geri
Yukarı