Jak si vyrobit jednoduchou matematickou kalkulačku pomocí Arduina

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto příspěvku budeme konstruovat kalkulačku pomocí Arduina, která může provádět mnohem složitější aritmetický výpočet než běžná kalkulačka.



Mottem tohoto příspěvku není vytvořit kalkulačku pomocí Arduina, ale předvést aritmetické schopnosti Arduina, které provádí různé složité datové interpretace a výpočty ze senzorů a dalších periferií.

Pro tento zábavný projekt potřebujete pouze kabel USB a Arduino podle vašeho výběru. Výsledek našich výpočtů dostaneme přes sériový monitor Arduino IDE. Pokud znáte základy jazyka C, je tento projekt hračkou a můžete si vytvořit vlastní programy, které provádějí ještě složitější aritmetické výpočty. Zde použijeme hlavičkový soubor #include, který je zabudován v kompilátoru Arduino IDE, takže nemusíte stahovat žádnou knihovnu.



K Arduinu můžeme dokonce připojit LCD displej a klávesnici a vytvořit vědeckou kalkulačku, ale to je předmětem jiného článku. Pokud znáte program „Turbo C ++“, jedním z našich prvních programů bude přidání dvou čísel, všechny aritmetické výpočty se provádějí v CPU počítače. Ale tady jsou všechny aritmetické výpočty prováděny v mikrokontroléru Arduino. Začněme sčítáním, odčítáním, dělením a násobením.

Zde je program se dvěma proměnnými a a b, pomocí těchto dvou proměnných můžeme provádět výše uvedené výpočty pomocí operátorů „+, -, * /“, což jsou sčítání, odčítání, násobení a dělení.

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

VÝSTUP:

Ve výše uvedeném programu používáme „Float“, který vykonává desítkové funkce, používáme „Serial.print ()“ pro tisk hodnot na sériovém monitoru, zbytek programu je vysvětlující. Proměnné aab můžete v programu změnit pomocí vlastních hodnot.

Pojďme přesunout něco zajímavějšího, oblast kruhu. Vzorec pro plochu kruhu je: pi * poloměr ^ 2 nebo pi krát čtverec poloměru. Protože hodnota pí je konstantní, musíme ji v programu přiřadit pomocí „float“, protože hodnota pí je 3,14159, kde hraje desetinná čárka.

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

VÝSTUP:

Jednoduchá matematická kalkulačka pomocí Arduina

Opět můžete v programu změnit své vlastní hodnoty. Používáme „sq ()“, které dělá druhou mocninu čísla v závorkách. Nyní přejdeme na další úroveň. V tomto programu použijeme Pythagorovu větu pro výpočet přepony trojúhelníku. Vzorec za tím je: „hyp = sqrt (sq (základ) + sq (výška))“ nebo druhá odmocnina z (základní čtverec + výška čtverce).

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

VÝSTUP:

Hodnoty základny a výšky můžete změnit pomocí vlastních hodnot v programu. Použili jsme „sqrt ()“, který dělá hodnoty druhé odmocniny v závorkách. Nyní pojďme udělat oblíbený program, který bychom se naučili na začátku kurzu jazyka C, série Fibonacci.

Stručně řečeno, Fibonacciho řada je sčítáním dvou předchozích čísel, která dává další číslo atd., Vždy začíná 0, 1. Například: 0, 1. Takže 0 + 1 = 1 další řada je 0, 1, 1. Takže 1 + 1 = 2. Takže další série je 0, 1, 1, 2 ... a tak dále. Program zde napsaný je najít Fibonacciho číslo pro první n-tou číslici. Hodnotu ‚n‘ v programu můžete změnit, abyste získali požadovanou Fibonacciho řadu.

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

VÝSTUP:

To by tedy dalo vašemu mozku dostatek dávek a bylo by zmatené, že něco určeného k ovládání hardwarových periferií dělá nějaký nesmyslný matematický výpočet, pokud ano, nejste sami.

Matematika hraje v elektronice hlavní roli, proto je naše učebnice plná matematických rovnic, kterým ani nerozumíme, a to je bod, kdy nás kalkulačky přijdou zachránit a tady to je.

Pokud máte dotazy týkající se tohoto jednoduchého obvodu kalkulačky pomocí Arduina, můžete je vyjádřit prostřednictvím stále cenných komentářů.




Předchozí: 0-60V LM317HV Variabilní napájecí obvod Další: Jak vyrábět elektřinu z piezo