Toplama işlemi hakkında

cemal1618

Ü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.
 

Çevrimiçi personel

Forum istatistikleri

Konular
7,285
Mesajlar
123,217
Üyeler
2,939
Son üye
Cano

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top