Sisukord:

Lihtne ja tavaline kalkulaator CloudX -iga: 5 sammu
Lihtne ja tavaline kalkulaator CloudX -iga: 5 sammu

Video: Lihtne ja tavaline kalkulaator CloudX -iga: 5 sammu

Video: Lihtne ja tavaline kalkulaator CloudX -iga: 5 sammu
Video: Lihtsad ja kiired magustoidud! #YouChikidKöögis ♡ 2024, November
Anonim
Lihtne ja tavaline kalkulaator CloudX -iga
Lihtne ja tavaline kalkulaator CloudX -iga

Selles õpetuses õpime, kuidas teha lihtsat ja standardset kalkulaatorit CloudX -iga. Palun klõpsake Kui te pole varem CloudX -i liideseklahvistikuga midagi lugenud, siin on meie eesmärk õpetada teile, kuidas oma oma riistvara kalkulaator, mis kasutab cloudX M633.

Meie eesmärk on olla võimeline koostama kalkulaatori, mis suudab liita (+), lahutada (-), korrutada (*) ja jagada (/) ja mille tulemuseks on kümnendkoha täpsusega 0,0000001 ja täisarvudes kuni 90000000. Kalkulaator on võimeline tuvastama matemaatika vigu jne. Iga laps, õpilane ja harrastaja peaks suutma seda fantastilist projekti teha.

1. samm: RIISTVARA NÕUDED

RIISTVARA NÕUDED
RIISTVARA NÕUDED
RIISTVARA NÕUDED
RIISTVARA NÕUDED

1x CloudX mikrokontroller

1x CloudX SoftCard

1x USB -kaabel

1x 4x4 maatriksi klaviatuur

1x 16x2 LCD hüppaja juhtmed

1x 1kΩ takisti

4x 10kΩ takistid

2. toiming: PIN -ÜHENDUS

PIN -ÜHENDUS
PIN -ÜHENDUS
PIN -ÜHENDUS
PIN -ÜHENDUS
PIN -ÜHENDUS
PIN -ÜHENDUS

CloudX Connection tihvtid LCD -ga ja CloudX Connection nööpnõelad klaviatuuriga

3. etapp: VÕTMISDIAGRAAM

VÕTMISDIAGRAAM
VÕTMISDIAGRAAM

4. samm: TARKVARA

/ * * Fail: Smart KeyPad Lock System.c

* Autor: kapuuts

*

* Loodud 20. märtsil 2018 kell 11:21

*/

#kaasake

#kaasake

#kaasake

#kaasake

#define NumberOfRows 4 // määrake kuva neljale reale

#define NumberOfColumns 4 // määrake kuvar kolmele veerule

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 Võtmed, a = 0, tšekk = 0, operatsioon = 0, signa = 0, märkb = 0;

allkirjastatud ujukvastus;

char * Panswer;

char Aanswer [10];

allkirjastatud pikk sisend;

char Ainputa [10];

allkirjastatud pikk sisendb;

char Ainputb [10];

setup () {

Klahvistiku seadistamine (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);

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

lcdCmd (lcd_clear);

lcdCmd (kursori_välja);

lcdWriteText (1, 1, "Kalkulaator koos");

lcdWriteText (2, 1, "PILV");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (kursori_blink);

loop () {

Võtmed = getKey ();

if (Võtmed! = 0 && Võtmed == 'C') {

lcdCmd (lcd_clear);

lcdCmd (kursori_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Vastus [a] = 0;

}

a = 0;

operatsioon = 0;

tšekk = 0;

signa = 0;

märkb = 0;

}

kui (tšeki == 1 && võtmed! = 0 && võtmed == '=') {

lcdCmd (kursori_välja);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

kui (signa == '-') {

inputa = -(inputa);

}

kui (signb == '-') {

sisendb = -(sisendb);

}

if (operatsioon == '+') {

vastus = inputa + inputb;

longTostr (vastus, vastus, DEC);

}

if (operatsioon == '-') {

vastus = inputa - inputb;

longTostr (vastus, vastus, DEC);

}

kui (operatsioon == '*') {

vastus = inputa * inputb;

longTostr (vastus, vastus, DEC);

}

kui (operatsioon == '/') {

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

Panswer = floatTostr (vastus);

if (sisend> inputb) {

Panswer [5] = 0;

}

}

kui (operatsioon == '/') {

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

lcdWriteTextCP (Panswer);

}

muu {

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

lcdWriteTextCP (vastus);

}

}

if (Võtmed! = 0 && (Võtmed == '+' || Võtmed == '-' || Võtmed == '*' || Võtmed == '/')) {

if (operatsioon! = 0 && a == 0 && signb == 0 && (võtmed == '-' || Võtmed == '+')) {

lcdWriteCP (võtmed);

if (Võtmed == '-' || Võtmed == '+') {

signb = Võtmed;

}

}

if (operatsioon == 0 && a == 0 && signa == 0 && (võtmed == '-' || Võtmed == '+')) {

lcdWriteCP (võtmed);

if (Võtmed == '-' || Võtmed == '+') {

signa = Võtmed;

}

}

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

lcdWriteCP (võtmed);

operatsioon = Klahvid;

a = 0;

}

}

if (Võtmed! = 0 && (Võtmed == '0' || Võtmed == '1' || Võtmed == '2' || Võtmed == '3' || Võtmed == '4' || Võtmed = = '5' || Võtmed == '6' || Võtmed == '7' || Võtmed == '8' || Võtmed == '9')) {

kui (operatsioon! = 0) {

lcdWriteCP (võtmed);

Ainputb [a] = Võtmed;

a ++;

tšekk = 1;

}

kui (operatsioon == 0) {

lcdWriteCP (võtmed);

Ainputa [a] = Võtmed;

a ++;

}

}

}

}

Soovitan: