Sadržaj:

Jednostavan i standardni kalkulator s CloudX -om: 5 koraka
Jednostavan i standardni kalkulator s CloudX -om: 5 koraka

Video: Jednostavan i standardni kalkulator s CloudX -om: 5 koraka

Video: Jednostavan i standardni kalkulator s CloudX -om: 5 koraka
Video: Aplikacije u JAVI - Standardni kalkulator - 1.deo 2024, Srpanj
Anonim
Jednostavan i standardni kalkulator s CloudX -om
Jednostavan i standardni kalkulator s CloudX -om

U ovom ćemo vodiču učiti o tome kako napraviti jednostavan i standardni kalkulator s CloudX -om. Molimo kliknite Ako prije niste pročitali ništa o povezivanju tipkovnice s CloudX -om, evo, naš cilj je naučiti vas kako možete razviti svoj vlastiti hardverski kalkulator koji koristi cloudX M633.

Naš cilj je biti u mogućnosti dizajnirati kalkulator koji može raditi zbrajanje (+), oduzimanje (-), množenje (*) i dijeljenje (/) s rezultatima u decimalnim brojevima do 0,0000001 i u cijelim brojevima do 90000000. Kalkulator ima sposobnost otkrivanja matematičkih pogrešaka itd. Svako dijete, učenik i hobist trebao bi biti sposoban napraviti ovaj fantastičan projekt.

Korak 1: ZAHTJEVI ZA HARDVER

ZAHTJEVI ZA HARDVER
ZAHTJEVI ZA HARDVER
ZAHTJEVI ZA HARDVER
ZAHTJEVI ZA HARDVER

1x CloudX mikrokontroler

1x CloudX meka kartica

1x USB kabel

1x 4x4 matrična tipkovnica

1x 16x2 LCD premosne žice

1x 1 kΩ otpornik

4x 10kΩ otpornici

Korak 2: POVEZIVANJE PIN -a

POVEZIVANJE PIN -a
POVEZIVANJE PIN -a
POVEZIVANJE PIN -a
POVEZIVANJE PIN -a
POVEZIVANJE PIN -a
POVEZIVANJE PIN -a

Igle za povezivanje CloudX s LCD -om i igle za povezivanje CloudX s tipkovnicom

Korak 3: DIJAGRAM KRUGA

KRUŽNI DIJAGRAM
KRUŽNI DIJAGRAM

Korak 4: SOFTVER

/ * * Datoteka: Smart KeyPad Lock System.c

* Autor: hoodie

*

* Izrađeno 20. ožujka 2018. u 11:21

*/

#uključi

#uključi

#uključi

#uključi

#define NumberOfRows 4 // postavi prikaz na četiri retka

#define NumberOfColumns 4 // postavite prikaz na tri stupca

char KeypadCharacters [NumberOfRows] [NumberOfColumns] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C', '0', '=', '/'

};

char RowPins [NumberOfRows] = {7, 8, 9, 10};

char ColumnsPins [NumberOfColumns] = {11, 12, 13, 14};

char Keys, a = 0, check = 0, operation = 0, signa = 0, signb = 0;

potpisan plutajući odgovor;

char * Panswer;

char Aanswer [10];

potpisana duga inputa;

char Ainputa [10];

potpisan dugi ulazb;

char Ainputb [10];

postaviti(){

Postavke tipkovnice (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCraracters);

lcdSetting (1, 2, 3, 4, 5, 6);

lcdCmd (lcd_clear);

lcdCmd (pokazivač_ isključen);

lcdWriteText (1, 1, "KALKULATOR SA");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (pokazivač_pokazivača);

petlja(){

Ključevi = getKey ();

if (ključevi! = 0 && ključevi == 'C') {

lcdCmd (lcd_clear);

lcdCmd (kursor_milica);

za (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Odgovor [a] = 0;

}

a = 0;

radnja = 0;

ček = 0;

signa = 0;

signb = 0;

}

if (ček == 1 && ključevi! = 0 && ključevi == '=') {

lcdCmd (pokazivač_ isključen);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

if (signb == '-') {

inputb = -(inputb);

}

if (operacija == '+') {

odgovor = inputa + ulazb;

longTostr (Odgovor, odgovor, DEC);

}

if (operacija == '-') {

odgovor = inputa - ulazb;

longTostr (Odgovor, odgovor, DEC);

}

if (operacija == '*') {

answer = inputa * inputb;

longTostr (Odgovor, odgovor, DEC);

}

if (operacija == '/') {

answer = (float) inputa / (float) inputb;

Panswer = floatTostr (odgovor);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operacija == '/') {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (Panswer);

}

drugo {

lcdWriteText (2, 1, "ANS:");

lcdWriteTextCP (Odgovor);

}

}

if (ključevi! = 0 && (ključevi == '+' || ključevi == '-' || ključevi == '*' || ključevi == '/')) {

if (radnja! = 0 && a == 0 && signb == 0 && (Ključevi == '-' || Ključevi == '+')) {

lcdWriteCP (ključevi);

if (Ključevi == '-' || Ključevi == '+') {

signb = Ključevi;

}

}

if (radnja == 0 && a == 0 && signa == 0 && (Ključevi == '-' || Ključevi == '+')) {

lcdWriteCP (ključevi);

if (Ključevi == '-' || Ključevi == '+') {

signa = Ključevi;

}

}

if (operacija == 0 && a! = 0) {

lcdWriteCP (ključevi);

operacija = ključevi;

a = 0;

}

}

if (ključevi! = 0 && (ključevi == '0' || ključevi == '1' || ključevi == '2' || ključevi == '3' || ključevi == '4' || ključevi = = '5' || Ključevi == '6' || Ključevi == '7' || Ključevi == '8' || Ključevi == '9')) {

if (operacija! = 0) {

lcdWriteCP (ključevi);

Ainputb [a] = Ključevi;

a ++;

ček = 1;

}

if (operacija == 0) {

lcdWriteCP (ključevi);

Ainputa [a] = Ključevi;

a ++;

}

}

}

}

Preporučeni: