Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
I denne opplæringen vil vi lære hvordan du lager en enkel og standard kalkulator med CloudX. Klikk Hvis du ikke har lest noe på tastaturet Interfacing med CloudX før, her er målet vårt å lære deg hvordan du kan utvikle din egen maskinvarekalkulator som bruker cloudX M633.
Målet vårt er å kunne designe en kalkulator som kan gjøre addisjon (+), subtraksjon (-), multiplikasjon (*) og divisjon (/) med resultater i desimaler så lave som 0.0000001 og i hele tall opp til 90000000. Kalkulatoren har evnen til å oppdage matematiske feil etc. Alle barn, studenter og hobbyister bør kunne gjøre dette fantastiske prosjektet.
Trinn 1: MASKINKRAV
1x CloudX mikrokontroller
1x CloudX SoftCard
1x USB -kabel
1x 4x4 Matrix -tastatur
1x 16x2 LCD -ledertråder
1x 1kΩ motstand
4x 10kΩ motstander
Trinn 2: PIN -TILKOBLING
CloudX Connection pins med LCD og CloudX Connection pins med tastatur
Trinn 3: KRETSDIAGRAM
Trinn 4: PROGRAMVARE
/ * * Fil: Smart KeyPad Lock System. C
* Forfatter: hettegenser
*
* Opprettet 20. mars 2018 kl. 11:21
*/
#inkludere
#inkludere
#inkludere
#inkludere
#define NumberOfRows 4 // sett displayet til fire rader
#define NumberOfColumns 4 // sett visningen til tre kolonner
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;
signert float svar;
røye * Panswer;
char Aanswer [10];
signert lang inputa;
røye Ainputa [10];
signert lang inputb;
røye Ainputb [10];
setup () {
Tastaturinnstilling (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);
lcdSetting (1, 2, 3, 4, 5, 6);
lcdCmd (lcd_clear);
lcdCmd (cursor_off);
lcdWriteText (1, 1, "KALKULATOR MED");
lcdWriteText (2, 1, "CLOUDX");
delayMs (2000);
lcdCmd (lcd_clear);
lcdCmd (cursor_blink);
Løkke(){
Nøkler = getKey ();
if (Keys! = 0 && Keys == 'C') {
lcdCmd (lcd_clear);
lcdCmd (cursor_blink);
for (a = 0; a <10; a ++) {
Ainputa [a] = 0;
Ainputb [a] = 0;
Svar [a] = 0;
}
a = 0;
operasjon = 0;
sjekk = 0;
signa = 0;
signb = 0;
}
if (check == 1 && Keys! = 0 && Keys == '=') {
lcdCmd (cursor_off);
inputa = atoi (Ainputa);
inputb = atoi (Ainputb);
hvis (signa == '-') {
inputa = -(inputa);
}
if (signb == '-') {
inputb = -(inputb);
}
hvis (operasjon == '+') {
svar = inputa + inputb;
longTostr (Aanswer, svar, DEC);
}
if (operasjon == '-') {
svar = inputa - inputb;
longTostr (Aanswer, svar, DEC);
}
if (operasjon == '*') {
svar = inputa * inputb;
longTostr (Aanswer, svar, DEC);
}
if (operasjon == '/') {
svar = (float) inputa / (float) inputb;
Panswer = floatTostr (svar);
if (inputa> inputb) {
Panswer [5] = 0;
}
}
if (operasjon == '/') {
lcdWriteText (2, 1, "ANS:");
lcdWriteTextCP (Panswer);
}
annet {
lcdWriteText (2, 1, "ANS:");
lcdWriteTextCP (Aanswer);
}
}
if (Keys! = 0 && (Keys == '+' || Keys == '-' || Keys == '*' || Keys == '/')) {
if (operasjon! = 0 && a == 0 && signb == 0 && (Keys == '-' || Keys == '+')) {
lcdWriteCP (nøkler);
if (Keys == '-' || Keys == '+') {
signb = Nøkler;
}
}
if (drift == 0 && a == 0 && signa == 0 && (Keys == '-' || Keys == '+')) {
lcdWriteCP (nøkler);
if (Keys == '-' || Keys == '+') {
signa = Nøkler;
}
}
hvis (drift == 0 && a! = 0) {
lcdWriteCP (nøkler);
operasjon = Nøkler;
a = 0;
}
}
if (Keys! = 0 && (Keys == '0' || Keys == '1' || Keys == '2' || Keys == '3' || Keys == '4' || Keys = = '5' || Nøkler == '6' || Nøkler == '7' || Nøkler == '8' || Nøkler == '9')) {
hvis (operasjon! = 0) {
lcdWriteCP (nøkler);
Ainputb [a] = Nøkler;
a ++;
sjekk = 1;
}
hvis (operasjon == 0) {
lcdWriteCP (nøkler);
Ainputa [a] = Nøkler;
a ++;
}
}
}
}
Anbefalt:
Enkel CloudX M633 digital stoppeklokke: 4 trinn
Enkel CloudX M633 digital stoppeklokke: I dette prosjektet skal vi lage en versjon av en digital klokke som kan holde oversikt over timer, minutter og sekunder, akkurat som et stoppeklokke på mobiltelefonen! Vi skal bruke en LCD for å vise tiden
Hvordan lage en enkel kalkulator i Java: 10 trinn
Hvordan lage en enkel kalkulator i Java: Dette er en enkel introduksjon til programmeringsspråket Java som er beregnet for folk med liten eller ingen kunnskap om programmering.Materialer: Datamaskin eller bærbar datamaskin (med Eclipse installert) Kan installere formørkelse på https: // www. eclipse.org/downloads
ESP12 enkel lodding på standard kretskort: 3 trinn
ESP12 enkel lodding på standard PCB: Hei, den kinesiske ESP12 er veldig frekk, men er et mareritt å teste på brødbrett eller lodde på PCB på grunn av det uvanlige 2 mm trinnet mellom beina. Jeg lager en liten 3D -trykt adapter og etter flere forsøk fant jeg en veldig enkel og pålitelig løsning
Enkel introduksjon til Java -kalkulator: 9 trinn
Enkel Java -kalkulatorintro: Enkel Java -kalkulatorIntro: I dette prosjektet skal vi lære deg hvordan du lager en enkel kalkulator i Java. Vi antar at du allerede har installert Eclipse IDE (Integrated Development Environment). Hvis du ikke allerede har denne sofaen
En enkel å lage, billig og enkel LED-blinkende krets med CMOS 74C14: 5 trinn
En enkel å lage, billig og enkel LED-blinkende krets med CMOS 74C14: Noen ganger trenger du ganske enkelt noen blinkende lysdioder, for dekorasjon av chrismas, blinkende kunstverk eller bare for å ha det gøy med blink blink blink. Jeg skal vise deg hvordan du lager en billig og enkel krets med opptil 6 blinkende lysdioder. Merk: Dette er min første instuctable og