Talaan ng mga Nilalaman:

Simple at Karaniwang Calculator Sa CloudX: 5 Hakbang
Simple at Karaniwang Calculator Sa CloudX: 5 Hakbang

Video: Simple at Karaniwang Calculator Sa CloudX: 5 Hakbang

Video: Simple at Karaniwang Calculator Sa CloudX: 5 Hakbang
Video: How to Calculate Lot Size - Enter a Trade in 2 Seconds 2024, Hulyo
Anonim
Simple at Karaniwang Calculator Sa CloudX
Simple at Karaniwang Calculator Sa CloudX

Sa tutorial na ito, matututunan namin kung paano gumawa ng isang simple at karaniwang calculator sa CloudX, Mangyaring mag-click Kung hindi mo pa nababasa ang anumang bagay sa Interfacing keypad sa CloudX dati, Dito, Ang aming target ay turuan ka sa kung paano mo bubuoin ang iyong sariling calculator ng hardware na gumagamit ng cloudX M633.

Ang aming hangarin ay upang makapag-disenyo ng isang calculator na maaaring gawin Addition (+), Pagbabawas (-), Pagpaparami (*) at Division (/) na may Mga Resulta sa mga decimal hanggang sa 0.0000001 at sa buong mga numero hanggang sa 90000000. Ang calculator ay may kakayahang makita ang mga error sa matematika atbp Ang bawat bata, mag-aaral at hobbyist ay dapat na magawa ang kamangha-manghang proyekto.

Hakbang 1: Mga KINAKAILANGAN SA HARDWARE

KINAKAILANGAN NG HARDWARE
KINAKAILANGAN NG HARDWARE
KINAKAILANGAN NG HARDWARE
KINAKAILANGAN NG HARDWARE

1x CloudX Microcontroller

1x CloudX SoftCard

1x USB Cable

1x 4x4 Matrix Keypad

1x 16x2 LCD Jumper Wires

1x 1kΩ Resistor

4x 10kΩ Mga Resistor

Hakbang 2: CONNECTION ng PIN

CONNECTION ng PIN
CONNECTION ng PIN
CONNECTION ng PIN
CONNECTION ng PIN
CONNECTION ng PIN
CONNECTION ng PIN

Ang mga pin ng CloudX Connection ay may mga pin ng LCD at CloudX Connection na may Keypad

Hakbang 3: CIRCUIT DIAGRAM

CIRCUIT DIAGRAM
CIRCUIT DIAGRAM

Hakbang 4: SOFTWARE

/ * * File: Smart KeyPad Lock System.c

* May-akda: hoodie

*

* Nilikha noong Marso 20, 2018, 11:21 AM

*/

# isama

# isama

# isama

# isama

#define NumberOfRows 4 // set display sa apat na hilera

#define NumberOfColumns 4 // itinakda ang display sa tatlong mga haligi

char KeypadCharacter [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, operasyon = 0, signa = 0, signb = 0;

nilagdaang float na sagot;

char * Panswer;

char Aanswer [10];

pinirmahan ng mahabang inputa;

char Ainputa [10];

pinirmahan ang mahabang inputb;

char Ainputb [10];

setup () {

KeypadSetting (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacter);

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "CALCULATOR WITH");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

loop () {

Mga Susi = getKey ();

kung (Keys! = 0 && Keys == 'C') {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

para sa (a = 0; a <10; a ++) {

Ainputa [a] = 0;

Ainputb [a] = 0;

Aanswer [a] = 0;

}

a = 0;

operasyon = 0;

suriin = 0;

signa = 0;

signb = 0;

}

kung (suriin == 1 && Keys! = 0 && Keys == '=') {

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

kung (signa == '-') {

inputa = - (inputa);

}

kung (signb == '-') {

inputb = - (inputb);

}

kung (pagpapatakbo == '+') {

sagot = inputa + inputb;

longTostr (Aanswer, sagot, DEC);

}

kung (pagpapatakbo == '-') {

sagot = inputa - inputb;

longTostr (Aanswer, sagot, DEC);

}

kung (pagpapatakbo == '*') {

sagot = inputa * inputb;

longTostr (Aanswer, sagot, DEC);

}

kung (operasyon == '/') {

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

Panswer = floatTostr (sagot);

kung (inputa> inputb) {

Panswer [5] = 0;

}

}

kung (operasyon == '/') {

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

lcdWriteTextCP (Panswer);

}

iba pa {

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

lcdWriteTextCP (Aanswer);

}

}

kung (Keys! = 0 && (Keys == '+' || Keys == '-' || Keys == '*' || Keys == '/')) {

kung (operasyon! = 0 && a == 0 && signb == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (Mga Susi);

kung (Keys == '-' || Keys == '+') {

signb = Mga Susi;

}

}

kung (pagpapatakbo == 0 && a == 0 && signa == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (Mga Susi);

kung (Keys == '-' || Keys == '+') {

signa = Mga Susi;

}

}

kung (pagpapatakbo == 0 && a! = 0) {

lcdWriteCP (Mga Susi);

operasyon = Mga Susi;

a = 0;

}

}

kung (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Keys == '6' || Keys == '7' || Keys == '8' || Keys == '9')) {

kung (operasyon! = 0) {

lcdWriteCP (Mga Susi);

Ainputb [a] = Mga Susi;

isang ++;

suriin = 1;

}

kung (pagpapatakbo == 0) {

lcdWriteCP (Mga Susi);

Ainputa [a] = Mga Susi;

isang ++;

}

}

}

}

Hakbang 5:

Inirerekumendang: