Inhoudsopgave:

Eenvoudige en standaard rekenmachine met CloudX - Ajarnpa
Eenvoudige en standaard rekenmachine met CloudX - Ajarnpa

Video: Eenvoudige en standaard rekenmachine met CloudX - Ajarnpa

Video: Eenvoudige en standaard rekenmachine met CloudX - Ajarnpa
Video: How to get ALL 200 MARKERS in FIND THE MARKERS || Roblox 2024, November
Anonim
Eenvoudige en standaard rekenmachine met CloudX
Eenvoudige en standaard rekenmachine met CloudX

In deze tutorial zullen we leren hoe je een eenvoudige en standaard rekenmachine kunt maken met CloudX. Klik a.u.b. Als je nog niets eerder hebt gelezen op het interface-toetsenbord met CloudX, hier is ons doel om je te leren hoe je je eigen hardwarecalculator met cloudX M633.

Ons doel is om een rekenmachine te kunnen ontwerpen die optellen (+), aftrekken (-), vermenigvuldigen (*) en delen (/) kan doen met resultaten in decimalen zo laag als 0,0000001 en in gehele getallen tot 90000000. heeft de mogelijkheid om rekenfouten enz. op te sporen. Elk kind, student en hobbyist zou dit fantastische project moeten kunnen doen.

Stap 1: HARDWAREVEREISTEN

HARDWAREVEREISTEN
HARDWAREVEREISTEN
HARDWAREVEREISTEN
HARDWAREVEREISTEN

1x CloudX-microcontroller

1x CloudX SoftCard

1x USB-kabel

1x 4x4 Matrix-toetsenbord

1x 16x2 LCD jumperdraden

1x 1kΩ Weerstand

4x 10kΩ Weerstanden

Stap 2: PIN-VERBINDING

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

CloudX-verbindingspinnen met LCD en CloudX-verbindingspinnen met toetsenbord

Stap 3: CIRCUIT DIAGRAM

SCHAKELSCHEMA
SCHAKELSCHEMA

Stap 4: SOFTWARE

/* * Bestand: Smart KeyPad Lock System.c

* Auteur: hoodie

*

* Gemaakt op 20 maart 2018, 11:21 uur

*/

#erbij betrekken

#erbij betrekken

#erbij betrekken

#erbij betrekken

#define NumberOfRows 4 // weergave instellen op vier rijen

#define NumberOfColumns 4 // weergave instellen op drie kolommen

char KeypadCharacters[AantalRijen][AantalKolommen] = {

'1', '2', '3', '+', '4', '5', '6', '-', '7', '8', '9', '*', 'C', '0', '=', '/'

};

char RowPins [Aantal Rijen] = {7, 8, 9, 10};

char ColumnsPins [AantalKolommen] = {11, 12, 13, 14};

char Keys, a=0, check =0, operation=0, signa=0, signb=0;

ondertekend float antwoord;

char * Pantwoord;

char Aantwoord[10];

ondertekend lange inputa;

char Ainputa[10];

ondertekend lange inputb;

char Ainputb[10];

opstelling(){

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

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

lcdCmd(lcd_clear);

lcdCmd(cursor_uit);

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

lcdWriteText(2, 1, " CLOUDX ");

vertraging Ms (2000);

lcdCmd(lcd_clear);

lcdCmd(cursor_blink);

lus(){

Sleutels=getKey();

if(Toetsen!=0 && Toetsen=='C'){

lcdCmd(lcd_clear);

lcdCmd(cursor_blink);

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

Ainputa[a]=0;

Aingangb[a]=0;

Aantwoord[a]=0;

}

een=0;

operatie=0;

controleren = 0;

signa =0;

tekenb =0;

}

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

lcdCmd(cursor_uit);

inputa = atoi(Ainputa);

inputb = atoi(Ainputb);

if(signa=='-'){

invoer = -(invoer);

}

if(signb=='-'){

invoerb = -(invoerb);

}

if(bewerking == '+'){

antwoord = invoera + invoerb;

longTostr(Aantwoord, antwoord, DEC);

}

if(bewerking == '-'){

antwoord = inputa - inputb;

longTostr(Aantwoord, antwoord, DEC);

}

if(bewerking == '*'){

antwoord = invoera * invoerb;

longTostr(Aantwoord, antwoord, DEC);

}

if(bewerking == '/'){

antwoord = (zwevende) invoer / (zwevende) invoerb;

Panswer = floatTostr(antwoord);

if(invoer > invoerb){

Pantwoord[5]=0;

}

}

if(bewerking == '/'){

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

lcdWriteTextCP(Pantwoord);

}

anders {

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

lcdWriteTextCP(Aantwoord);

}

}

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

if(bewerking != 0 && a==0 && signb ==0 && (Sleutels=='-'||Sleutels=='+')){

lcdWriteCP (toetsen);

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

tekenb = Sleutels;

}

}

if(bewerking == 0 && a == 0 && signa ==0 && (Sleutels=='-'||Sleutels=='+')){

lcdWriteCP (toetsen);

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

signa = Sleutels;

}

}

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

lcdWriteCP (toetsen);

bediening = Toetsen;

een=0;

}

}

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

if(bewerking!= 0){

lcdWriteCP (toetsen);

Ainputb[a] = Toetsen;

een ++;

controle=1;

}

if(bewerking == 0){

lcdWriteCP (toetsen);

Ainputa[a] = Sleutels;

een ++;

}

}

}

}

Aanbevolen: