Arduino Kapanıp Açıldığın da Pin Açık Kalıyor

Katılım
5 Eyl 2019
Mesajlar
14
Puanları
1
Yaş
31
Herkese Merhaba;

Arduino ile bluetooth'la röle kontrol devresi kurdum uygulama üzerinden test ediyorum çalışmasında herhangi bir sorun yok fakat arduino'yu kapatıp açtığım da kullanmış olduğum çıkış pinim açık konum da başlıyor yani röle çekili kalıyor. Bu sorunu nasıl düzeltebilirim? Bilen Arkadaşlar Yardımcı olursa Sevinirim.

Kod:
int role=2;

void setup()
{
pinMode(role,OUTPUT);
Serial.begin(9600); 
}
void loop()
{
if(Serial.available())
{
int data = Serial.read();
Serial.println(data);

if(data==1) 
digitalWrite(role,HIGH);
if(data==0)     
digitalWrite(role,LOW);

}
}
 
Son düzenleme:
Şu şekilde olacağını tahmin ediyorum :

C++:
int roleUcu=2;

void setup()
{
    pinMode(roleUcu,OUTPUT);
    Serial.begin(9600);
    digitalWrite(roleUcu, LOW);
}

void loop()
{
    if(Serial.available() > 0)
    {
        int veri = Serial.read();
        Serial.print("Okuduğum değer: ");
        Serial.println(veri, DEC);
        if(veri==1)
            digitalWrite(roleUcu,HIGH);
        else if(veri==0)
            digitalWrite(roleUcu,LOW);
        else
            Serial.println("Başka bir şey oldu")
    }
}
 
programın başında pini kapatın.
Pin kapalıyken mi yükleyeyim kodları tam olarak anlayamadım
Şu şekilde olacağını tahmin ediyorum :

C++:
int roleUcu=2;

void setup()
{
    pinMode(roleUcu,OUTPUT);
    Serial.begin(9600);
    digitalWrite(roleUcu, LOW);
}

void loop()
{
    if(Serial.available() > 0)
    {
        int veri = Serial.read();
        Serial.print("Okuduğum değer: ");
        Serial.println(veri, DEC);
        if(veri==1)
            digitalWrite(roleUcu,HIGH);
        else if(veri==0)
            digitalWrite(roleUcu,LOW);
        else
            Serial.println("Başka bir şey oldu")
    }
}
Deneyip yazacağım. Yorumunuz için teşekkürler
 
programın başında pini kapatın.
Arkadaş şunu demek istemiş yani rölelerde kod şöyle olur;
C++:
 #define rolePin 8 // Röle pinini 8 olarak tanımlıyoruz;

void setup(){
pinMode(rolePin, OUTPUT); // Çıkış olduğunu belirtiyoruz.
Serial.begin(9600); //Seri haberleşmeyi başlatıyoruz.
digitalWrite(rolePin, HIGH); // Rölelerde Mantık tam tersi olduğundan  HIGH'ta kapanır LOW'da  açılır bu şekilde başlangıçta kapatabiliriz diğer kodlarınıda void loop'a koyabilirsin.
}

void loop(){
}

Bu şekilde yorum satırlarından okuyarak yapabilirsin
 
Arkadaş şunu demek istemiş yani rölelerde kod şöyle olur;
C++:
 #define rolePin 8 // Röle pinini 8 olarak tanımlıyoruz;

void setup(){
pinMode(rolePin, OUTPUT); // Çıkış olduğunu belirtiyoruz.
Serial.begin(9600); //Seri haberleşmeyi başlatıyoruz.
digitalWrite(rolePin, HIGH); // Rölelerde Mantık tam tersi olduğundan  HIGH'ta kapanır LOW'da  açılır bu şekilde başlangıçta kapatabiliriz diğer kodlarınıda void loop'a koyabilirsin.
}

void loop(){
}

Bu şekilde yorum satırlarından okuyarak yapabilirsin
Bu şekilde sorunum çözüldü. Yardım eden arkadaşların elleri dert görmesin.Çok Teşekkür ederim
 

Forum istatistikleri

Konular
128,179
Mesajlar
915,650
Kullanıcılar
449,940
Son üye
yavuzturan

Yeni konular

Geri
Üst