ዝርዝር ሁኔታ:
- አቅርቦቶች
- ደረጃ 1: አቅርቦቶችዎን በ TinkerCad ላይ ይሰብስቡ
- ደረጃ 2 አቅርቦቶችዎን ያዘጋጁ
- ደረጃ 3 - ሽቦዎችን ማገናኘት
- ደረጃ 4 - ኮዱን መጻፍ
- ደረጃ 5 - ኮዱን ማፍረስ
- ደረጃ 6 - የዚህ ካልኩሌተር ሃርድዌር እንዴት ይሠራል?
- ደረጃ 7 - የሂሳብ ማሽን ሙሉ ቅድመ -እይታ
- ደረጃ 8 - የዚህ ኮድ የእኔ አነሳሽነት
ቪዲዮ: ኤልሲዲ ካልኩሌተር በጃይ ሚሽራ 8 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
የቲንከርካድ ፕሮጄክቶች »
ይህ የራስዎን ካልኩሌተር እንዴት እንደሚፈጥሩ የሚያስተምርዎት በጣም ጠቃሚ ፕሮጀክት ነው። ተጨማሪ መገልገያዎች በመታገዝ ይህንን ካልኩሌተር በመስመር ላይ ወይም በእውነተኛ ህይወት ውስጥ መፍጠር ይችላሉ ፣ ግን አሁን እኛ የመስመር ላይ ካልኩሌተርን በመፍጠር ላይ ብቻ እናተኩራለን።
አቅርቦቶች
- አርዱዲኖ ኡኖ አር 3
- 220 Ohms ተከላካይ
- 4*4 የቁልፍ ሰሌዳ
- 16*2 ኤልሲዲ
- ወረዳውን ለማገናኘት ብዙ ሽቦዎች
ደረጃ 1: አቅርቦቶችዎን በ TinkerCad ላይ ይሰብስቡ
ጭንቀትን እና ስህተቶችን ለመቀነስ በደረጃ 2 ከመጀመራችን በፊት ሁሉም አቅርቦቶችዎ መኖራቸውን ያረጋግጡ። እንዲሁም ትክክለኛውን አቅርቦቶች መጠቀሙን ያረጋግጡ ፣ ከላይ በዚህ ምስል ላይ ያሉት አንዳንድ ክፍሎች ከሌሎች ክፍሎች ጋር ተመሳሳይ ናቸው ፣ ስለዚህ በመካከላቸው እንዳይቀላቀሉ። ከላይ ያለውን ምስል እንደ መመሪያዎ ይጠቀሙ።
ደረጃ 2 አቅርቦቶችዎን ያዘጋጁ
የእርስዎ ካልኩሌተር ምን እንደሚመስል ቅድመ -እይታ ለማየት አቅርቦቶችዎን ማዘጋጀት በጣም ጥሩው መንገድ ነው። የሚፈልጉትን ማንኛውንም የካልኩሌተር ንድፍ መፍጠር ይችላሉ ነገር ግን ካልኩሌተር ተፈጥሯዊ መስሎ እንዲታይ እና ተጠቃሚዎች ንድፉን ተረድተው ግራ እንዳይጋቡ ያረጋግጡ። ለሁሉም ውጤታማ እና ለመረዳት የሚያስችለውን የተለመደ የክፍል ማስያ ንድፍ ተጠቀምኩ። እርስዎ የእኔን ንድፍ መምረጥ ወይም የራስዎን መፍጠር ይችላሉ ፣ ግን ያ ሁሉ የፈጠራ እና መልካም ዕድል ይሁን!
ደረጃ 3 - ሽቦዎችን ማገናኘት
ከበስተጀርባ ያለውን ትርጉም ካልተረዱ ሽቦዎችን ማገናኘት ከባድ ሥራ ነው። በዚህ ሽቦ ውስጥ ኮዱን ለመፃፍ ጊዜው ሲደርስ በቡድን ሆነው እንዲሠሩ ሁሉንም አራቱን አካላት አንድ ላይ ለማገናኘት እየሞከርን ነው። ሽቦዎች ከሌሉ ፣ የአሁኑ ፍሰት አይፈስም ፣ ወደ ውድቀት ፕሮጀክት ይመራል። ያለምንም አለመግባባት ሽቦዎችዎ በትክክል መገናኘታቸውን ያረጋግጡ።
ሽቦዎቹን ማገናኘት ከጨረሱ በኋላ የእርስዎ ሽቦዎች ሥርዓታማ እና የተደራጁ መሆናቸውን ያረጋግጡ ስለዚህ እርስዎ እና ሌሎች በዚህ ካልኩሌተር ሃርድዌር ውስጥ በትክክል ምን እየተከናወነ እንዳለ ለመረዳት ቀላል ይሆንልዎታል። ቀደም ብዬ እንደነገርኩት ፣ ሽቦዎችዎን የማደራጀት ዘዴዬን መጠቀም ይችላሉ ወይም የራስዎን መፍጠር ይችላሉ ፣ ግን እርስዎ ለማድረግ የወሰኑት ሁሉ ፣ እነሱ የተወሰነ ቦታ መያዛቸውን ያረጋግጡ።
ደረጃ 4 - ኮዱን መጻፍ
#ያካትቱ
#አካትት #አካትት
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
ረጅም መጀመሪያ = 0; ረጅም ሰከንድ = 0; ድርብ ድምር = 0;
char customKey; const byte ROWS = 4; const byte COLS = 4;
የቻር ቁልፎች [ROWS] [COLS] = {{'1', '4', '7', '/'} ፣ {'2', '5', '8', '+'} ፣ {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; ባይት ረድፍ ፒኖች [ROWS] = {7, 6, 5, 4}; // የቁልፍ ሰሌዳው ባይት ኮልፒንስ [COLS] = {3, 2, 1, 0} ከረድፍ ፒኖዎች ጋር ይገናኙ። // ከቁልፍ ሰሌዳው አምድ ፒኖዎች ጋር ይገናኙ
// የክፍል ምሳሌን ያስጀምሩ።
ባዶነት ማዋቀር () {lcd.begin (16, 2); // ጀምር lcd ለ (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("ካልኩሌተር"); lcd.setCursor (0, 1); lcd.print ("በጃይ ሚሽራ"); መዘግየት (4000); lcd.clear (); lcd.print (“የመጨረሻ ፕሮጀክት”); መዘግየት (2500); lcd.clear (); lcd.setCursor (0, 0); }
ባዶነት loop () {
customKey = customKeypad.getKey (); መቀየሪያ (ብጁ ኪይ) {ጉዳይ '0'… '9': // አንድ ኦፕሬተር "+-*/" lcd.setCursor (0, 0) እስኪጫን ድረስ ይህ የመጀመሪያውን እሴት መሰብሰቡን ይቀጥላል። መጀመሪያ = መጀመሪያ * 10 + (ብጁ ኪይ - '0'); lcd.print (የመጀመሪያ); ሰበር;
ጉዳይ '+': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("+"); ሁለተኛ = SecondNumber (); // የተሰበሰበውን ሁለተኛውን ቁጥር ጠቅላላ = የመጀመሪያ + ሁለተኛ ያግኙ ፣ lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; // ለቀጣይ አጠቃቀም እረፍት እሴቶችን ወደ ዜሮ ይመልሱ ፤
ጉዳይ '-': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("-"); ሁለተኛ = SecondNumber (); ጠቅላላ = የመጀመሪያው - ሁለተኛ; lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ '*': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("*"); ሁለተኛ = SecondNumber (); ጠቅላላ = የመጀመሪያው * ሰከንድ; lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ '/': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("/"); ሁለተኛ = SecondNumber (); lcd.setCursor (0, 3);
ሁለተኛ == 0? lcd.print ("ልክ ያልሆነ"): ጠቅላላ = (ተንሳፋፊ) የመጀመሪያ / (ተንሳፋፊ) ሁለተኛ;
lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ 'ሐ': ጠቅላላ = 0; lcd.clear (); ሰበር; }}
ረጅም SecondNumber () {ሳለ (1) {customKey = customKeypad.getKey (); ከሆነ (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (ሁለተኛ); }
(customKey == '=') ከተሰበረ; // ተመለስ ሁለተኛ; } ሁለተኛ መመለስ; }
ደረጃ 5 - ኮዱን ማፍረስ
ለኮምፒውተሩ ለመረዳት እሴቶችን አነሳስተናል
#ያካትቱ
#አካትት #አካትት
LiquidCrystal lcd (13, 12, 11, 10, 9, 8);
ረጅም መጀመሪያ = 0; ረጅም ሰከንድ = 0; ድርብ ድምር = 0;
char customKey; const byte ROWS = 4; const byte COLS = 4;
የቁልፍ ሰሌዳው የሚሰራበትን ቁጥሮች እና ምልክቶች ለኮምፒውተሩ ነገርነው።
የቻር ቁልፎች [ROWS] [COLS] = {{'1', '2', '3', '/'} ፣ {'4', '5', '6', '+'} ፣ {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};
የቁልፍ ሰሌዳን ረድፎች እና ዓምዶች እና የትኛው ቁጥር በየትኛው ዓምድ ውስጥ እንደሚመጣ ፣ ወዘተ
ባይት ረድፍ ፒኖች [ROWS] = {7, 6, 5, 4}; ባይት ኮልፒንስ [COLS] = {3, 2, 1, 0};
እኛ ለኮምፒውተሩ መግቢያውን ወይም በማያ ገጹ ላይ ያለውን ኃይል ፈጠርን (የራስዎን ስም በላዩ ላይ መጻፍ ይችላሉ)።
ባዶነት ማዋቀር () {lcd.begin (16, 2); ለ (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("ካልኩሌተር"); lcd.setCursor (0, 1); lcd.print ("በጃይ ሚሽራ"); መዘግየት (4000); lcd.clear (); lcd.print (“የመጨረሻ ፕሮጀክት”); መዘግየት (2500); lcd.clear (); lcd.setCursor (0, 0); }
በካልኩሌተር ውስጥ ለእያንዳንዱ ክወና ትርጉሙን እና ቀመሩን እንፈጥራለን ፣ ስለሆነም ኮምፒዩተሩ ተጠቃሚው በሒሳብ ማሽን ላይ “+” ን ሲጫን ምን ዓይነት ቀመር እንደሚጠቀም ይገነዘባል።
{ጉዳይ '0'… '9': lcd.setCursor (0, 0); መጀመሪያ = መጀመሪያ * 10 + (ብጁ ኪይ - '0'); lcd.print (የመጀመሪያ); ሰበር;
ጉዳይ '/': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("/"); ሁለተኛ = SecondNumber (); lcd.setCursor (0, 3);
ሁለተኛ == 0? lcd.print ("ልክ ያልሆነ"): ጠቅላላ = (ተንሳፋፊ) የመጀመሪያ / (ተንሳፋፊ) ሁለተኛ;
lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር; ጉዳይ '+': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("+"); ሁለተኛ = SecondNumber (); lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ '-': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("-"); ሁለተኛ = SecondNumber (); ጠቅላላ = የመጀመሪያው - ሁለተኛ; lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ '*': መጀመሪያ = (ጠቅላላ! = 0? ጠቅላላ: መጀመሪያ); lcd.setCursor (0, 1); lcd.print ("*"); ሁለተኛ = SecondNumber (); ጠቅላላ = የመጀመሪያው * ሰከንድ; lcd.setCursor (0, 3); lcd.print (ጠቅላላ); የመጀመሪያው = 0 ፣ ሁለተኛ = 0; ሰበር;
ጉዳይ 'ሐ': ጠቅላላ = 0; lcd.clear (); ሰበር; }}
ኮዱ በጣም ቀላል ነው ፣ ማድረግ ያለብዎት እሱን ለመረዳት መሞከር እና ከዚያ ሁሉም ነገር በቀላሉ ሊከናወን ይችላል። በኮዱ ላይ ችግሮች ካሉ ፣ በኢሜል ይላኩልኝ።
ደረጃ 6 - የዚህ ካልኩሌተር ሃርድዌር እንዴት ይሠራል?
ይህ ካልኩሌተር ፣ ኤልሲዲ ፣ የቁልፍ ሰሌዳ ፣ የአርዱዲኖ ሰሌዳ እና 220 ohms resistor ይጠቀማል። እነዚህ ሁሉ ክፍሎች ተለያይተዋል ነገር ግን ከአርዱዱኖ እስከ ቁልፍ ሰሌዳው እና ኤል.ሲ.ዲ. የኤልሲዲው የተለያዩ ክፍሎች ከአርዱዲኖ ቦርድ ጋር የተገናኙ ሲሆን በመጨረሻም ሁለቱንም በቁልፍ ሰሌዳ ያገናኛል። ከግንኙነቱ በኋላ ኮዲንግ ሁሉንም ሥራውን ያከናውናል እና በቁልፍ ሰሌዳው ላይ ያለውን እያንዳንዱን አሠራር እና አዝራር የሚከተለውን ሥራ ይሰጠዋል።
ደረጃ 7 - የሂሳብ ማሽን ሙሉ ቅድመ -እይታ
የመጨረሻው ፕሮጀክታችን ይህን ይመስላል! ኮድዎ የማይሰራ ከሆነ ፣ ወይም አንዳንድ ቴክኒካዊ ችግሮች ካሉ እባክዎን በኢሜል ይላኩልኝ እና በጣም ጥሩውን የሂሳብ ማሽን እንዲፈጥሩ ለመርዳት የተቻለኝን ሁሉ እሞክራለሁ!
ደረጃ 8 - የዚህ ኮድ የእኔ አነሳሽነት
እኔ tinkercad ላይ ካልኩሌተር እንዴት እንደሚሰራ ከላይ ካለው ቪዲዮ አነሳሳኝ! እኔ ምንም አልገለበጥኩም እና አልለጠፍኩም ነገር ግን የእሱን የሂሳብ ማሽን እና የኮዱን ግንዛቤ እጠቀም ነበር።
የሚመከር:
ብሉቱዝ 50 ግ - ለተሰበረ የ HP50G ካልኩሌተር የ Upcycle ፕሮጀክት ።7 ደረጃዎች
ብሉቱዝ 50 ግ - ለተሰበረ የ HP50G ካልኩሌተር አንድ የሳይክል ፕሮጀክት ካልኩሌተር ለራሱ ይሠራል ፣ ግን ውጤቶቹ በማያ ገጹ ላይ አይታዩም (ቀጥ ያሉ መስመሮች ብቻ)። ስርዓቱ የብሉቱዝ ቁልፍ ሰሌዳውን
ለካኖን ኢኦ-ኤች -44 ጂ-ግራፊክስ-ካልኩሌተር-ወደ-ኢንተርቫሎሜትት -4 ደረጃዎች
ለካኖን ኢኦስ-HP-49G-Graphing-Calculator-into-an-Intervalomet: Disparador autom à ƒ  ¡ tico y manual para Canon Eos con HP49GPor Abraham [email protected]: //www.flickr.com /ፎቶዎች/cacholongo/አካሎች necesarios: 2n3904 ፣ Resistencia 2,2k; ዲዮዶ 1n4001 ፣ ኬብል ደ conexi à ƒ  & su
Nextion/Arduino ካልኩሌተር 3 ደረጃዎች
Nextion/Arduino Calculator: ለአርዱዲኖ ኡኖ ጠቃሚ ካልኩሌተር። ካልኩሌተር ከዊንዶውስ 10 ጋር ከሚላከው መደበኛ ካልኩሌተር ጋር ተመሳሳይ ነው። ማስታወሻ - ዊንዶውስ 10 ካልኩሌተር የሚያደርገውን ሳይንሳዊ እና የፕሮግራም አዘጋጆች ተግባሮችን አያካትትም ፣ ግን እነዚህ ቀልዶች
በብሉቱዝ ቁጥጥር የሚደረግበት መልእክተኛ ኤልሲዲ -- 16x2 ኤልሲዲ -- Hc05 -- ቀላል -- የገመድ አልባ ማስታወቂያ ሰሌዳ - 8 ደረጃዎች
በብሉቱዝ ቁጥጥር የሚደረግበት መልእክተኛ ኤልሲዲ || 16x2 ኤልሲዲ || Hc05 || ቀላል || የገመድ አልባ ማስታወቂያ ቦርድ ፦ …………………………. እባክዎን ለተጨማሪ ቪዲዮዎች የዩቲዩብ ቻናሌን ሰብስክራይብ ያድርጉ …… …………………………………. የማስታወቂያ ሰሌዳው ሰዎችን በአዲስ መረጃ ለማዘመን ያገለግላል ወይም በክፍል ውስጥ ወይም በግማሽ መልእክት ለመላክ ከፈለጉ
የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - 4 ደረጃዎች
የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - ሰላም በዚህ አስተማሪዎች ውስጥ መሰረታዊ ስሌቶችን ማድረግ የሚችል አርዱዲኖን በመጠቀም ካልኩሌተር እንሠራለን። ስለዚህ በመሠረቱ ከ 4x4 ቁልፍ ሰሌዳ ግብዓት እንወስዳለን እና በ 16x2 ኤልሲዲ ማሳያ ላይ ውሂቡን እናተም እና አርዱinoኖ ስሌቶችን ያደርጋል