Obsah:

Jednoduchá a štandardná kalkulačka s CloudX: 5 krokov
Jednoduchá a štandardná kalkulačka s CloudX: 5 krokov

Video: Jednoduchá a štandardná kalkulačka s CloudX: 5 krokov

Video: Jednoduchá a štandardná kalkulačka s CloudX: 5 krokov
Video: Полный курс по Next js - Изучи Nextjs за 2 часа! | React SSR +таймкоды 2024, Júl
Anonim
Jednoduchá a štandardná kalkulačka s CloudX
Jednoduchá a štandardná kalkulačka s CloudX

V tomto tutoriále sa naučíme, ako vytvoriť jednoduchú a štandardnú kalkulačku s CloudX. Kliknite na položku Ak ste si predtým nič na klávesnici Interfacing s CloudX nečítali, tu je naším cieľom naučiť vás, ako môžete rozvíjať svoje vlastná hardvérová kalkulačka pomocou cloudX M633.

Našim cieľom je byť schopný navrhnúť kalkulačku, ktorá dokáže sčítanie (+), odčítanie (-), násobenie (*) a delenie (/) s výsledkami v desatinných číslach od 0,0000001 do celých čísel až do 90000000. má schopnosť detekovať matematické chyby atď. Každé dieťa, študent a nadšenec by malo byť schopné zvládnuť tento fantastický projekt.

Krok 1: HARDWAROVÉ POŽIADAVKY

HARDWAROVÉ POŽIADAVKY
HARDWAROVÉ POŽIADAVKY
HARDWAROVÉ POŽIADAVKY
HARDWAROVÉ POŽIADAVKY

1x Mikrokontrolér CloudX

1x SoftCard CloudX

1x USB kábel

1x maticová klávesnica 4x4

1x prepojovací drôt LCD 16x2

1x 1kΩ odpor

Rezistory 4x 10kΩ

Krok 2: PRIPOJENIE PINU

PRIPOJENIE PINU
PRIPOJENIE PINU
PRIPOJENIE PINU
PRIPOJENIE PINU
PRIPOJENIE PINU
PRIPOJENIE PINU

Pripojovacie kolíky CloudX s LCD a Pripojovacie kolíky CloudX s klávesnicou

Krok 3: SCHÉMA OKRUHU

SCHÉMA OKRUHU
SCHÉMA OKRUHU

Krok 4: SOFTVÉR

/ * * Súbor: Smart KeyPad Lock System.c

* Autor: mikina

*

* Vytvorené 20. marca 2018, 11:21

*/

#zahrnúť

#zahrnúť

#zahrnúť

#zahrnúť

#define NumberOfRows 4 // nastavenie zobrazenia na štyri riadky

#define NumberOfColumns 4 // nastavenie zobrazenia na tri stĺpce

char Znaky klávesnice [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 Klávesy, a = 0, kontrola = 0, operácia = 0, signa = 0, signb = 0;

podpísaná plávajúca odpoveď;

char * Panswer;

char Aanswer [10];

podpísané dlhé vstupy;

char Ainputa [10];

podpísaný dlhý vstupb;

char Ainputb [10];

nastaviť(){

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

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

lcdCmd (lcd_clear);

lcdCmd (cursor_off);

lcdWriteText (1, 1, "KALKULÁTOR S");

lcdWriteText (2, 1, "CLOUDX");

delayMs (2000);

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

slučka () {

Kľúče = getKey ();

ak (klávesy! = 0 && kľúče == 'C') {

lcdCmd (lcd_clear);

lcdCmd (cursor_blink);

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

Ainputa [a] = 0;

Ainputb [a] = 0;

Odpoveď [a] = 0;

}

a = 0;

operácia = 0;

kontrola = 0;

signa = 0;

signb = 0;

}

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

lcdCmd (cursor_off);

inputa = atoi (Ainputa);

inputb = atoi (Ainputb);

if (signa == '-') {

vstupa = -(vstupa);

}

if (signb == '-') {

vstupb = -(vstupb);

}

if (operation == '+') {

odpoveď = vstupa + vstupb;

longTostr (Aanswer, odpoveď, DEC);

}

if (operation == '-') {

odpoveď = vstupa - vstupb;

longTostr (Aanswer, odpoveď, DEC);

}

if (operation == '*') {

odpoveď = vstupa * vstupb;

longTostr (Aanswer, odpoveď, DEC);

}

if (operation == '/') {

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

Panswer = floatTostr (odpoveď);

if (inputa> inputb) {

Panswer [5] = 0;

}

}

if (operation == '/') {

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

lcdWriteTextCP (odpoveď);

}

inak {

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

lcdWriteTextCP (odpoveď);

}

}

ak (kľúče! = 0 && (kľúče == '+' || kľúče == '-' || kľúče == '*' || kľúče == '/')) {

if (operation! = 0 && a == 0 && signb == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (kľúče);

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

signb = kľúče;

}

}

if (operation == 0 && a == 0 && signa == 0 && (Keys == '-' || Keys == '+')) {

lcdWriteCP (kľúče);

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

signa = kľúče;

}

}

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

lcdWriteCP (kľúče);

operácia = klávesy;

a = 0;

}

}

ak (klávesy! = 0 && (kľúče == '0' || kľúče == '1' || kľúče == '2' || kľúče == '3' || kľúče == '4' || kľúče = = '5' || Kľúče == '6' || Kľúče == '7' || Kľúče == '8' || Kľúče == '9')) {

if (operácia! = 0) {

lcdWriteCP (kľúče);

Ainputb [a] = klávesy;

a ++;

šek = 1;

}

if (operation == 0) {

lcdWriteCP (kľúče);

Ainputa [a] = klávesy;

a ++;

}

}

}

}

Krok 5:

Odporúča: