Kazalo:

Enostaven in standardni kalkulator z CloudX: 5 korakov
Enostaven in standardni kalkulator z CloudX: 5 korakov

Video: Enostaven in standardni kalkulator z CloudX: 5 korakov

Video: Enostaven in standardni kalkulator z CloudX: 5 korakov
Video: Как получить текст из input? JavaScript 2024, Julij
Anonim
Enostaven in standardni kalkulator z CloudX
Enostaven in standardni kalkulator z CloudX

V tej vadnici se bomo naučili, kako narediti preprost in standardni kalkulator z CloudX -om. Prosimo, kliknite Če še niste prebrali ničesar o povezovanju tipkovnice s CloudX -om, tukaj je naš cilj, da vas naučimo, kako lahko razvijete svoj lasten strojni kalkulator z uporabo cloudX M633.

Naš cilj je, da lahko oblikujemo kalkulator, ki omogoča seštevanje (+), odštevanje (-), množenje (*) in deljenje (/) z rezultati v decimalnih mestih, ki znašajo le 0,0000001, in v celih številkah do 90000000. Kalkulator ima sposobnost zaznavanja matematičnih napak itd. Vsak otrok, učenec in hobist bi moral biti sposoben narediti ta fantastičen projekt.

1. korak: ZAHTEVE ZA OPREMO

ZAHTEVE ZA HARDVER
ZAHTEVE ZA HARDVER
ZAHTEVE ZA HARDVER
ZAHTEVE ZA HARDVER

1x mikrokrmilnik CloudX

1x mehka kartica CloudX

1x USB kabel

1x matrična tipkovnica 4x4

1x 16x2 LCD mostične žice

1x 1 kΩ upor

4x 10 kΩ upori

2. korak: POVEZAVA PIN

POVEZAVA PIN
POVEZAVA PIN
POVEZAVA PIN
POVEZAVA PIN
POVEZAVA PIN
POVEZAVA PIN

Zatiči za povezavo CloudX z LCD in zatiči za povezavo CloudX s tipkovnico

3. korak: DIAGRAM VOZILA

DIAGRAM VEZI
DIAGRAM VEZI

4. korak: PROGRAMSKA OPREMA

/ * * Datoteka: Smart KeyPad Lock System.c

* Avtor: hoodie

*

* Ustvarjeno 20. marca 2018, 11:21

*/

#vključi

#vključi

#vključi

#vključi

#define NumberOfRows 4 // nastavite prikaz na štiri vrstice

#define NumberOfColumns 4 // nastavite prikaz na tri stolpce

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;

podpisan plavajoči odgovor;

char * Panswer;

char Aanswer [10];

podpisana dolga inputa;

char Ainputa [10];

podpisan dolg vnosb;

char Ainputb [10];

nastaviti(){

Nastavitev tipkovnice (PULLDOWNCOL, Vrstice, Vrstice stolpcev, Število vrstic, Število stolpcev, Znaki tipkovnice);

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

lcdCmd (lcd_clear);

lcdCmd (izklop kurzorja);

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

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

zanka () {

Ključi = getKey ();

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

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Odgovor [a] = 0;

}

a = 0;

operacija = 0;

ček = 0;

signa = 0;

signb = 0;

}

if (preverite == 1 && ključi! = 0 && ključi == '=') {

lcdCmd (izklop kurzorja);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

inputa = -(inputa);

}

if (signb == '-') {

inputb = -(inputb);

}

if (operacija == '+') {

odgovor = vnos + vnosb;

longTostr (Odgovor, odgovor, DEC);

}

if (operacija == '-') {

odgovor = inputa - vnosb;

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

}

drugače {

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

lcdWriteTextCP (Aanswer);

}

}

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

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

lcdWriteCP (ključi);

if (ključi == '-' || ključi == '+') {

signb = ključi;

}

}

if (operacija == 0 && a == 0 && signa == 0 && (ključi == '-' || ključi == '+')) {

lcdWriteCP (ključi);

if (ključi == '-' || ključi == '+') {

signa = Ključi;

}

}

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

lcdWriteCP (ključi);

operacija = ključi;

a = 0;

}

}

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

if (operacija! = 0) {

lcdWriteCP (ključi);

Ainputb [a] = Ključi;

a ++;

ček = 1;

}

if (operacija == 0) {

lcdWriteCP (ključi);

Ainputa [a] = Ključi;

a ++;

}

}

}

}

5. korak:

Priporočena: