Kuidas teha lihtsat matemaatikakalkulaatorit Arduino abil

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame Arduino abil kalkulaatori, mis suudab teostada kaugelt keerukat aritmeetilist arvutust kui tavaline kalkulaator.



Selle postituse moto pole teha Arduino abil kalkulaatorit, vaid näidata Arduino aritmeetilist võimekust, mis teostab anduritelt ja muudelt lisaseadmetelt mitmesuguseid keerukaid andmete tõlgendusi ja arvutusi.

Selle lõbusa projekti jaoks vajate lihtsalt USB-kaablit ja teie valitud Arduino. Arvutuste tulemuse saame Arduino IDE seeriamonitori kaudu. Kui olete kursis C-keele põhitõdedega, on see projekt käkitegu ja saate luua oma programmid, mis teevad veelgi keerukamaid aritmeetilisi arvutusi. Siin kasutame päisefaili #include, mis on sisseehitatud Arduino IDE kompilaatorisse, nii et te ei pea ühtegi teeki alla laadima.



Me võime isegi LCD-ekraani ja klaviatuuri Arduinoga ühendada ja teha teadusliku kalkulaatori, kuid see on teise artikli teema. Kui olete „Turbo C ++“ -ga tuttav, on üks meie esimestest programmidest kahe numbri lisamine, kõik aritmeetilised arvutused viiakse läbi arvuti protsessoris. Kuid siin tehakse kõik aritmeetilised arvutused Arduino mikrokontrolleris. Alustame liitmise, lahutamise, jagamise ja korrutamisega.

Siin on kahe muutujaga a ja b programm, kasutades neid kahte muutujat, saame ülaltoodud arvutused teha operaatorite „+, -, * /” abil, milleks on vastavalt liitmine, lahutamine, korrutamine, jagamine.

Programm:

//-------------------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---------------//

VÄLJUND:

Ülaltoodud programmis kasutame kümnendfunktsioone täitvat Floatit, seeriamonitoris olevate väärtuste printimiseks 'Serial.print ()', ülejäänud programm on iseenesestmõistetav. Muutujaid a ja b saate programmis muuta oma väärtustega.

Liigutame midagi huvitavamat, ringi piirkonda. Ringjoone pindala valem on: pi * raadius ^ 2 või pi korda raadiusega ruut. Kuna pi väärtus on konstantne, peame selle programmis määrama, kasutades ujukit, kuna pi väärtus on 3.14159, kus kümnendkoht tuleb.

Programm:

//-------------------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---------------//

VÄLJUND:

Arduino abil lihtne matemaatika kalkulaator

Jällegi saate programmis muuta oma väärtusi. Kasutame 'sq ()', mis teeb sulgudes arvu ruutu. Nüüd liigume järgmisele tasemele. Selles programmis kasutame kolmnurga hüpotenuusi arvutamiseks Pythagorase teoreemi. Selle taga on valem: 'hyp = sqrt (sq (alus) + sq (kõrgus))' või ruutjuur (alusruut + kõrgusruut).

Programm:

//-------------------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---------------//

VÄLJUND:

Aluse ja kõrguse väärtusi saate programmis muuta oma väärtustega. Kasutasime 'sqrt ()', mis teeb sulgudes ruutjuure funktsiooni väärtused. Teeme nüüd populaarse programmi, mille oleksime õppinud meie C-kursuse alguses, Fibonacci-sarjas.

Lühidalt öeldes on Fibonacci seeria kahe eelneva numbri liitmine, mis annab järgmise numbri ja nii edasi, algab see alati 0, 1. Näiteks: 0, 1. Nii et 0 + 1 = 1 järgmine seeria on 0, 1, 1. Niisiis, 1 + 1 = 2. Nii et järgmine seeria on 0, 1, 1, 2 ... ja nii edasi. Siin kirjutatud programm on leida Fibonacci number esimese n-nda numbri jaoks. Soovitud Fibonacci seeria saamiseks saate programmis muuta n väärtust.

Programm:

//-------------------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---------------//

VÄLJUND:

Niisiis, see oleks andnud teie ajule piisavalt annuseid ja segadusse ajanud asjaolu, et riistvara välisseadmete juhtimiseks mõeldud miski teeb matemaatilisi matemaatilisi arvutusi, kui jah, siis pole te üksi.

Matemaatikal on elektroonikas suur roll, seetõttu on meie õpik täis matemaatilisi võrrandeid, millest me isegi aru ei saa ja see on koht, kus kalkulaatorid tulevad meid päästma ja siin see on.

Kui teil on Arduino abil selle lihtsa kalkulaatorahelaga seotud küsimusi, saate neid väljendada pidevalt väärtuslike kommentaaride kaudu.




Eelmine: 0-60V LM317HV muutuva toiteallika ahel Järgmine: kuidas Piezost elektrit toota