Arduino ile Basit Bir Matematik Hesap Makinesi Nasıl Yapılır

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu yazıda, sıradan bir hesap makinesinden çok daha karmaşık aritmetik hesaplamalar yapabilen Arduino kullanarak bir hesap makinesi inşa edeceğiz.



Bu yazının sloganı, Arduino kullanarak bir hesap makinesi yapmak değil, sensörlerden ve diğer çevre birimlerinden çeşitli karmaşık veri yorumları ve hesaplamalar yapan Arduino'nun aritmetik kabiliyetini sergilemektir.

Bu eğlenceli proje için sadece bir USB kablosuna ve seçtiğiniz Arduino'ya ihtiyacınız var. Hesaplamalarımızın sonucunu Arduino IDE'nin seri monitörü üzerinden alacağız. C dilinin temellerine aşina iseniz, bu proje çocuk oyuncağıdır ve daha karmaşık aritmetik hesaplamalar yapan kendi programlarınızı oluşturabilirsiniz. Burada Arduino IDE derleyicisinde yerleşik olan #include başlık dosyasını kullanacağız, böylece herhangi bir kitaplık indirmenize gerek kalmaz.



Hatta Arduino'ya bir LCD ekran ve klavye bağlayıp bilimsel bir hesap makinesi bile yapabiliyoruz ama bu başka bir makalenin konusu. “Turbo C ++” yı biliyorsanız, ilk programlarımızdan biri iki sayının eklenmesidir, tüm aritmetik hesaplamalar bilgisayarın CPU'sunda yapılır. Ancak burada tüm aritmetik hesaplamalar Arduino mikrodenetleyicide yapılmaktadır. Toplama, çıkarma, bölme ve çarpma ile başlayalım.

Burada a ve b iki değişkenine sahip bir program, bu iki değişkeni kullanarak yukarıda belirtilen hesaplamaları sırasıyla toplama, çıkarma, çarpma, bölme olan “+, -, * /” operatörlerini kullanarak yapabiliriz.

Program:

//-------------------Program Developed by R.Girish---------------//
#include
float a = 500
float b = 105.33
float add
float sub
float divide
float mul
void setup()
{
Serial.begin(9600)
Serial.println('Simple Arduino Calculator:')
Serial.println('n')
Serial.print('a = ')
Serial.println(a)
Serial.print('b = ')
Serial.println(b)
Serial.println('n')
Serial.print('Addition: ')
Serial.print('a + b = ') // add
add=a+b
Serial.println(add)
Serial.print('Multiplication: ')
Serial.print('a * b = ') // multiply
mul=a*b
Serial.println(mul)
Serial.print('Division: ')
Serial.print('a / b = ') // divide
divide=a/b
Serial.println(divide)
Serial.print('Subtraction: ')
Serial.print('a - b = ') // subtract
sub=a-b
Serial.println(sub)
}
void loop() // we need this to be here even though its empty
{
}
//-------------------Program Developed by R.Girish---------------//

ÇIKTI:

Yukarıdaki programda, ondalık fonksiyonları gerçekleştiren 'Float' kullanıyoruz, değerleri seri monitörde yazdırmak için 'Serial.print ()' kullanıyoruz, programın geri kalanı kendinden açıklamalıdır. Programdaki a ve b değişkenini kendi değerlerinizle değiştirebilirsiniz.

Daha ilginç bir şeyi, çember alanını hareket ettirelim. Daire alanı formülü şöyledir: pi * yarıçap ^ 2 veya pi çarpı yarıçap kare. Pi'nin değeri sabit olduğu için, ondalık noktanın devreye girdiği pi'nin değeri 3.14159 olduğundan, onu programa 'float' kullanarak atamamız gerekir.

Program:

