INHOUDSOPGAWE:

Eenvoudige en standaard sakrekenaar met CloudX: 5 stappe
Eenvoudige en standaard sakrekenaar met CloudX: 5 stappe

Video: Eenvoudige en standaard sakrekenaar met CloudX: 5 stappe

Video: Eenvoudige en standaard sakrekenaar met CloudX: 5 stappe
Video: KAMPEREN in REGEN - wandelstok TENT 2024, November
Anonim
Eenvoudige en standaard sakrekenaar met CloudX
Eenvoudige en standaard sakrekenaar met CloudX

In hierdie handleiding leer ons hoe u 'n eenvoudige en standaard sakrekenaar met CloudX kan maak. Klik as u nog niks op Interfacing -bedieningspaneel met CloudX gelees het nie. Ons doel is om u te leer hoe u u eie hardeware sakrekenaar met cloudX M633.

Ons doel is om 'n sakrekenaar te ontwerp wat optelling (+), aftrekking (-), vermenigvuldiging (*) en divisie (/) kan ontwerp met resultate in desimale tot 0,0000001 en in heelgetalle tot 90000000. Die sakrekenaar het die vermoë om wiskundige foute op te spoor, ens. Elke kind, student en stokperdjie behoort hierdie fantastiese projek te kan doen.

Stap 1: HARDWARE VEREISTES

HARDWARE VEREISTES
HARDWARE VEREISTES
HARDWARE VEREISTES
HARDWARE VEREISTES

1x CloudX -mikrobeheerder

1x CloudX SoftCard

1x USB -kabel

1x 4x4 Matrix -sleutelbord

1x 16x2 LCD -draaddrade

1x 1kΩ Weerstand

4x 10kΩ weerstande

Stap 2: PIN -AANSLUITING

PIN VERBINDING
PIN VERBINDING
PIN VERBINDING
PIN VERBINDING
PIN VERBINDING
PIN VERBINDING

CloudX -verbindingspenne met LCD en CloudX -aansluitpenne met toetsbord

Stap 3: Kringloopdiagram

STROOMBAANDIAGRAM
STROOMBAANDIAGRAM

Stap 4: Sagteware

/ * * Lêer: Smart KeyPad Lock System.c

* Skrywer: hoodie

*

* Geskep op 20 Maart 2018, 11:21

*/

#insluit

#insluit

#insluit

#insluit

#define NumberOfRows 4 // stel die vertoning op vier rye

#define NumberOfColumns 4 // stel die vertoning op drie kolomme

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;

getekende vlot antwoord;

char * Panswer;

char Aanswer [10];

getekende lang inputa;

char Ainputa [10];

ondertekende lang insette;

char Ainputb [10];

stel op(){

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

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

lcdCmd (lcd_clear);

lcdCmd (wyser_af);

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

lcdWriteText (2, 1, "CLOUDX");

vertraging Me (2000);

lcdCmd (lcd_clear);

lcdCmd (wyser_blink);

lus () {

Sleutels = getKey ();

as (Sleutels! = 0 && Sleutels == 'C') {

lcdCmd (lcd_clear);

lcdCmd (wyser_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Aanswer [a] = 0;

}

a = 0;

operasie = 0;

tjek = 0;

signa = 0;

tekenb = 0;

}

if (check == 1 && Sleutels! = 0 && Sleutels == '=') {

lcdCmd (wyser_af);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

as (signa == '-') {

inputa = -(inputa);

}

as (signb == '-') {

inputb = -(inputb);

}

as (operasie == '+') {

antwoord = inputa + inputb;

longTostr (Aanswer, antwoord, DEC);

}

if (operasie == '-') {

antwoord = inputa - inputb;

longTostr (Aanswer, antwoord, DEC);

}

as (operasie == '*') {

antwoord = inputa * inputb;

longTostr (Aanswer, antwoord, DEC);

}

as (operasie == '/') {

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

Panswer = floatTostr (antwoord);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

as (operasie == '/') {

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

lcdWriteTextCP (Panswer);

}

anders {

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

lcdWriteTextCP (Aanswer);

}

}

if (Sleutels! = 0 && (Sleutels == '+' || Sleutels == '-' || Sleutels == '*' || Sleutels == '/')) {

if (operasie! = 0 && a == 0 && signb == 0 && (sleutels == '-' || sleutels == '+')) {

lcdWriteCP (sleutels);

if (Sleutels == '-' || Sleutels == '+') {

signb = Sleutels;

}

}

if (operasie == 0 && a == 0 && signa == 0 && (sleutels == '-' || sleutels == '+')) {

lcdWriteCP (sleutels);

if (Sleutels == '-' || Sleutels == '+') {

signa = Sleutels;

}

}

as (operasie == 0 && a! = 0) {

lcdWriteCP (sleutels);

operasie = Sleutels;

a = 0;

}

}

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

as (operasie! = 0) {

lcdWriteCP (sleutels);

Ainputb [a] = Sleutels;

'n ++;

tjek = 1;

}

as (operasie == 0) {

lcdWriteCP (sleutels);

Ainputa [a] = Sleutels;

'n ++;

}

}

}

}

Aanbeveel: