Innehållsförteckning:
Video: Enkel och standardräknare med CloudX: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
I den här självstudien kommer vi att lära oss hur man gör en enkel och standardräknare med CloudX. Klicka om du inte har läst någonting på gränssnittsknappsatsen med CloudX tidigare. Här är vårt mål att lära dig hur du kan utveckla din egen hårdvarukalkylator med cloudX M633.
Vårt mål är att kunna designa en räknare som kan göra addition (+), subtraktion (-), multiplikation (*) och division (/) med resultat i decimaler så låga som 0.0000001 och i heltal upp till 90000000. Räknaren har förmågan att upptäcka matematiska fel etc. Varje barn, student och hobbyist ska kunna göra detta fantastiska projekt.
Steg 1: MASKINKRAV
1x CloudX mikrokontroller
1x CloudX SoftCard
1x USB -kabel
1x 4x4 Matrix -knappsats
1x 16x2 LCD -bygeltrådar
1x 1kΩ motstånd
4x 10kΩ motstånd
Steg 2: PIN -ANSLUTNING
CloudX -anslutningsnålar med LCD och CloudX -anslutningsnålar med knappsats
Steg 3: CIRCUIT DIAGRAM
Steg 4: PROGRAMVARA
/ * * Fil: Smart KeyPad Lock System. C
* Författare: hoodie
*
* Skapad den 20 mars 2018, 11:21
*/
#omfatta
#omfatta
#omfatta
#omfatta
#define NumberOfRows 4 // ställ in skärmen på fyra rader
#define NumberOfColumns 4 // ställ in displayen på tre kolumner
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;
undertecknat float svar;
char * Panswer;
röding Aanswer [10];
signerad lång inputa;
röding Ainputa [10];
signerad lång inputb;
röding Ainputb [10];
uppstart(){
Knappsats (PULLDOWNCOL, RowPins, ColumnsPins, NumberOfRows, NumberOfColumns, KeypadCharacters);
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);
slinga(){
Nycklar = getKey ();
if (Keys! = 0 && Keys == 'C') {
lcdCmd (lcd_clear);
lcdCmd (cursor_blink);
för (a = 0; a <10; a ++) {
Ainputa [a] = 0;
Ainputb [a] = 0;
Aanswer [a] = 0;
}
a = 0;
operation = 0;
check = 0;
signa = 0;
signb = 0;
}
if (check == 1 && Keys! = 0 && Keys == '=') {
lcdCmd (cursor_off);
inputa = atoi (Ainputa);
inputb = atoi (Ainputb);
if (signa == '-') {
inputa = -(inputa);
}
if (signb == '-') {
inputb = -(inputb);
}
if (operation == '+') {
svar = inputa + inputb;
longTostr (Aanswer, svar, DEC);
}
if (operation == '-') {
svar = inputa - inputb;
longTostr (Aanswer, svar, DEC);
}
if (operation == '*') {
svar = inputa * inputb;
longTostr (Aanswer, svar, DEC);
}
if (operation == '/') {
svar = (float) inputa / (float) inputb;
Panswer = floatTostr (svar);
if (inputa> inputb) {
Panswer [5] = 0;
}
}
if (operation == '/') {
lcdWriteText (2, 1, "ANS:");
lcdWriteTextCP (Panswer);
}
annat {
lcdWriteText (2, 1, "ANS:");
lcdWriteTextCP (Aanswer);
}
}
if (Keys! = 0 && (Keys == '+' || Keys == '-' || Keys == '*' || Keys == '/')) {
if (operation! = 0 && a == 0 && signb == 0 && (Keys == '-' || Keys == '+')) {
lcdWriteCP (nycklar);
if (Nycklar == '-' || Nycklar == '+') {
signb = Nycklar;
}
}
if (operation == 0 && a == 0 && signa == 0 && (Keys == '-' || Keys == '+')) {
lcdWriteCP (nycklar);
if (Nycklar == '-' || Nycklar == '+') {
signa = Nycklar;
}
}
if (operation == 0 && a! = 0) {
lcdWriteCP (nycklar);
operation = Nycklar;
a = 0;
}
}
if (Nycklar! = 0 && (nycklar == '0' || nycklar == '1' || nycklar == '2' || nycklar == '3' || nycklar == '4' || nycklar = = '5' || Nycklar == '6' || Nycklar == '7' || Nycklar == '8' || Nycklar == '9')) {
if (operation! = 0) {
lcdWriteCP (nycklar);
Ainputb [a] = Nycklar;
a ++;
check = 1;
}
if (operation == 0) {
lcdWriteCP (nycklar);
Ainputa [a] = Nycklar;
a ++;
}
}
}
}
Steg 5:
Rekommenderad:
Enkel och enkel Spider-Man Web-Shooter: 12 steg
Simple & Easy Spider-Man Web-Shooter: Har du sett en Spider-Man-film? En Spider-Man-serietidning? Något vagt Spider-Man-relaterat? Spider-Man är till synes överallt. Varför inte göra en enkel webb-shooter? Efter lite övning skapade jag en design av husmaterial som kunde skapas
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid
UPPDATERAD !!!! Billig och enkel WIFI -antenn Signalförstärkare som är bättre och snabbare än papperet !!!: 9 steg
UPPDATERAD !!!! Billig och enkel WIFI -antenn Signalförstärkare som är bättre och snabbare än papperet !!!: En ny sväng på en gammal idé för att förbättra din WIFI -signal
En enkel, billig och enkel LED-blinkande krets med CMOS 74C14: 5 steg
En lätt att göra, billig och enkel LED-blinkande krets med CMOS 74C14: Ibland behöver du bara några blinkande lysdioder, för juldekoration, blinkande konstverk eller bara för att ha kul med blink blink blink. Jag ska visa dig hur du gör en billig och enkel krets med upp till 6 blinkande lysdioder. Obs: Detta är min första instuktiv och