Sadržaj:

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

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

Video: Jednostavan i standardni kalkulator sa CloudX -om: 5 koraka
Video: Aplikacije u JAVI - Standardni kalkulator - 1.deo 2024, Novembar
Anonim
Jednostavan i standardni kalkulator sa CloudX -om
Jednostavan i standardni kalkulator sa 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 cijelim brojevima do 90000000. Kalkulator ima mogućnost otkrivanja matematičkih grešaka itd. Svako dijete, učenik i hobist trebali bi biti u mogućnosti 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 SoftCard

1x USB kabl

1x 4x4 matrična tastatura

1x 16x2 LCD žičane spojnice

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 sa CloudX -om sa LCD -om i igle za povezivanje sa CloudX -om sa tastaturom

Korak 3: DIJAGRAM KRUGA

DIJAGRAM KRUGA
DIJAGRAM KRUGA

Korak 4: SOFTVER

/ * * Datoteka: Smart KeyPad Lock System.c

* Autor: hoodie

*

* Kreirano 20. marta 2018. u 11:21

*/

#include

#include

#include

#include

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

#define NumberOfColumns 4 // postavite prikaz na tri kolone

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(){

Podešavanje tastature (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCraracters);

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

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

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

petlja(){

Keys = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Odgovor [a] = 0;

}

a = 0;

rad = 0;

ček = 0;

signa = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

if (signb == '-') {

inputb = -(inputb);

}

if (operacija == '+') {

answer = inputa + inputb;

longTostr (Odgovor, odgovor, DEC);

}

if (operacija == '-') {

answer = inputa - inputb;

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);

}

else {

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

lcdWriteTextCP (Aanswer);

}

}

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);

operation = Keys;

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čuje se: