Arduino Karakter Sorunu

  • Konuyu başlatan Konuyu başlatan Gokrtl
  • Başlama tarihi Başlama tarihi

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
12,920
Bir arkadaşın ödevinde yardımcı olmaya çalışıyorum.
Aşağıdaki kodda çıkış 1'i aktif etmek istiyorum ama çıkış açılmıyor.

Eğer "char" yerine "int" kullanırsam serial monitörden "1" gönderdiğimde if içinde hex karşılığı olan 49'a eşitlersem if(input_1 == 49) çıkışı açıyor.
Ama "char" tanımlayıp "1" girince ve if(input_1 == 1) ile kontrol edince çıkışı açmıyor. Bu char da bir iş var ama anlamadım.

Kod:
#define cikis_1 6 // 6 nolu pini çıkış 1 olarak adlandırdık.
#define cikis_2 8 // 8 nolu pini çıkış 2 olarak adlandırdık.


void setup() {
  Serial.begin(9600); // Seri haberleşmeyi başlattık

  pinMode(cikis_1,OUTPUT); // çıkış 1 pinini çıkış olarak tanımladık.
  pinMode(cikis_2,OUTPUT); // çıkış 2 pinini çıkış olarak tanımladık.
  digitalWrite(cikis_1,LOW);
  digitalWrite(cikis_2,LOW);
}

void loop() {
  if (Serial.available() > 0) { // Eğer serial monitörden gelen bir değer var ise işlem yap
    
    char input_1 = Serial.read(); // Serial monitörden gelen değeri oku ve input_1 değişkeni içine yaz.
    Serial.println(input1);
    
    if (input_1 == 1) { // Eğer input_1 değişkeni içinde 1 var ise if içindeki komutları uygula.
      digitalWrite(cikis_1,HIGH); // Çıkış bir açık.
      /*delay(15000); // 15sn bekle
      Serial.println("Çıkış 1 5 Saniye Sonra Kapanacak"); // Uyarı yazısı
      delay(1000); // 1 saniyelik bekleme
      delay(4000); // yukarıdaki 1 saniye ile birlikte 5sn bekle (Daha yukarıdaki 15sn bekleme ile toplam 20sn tamamlandı.
      digitalWrite(cikis_1,LOW); // Çıkış 1'i kapat*/
    }
  }
}
 
Şöyle dene:

Kod:
char c = Serial.read();

if (c == '1')
{
    birdir_o();
}
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
8,886
Mesajlar
144,444
Üyeler
3,570
Son üye
mg1980

Son kaynaklar

Back
Top