Kako izraditi jednostavan matematički kalkulator pomoću Arduina

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo postu izraditi kalkulator pomoću Arduina, koji može izvoditi daleko složenije aritmetičko računanje od običnog kalkulatora.



Moto ovog posta nije izrada kalkulatora pomoću Arduina, već predstavlja aritmetičku sposobnost Arduina, koji izvodi različite složene interpretacije podataka i proračune sa senzora i druge periferne opreme.

Za ovaj zabavni projekt trebate samo USB kabel i Arduino po vašem izboru. Rezultat naših proračuna dobit ćemo putem serijskog monitora Arduino IDE-a. Ako ste upoznati s osnovama jezika C, ovaj je projekt prava stvar i možete stvoriti vlastite programe koji čine još složenije aritmetičke izračune. Ovdje ćemo koristiti zaglavnu datoteku #include koja je ugrađena u Arduino IDE kompajler, tako da ne trebate preuzimati nijednu knjižnicu.



Možemo čak povezati LCD zaslon i tipkovnicu s Arduinom i napraviti znanstveni kalkulator, ali to je predmet drugog članka. Ako vam je poznat “Turbo C ++”, jedan od naših prvih programa bit će zbrajanje dva broja, svi aritmetički izračuni vrše se unutar CPU-a računala. Ali ovdje se svi aritmetički izračuni provode u mikrokontroleru Arduino. Krenimo od zbrajanja, oduzimanja, dijeljenja i množenja.

Ovdje je program s dvije varijable a i b, pomoću ove dvije varijable možemo izvršiti gore navedene izračune pomoću operatora “+, -, * /”, koji su sabiranje, oduzimanje, množenje, dijeljenje.

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

IZLAZ:

U gore navedenom programu koristimo “Float” koji izvodi decimalne funkcije, koristimo “Serial.print ()” za ispis vrijednosti u serijskom monitoru, ostatak programa je samorazumljiv. Varijable a i b u programu možete promijeniti vlastitim vrijednostima.

Pomaknimo nešto zanimljivije, područje kruga. Formula za površinu kruga je: pi * polumjer ^ 2 ili pi puta polumjer kvadrat. Budući da je vrijednost pi konstantna, trebamo je dodijeliti u programu pomoću 'float', jer je vrijednost pi 3,14159, gdje se decimalna točka igra.

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

IZLAZ:

Jednostavni matematički kalkulator pomoću Arduina

Opet, možete promijeniti vlastite vrijednosti u programu. Koristimo 'sq ()' koji u zagradama izvodi kvadrat broja s. Idemo sada na sljedeću razinu. U ovom ćemo programu koristiti Pitagorin teorem za izračunavanje hipotenuze trokuta. Formula koja stoji iza toga glasi: „hyp = sqrt (sq (baza) + sq (visina))“ ili kvadratni korijen od (osnovni kvadrat + kvadrat visine).

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

IZLAZ:

Vrijednosti baze i visine možete promijeniti vlastitim vrijednostima u programu. Koristili smo 'sqrt ()' koji u zagradi vrši vrijednosti funkcije kvadratnog korijena. Sada napravimo popularni program koji bismo naučili na našem početku tečaja C jezika, Fibonaccijeve serije.

Ukratko, Fibonaccijeva serija je sabiranje dva prethodna broja koja daju sljedeći broj i tako dalje, uvijek počinje s 0, 1. Na primjer: 0, 1. Dakle, 0 + 1 = 1 sljedeća serija je 0, 1, 1. Dakle, 1 + 1 = 2. Dakle, sljedeća serija je, 0, 1, 1, 2 ... ... i tako dalje. Ovdje napisan program je pronalazak Fibonaccijevog broja za prvu n-tu znamenku. Možete promijeniti vrijednost 'n' u programu da biste dobili željenu Fibonaccijevu seriju.

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

IZLAZ:

Dakle, ovo bi vašem mozgu dalo dovoljno doza i zbunilo da nešto dizajnirano za kontrolu hardverske periferne jedinice vrši neke glupe matematičke izračune, ako je tako, niste sami.

Matematika igra glavnu ulogu u elektronici, zato je naš udžbenik prepun matematičkih jednadžbi, koje mi ni ne razumijemo i ta točka u kojoj nas kalkulatori dolaze spašavati i tu je.

Ako imate bilo kakvih pitanja u vezi s ovim jednostavnim krugom kalkulatora koji koriste Arduino, možete ih izraziti kroz uvijek vrijedne komentare.




Prethodno: 0-60V LM317HV promjenjivi krug napajanja Dalje: Kako proizvesti električnu energiju iz Pieza