Arduino Karakter Sorunu

Gokrtl

Gökhan Kartal (TeknoDay)
Staff member
Katılım
27 Şubat 2019
Mesajlar
11,209
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.

C:
#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:

C:
char c = Serial.read();

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

Çevrimiçi üyeler

Forum istatistikleri

Konular
5,787
Mesajlar
98,997
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top