Toplama işlemi hakkında

cemal1618

Yeni Üye
Katılım
13 Ağustos 2023
Mesajlar
14
Merhaba değerli arkadaşlar. Aurdino kartımla hobi olarak çeşitli basit projeleri video izleyerek gerçekleştirip çeşitli düzenlemeler yapıyorum. Aurdino tecrübem amatör düzeyde. Ortaokul matematik dersinde kullanılmak üzere toplama işlemi ile ilgili desteğinize ihtiyacım var. Forumları inceledim ancak işime yarayacak bir kod bulamadım.

Basite indirgeyerek anlatırsam; Aurdino kartıma bağlı adı 1,2,3,4,5 olan butonlar ve bir de sonuç butonu olacak. Mesela öğrenci 1, 4 ve 5 nolu tuşa basıp ardından sonuç tuşuna bastığında ekranda bu sayıların toplamı olan 10 sonucunu görecek. Öğrenci 5 tuşun hepsine de basabilir, sadece 1 tanesine veya 2, 3 ve 4 tanesine de basabilir. Yani kısaca sonuç tuşundan önce basılan kaç tuş varsa tuş adı olan sayılar toplanacak. Bir tuşa iki defa basmayacak.

Bu konuda yardımcı olabilirseniz sevinirim. Açıklamalarınız için şimdiden teşekkür ederim.
 
Son düzenleme:
Toplam adında global bir değişken tanımlayın.

int toplam=0;

Main loop içerisinde her bir buton için if yapısı ile butona basıldığını tespit edin.

if (digitalread(button_1)==HIGH)
{
toplam= toplam + 1;
}

Her buton için bunu yapın. Sonuç butonu ile toplamı gösterin. Sonraki işlem için toplamı sıfırlayın.


if (digitalread(sonuc_buton)==HIGH)
{
Lcd.write(toplam);
Toplam=0;
}

İstediğiniz yapı bu şekilde olacak. Kodun hepsini yazamam ama umarım fikir verebilmişimdir.
 
Aşağıdaki örnekten türetmeye çalış. Kesin bilgi değil. Oturduğum yerde aklıma geleni yazdım.
toplam, btnBir, bir, iki, uc, dort, bes, sonuc, bayrak adlarında değişken oluştur.
değişkenlerin hepsine 0 ata.

Kod:
if(btnBir ==1 and bayrak ==0)
{
bir=1; bayrak=1;
}

if(sonuc == 1)
{
bayrak = 0;
toplam = bir + iki + uc + dort+ bes;
}
 
Toplam adında global bir değişken tanımlayın.

int toplam=0;

Main loop içerisinde her bir buton için if yapısı ile butona basıldığını tespit edin.

if (digitalread(button_1)==HIGH)
{
toplam= toplam + 1;
}

Her buton için bunu yapın. Sonuç butonu ile toplamı gösterin. Sonraki işlem için toplamı sıfırlayın.


if (digitalread(sonuc_buton)==HIGH)
{
Lcd.write(toplam);
Toplam=0;
}

İstediğiniz yapı bu şekilde olacak. Kodun hepsini yazamam ama umarım fikir verebilmişimdir.
Açıklamalarınız için çok teşekkürler.

button_2 için
if (digitalread(button_2)==HIGH)
{
toplam= toplam + 2;
}
şeklinde yazacağız
 
Açıklamalarınız için çok teşekkür ederim. Aşağıdaki kod bloğunu biraz detaylandırabilirseniz sevinirim.

if(sonuc == 1)
{
bayrak = 0;
toplam = bir + iki + uc + dort+ bes;
}
 
if (digitalread(button_1)==HIGH)
{
bir=1;
}

if (digitalread(button_2)==HIGH)
{
iki=2;
}

if (digitalread(button_S)==HIGH)
{
toplam = bir + iki + uc + dort+ bes;
bir=0;
iki=0;
uc=0;
dort=0;
bes=0;
}
 
if (digitalread(button_1)==HIGH)
{
bir=1;
}

if (digitalread(button_2)==HIGH)
{
iki=2;
}

if (digitalread(button_S)==HIGH)
{
toplam = bir + iki + uc + dort+ bes;
bir=0;
iki=0;
uc=0;
dort=0;
bes=0;
}

Açıklamalarını için çok teşekkür ederim. Sonuç butonu tüm değişkenleri topluyor. Ama basılmayan buton için sıfırı topluyor. Basılanlar için atanan değerleri topluyor. Doğrumu yorumladım acaba kodu.
 
Sonuc butonuna basmadan once hangi sayilara ait tuslara bastiysan o tuslara ait degiskene ilgili degeri ataniyor.

Sonuc butonuna basinca degiskenler toplaniyor. Bir sonraki toplama islemine hazirlik icin tum degiskenlere sifir degeri ataniyor.
 
Sonuc butonuna basmadan once hangi sayilara ait tuslara bastiysan o tuslara ait degiskene ilgili degeri ataniyor.

Sonuc butonuna basinca degiskenler toplaniyor. Bir sonraki toplama islemine hazirlik icin tum degiskenlere sifir degeri ataniyor.
Açıklamalarınız için çok teşekkür ederim.
 

Forum istatistikleri

Konular
8,997
Mesajlar
145,815
Üyeler
3,632
Son üye
teteni

Son kaynaklar

Back
Top