- 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
Ama "char" tanımlayıp "1" girince ve
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*/
}
}
}