Arduino pozitif-negatif sayı

Cüneyt-2000

Hectopat
Katılım
4 Haziran 2019
Mesajlar
62
Çözümler
1
Yer
İstanbul
Daha fazla  
Cinsiyet
Erkek
Meslek
Elektrik Elektronik Teknisyeni
Bütün sayılara pozitif diyor.
Benim istediğim 0'dan büyük sayılara pozitif, 0'dan küçük sayılara negatif demesi.
 

Dosya Ekleri

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    88 KB · Görüntüleme: 84
Son düzenleme:
Serial sınıfının read() fonksiyonu size gelen bilginin ilk byte'ını verir. Burada da ASCII formatında veriyor. ASCII tablosuna göre girmiş olduğunuz "-" karakteri 45 sayısına tekabül ediyor.
 
Arduino bilmem else if'i yanlış yere koymuşsun gibi duruyor.
i değişkenini global tanımlayıp sonra tekrar tanımlamışsın, onu da farklı yaptım.

Bu şekilde dener misin?

Kod:
int i;

void setup(){
    Serial.begin(9600);
}

void loop(){
    if (Serial.available()){
        i = Serial.read();
        
        if (i > 0){
            Serial.println("Sayi pozitiftir.");
        }
        else if (i < 0){
            Serial.println("Sayi negatiftir.");
        }
    }
}
 
[CODE lang="c" title="Arduino"]int i;
void setup(){
Serial.begin(9600);
}

void loop(){
if(Serial.available() > 0){
i = Serial.parseInt();
if(i > 0){
Serial.println("Pos");
}
else{
Serial.println("Neg");
}
}
}[/CODE]
.available()
parseInt()
Test edilen seri kanal ayarları:
Satır sonu yok.
9600 baud.
 
[CODE lang="c" title="Arduino"]int i;
void setup(){
Serial.begin(9600);
}

void loop(){
if(Serial.available() > 0){
i = Serial.parseInt();
if(i > 0){
Serial.println("Pos");
}
else{
Serial.println("Neg");
}
}
}[/CODE]
.available()
parseInt()
Test edilen seri kanal ayarları:
Satır sonu yok.
9600 baud.

Çalıştı teşekkürler.
 

Geri
Yukarı