//-------------------Program Developed by R.Girish---------------//
#include
float pi = 3.14159
float radius = 50
float area
void setup()
{
Serial.begin(9600)
Serial.println('Arduino Area Calculator:')
Serial.print('n')
Serial.print('Radius = ')
Serial.print(radius)
Serial.print('n')
area = pi*sq(radius)
Serial.print('The Area of circle is: ')
Serial.println(area)
}
void loop()
{
// we need this to be here even though it is empty
}
//-------------------Program Developed by R.Girish---------------//

ÇIKTI:

Arduino kullanarak Basit Matematik Hesaplayıcı

Yine programda kendi değerlerinizi değiştirebilirsiniz. Parantez içindeki sayının karesini alan “sq ()” kullanıyoruz. Şimdi bir sonraki seviyeye geçelim. Bu programda, bir üçgenin hipotenüsünü hesaplamak için Pisagor teoremini kullanacağız. Bunun arkasındaki formül şudur: 'hyp = sqrt (sq (base) + sq (height))' veya (taban kare + yükseklik kare) 'nin karekökü.

Program:

//-------------------Program Developed by R.Girish---------------//
#include
float base = 50.36
float height = 45.336
float hyp
void setup()
{
Serial.begin(9600)
Serial.println('Arduino Pythagoras Calculator:')
Serial.print('n')
Serial.print('base = ')
Serial.println(base)
Serial.print('height = ')
Serial.print(height)
Serial.print('n')
hyp=sqrt(sq(base) + sq(height))
Serial.print('The hypotenuse is: ')
Serial.print(hyp)
}
void loop()
{
// we need this to be here even though its empty
}
//-------------------Program Developed by R.Girish---------------//

ÇIKTI:

Programda taban ve yükseklik değerlerini kendi değerlerinizle değiştirebilirsiniz. Parantez içinde karekök fonksiyon değerleri yapan “sqrt ()” kullandık. Şimdi C dil kursumuzun başlangıcında öğrenmiş olacağımız, Fibonacci serisi popüler bir program yapalım.

Özetle, Fibonacci serisi, sonraki sayıyı veren önceki iki sayının toplamıdır ve bu böyle devam eder, her zaman 0, 1 ile başlar. Örneğin: 0, 1. Yani 0 + 1 = 1 sonraki seri 0, 1, 1'dir. Yani 1 + 1 = 2. Yani sonraki seriler 0, 1, 1, 2… .. ve benzeri. Buraya yazılan program, birinci basamak için Fibonacci numarasını bulmaktır. İstenen Fibonacci serisini elde etmek için programdaki 'n' değerini değiştirebilirsiniz.

Program:

//-------------------Program Developed by R.Girish---------------//
#include
int n=6
int first = 0
int Second = 1
int next
int c
void setup()
{
Serial.begin(9600)
Serial.print('Fibonacci series for first ')
Serial.print(n)
Serial.print(' numbers are:nn')
for ( c = 0 c {
if ( c <= 1 )
next = c
else
{
next = first + Second
first = Second
Second = next
}
Serial.println(next)
}
}
void loop()
{
// put your main code here, to run repeatedly:
}
//-------------------Program Developed by R.Girish---------------//

ÇIKTI:

Yani, bu beyninize yeterince doz vermiş ve donanım çevre birimlerini kontrol etmek için tasarlanmış bir şeyin saçma bir matematik hesaplaması yaptığı konusunda kafa karıştırıcı olacaktır, eğer öyleyse, yalnız değilsiniz.

Matematik, elektronikte önemli bir rol oynar, bu yüzden ders kitabımız matematiksel denklemlerle dolu, bizim bile anlamadığımız ve hesap makinelerinin bizi kurtarmaya geldiği nokta ve işte burada.

Arduino kullanarak bu basit hesap makinesi devresiyle ilgili herhangi bir sorunuz varsa, bunları çok değerli yorumlarla ifade edebilirsiniz.




Önceki: 0-60V LM317HV Değişken Güç Kaynağı Devresi Sonraki: Piezo'dan Elektrik Nasıl Üretilir