ዝርዝር ሁኔታ:

የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - 4 ደረጃዎች
የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - 4 ደረጃዎች

ቪዲዮ: የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 የቁልፍ ሰሌዳ በመጠቀም - 4 ደረጃዎች
ቪዲዮ: Arduino Home Automation | Control using TV remote(አምፖሎችዎን በቴሌቪዥን የርቀት መቆጣጠሪያ እንዴት እንደሚቆጣጠሩ) 2024, ህዳር
Anonim
የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 ቁልፍ ሰሌዳ በመጠቀም
የአርዱዲኖ DIY ካልኩሌተር 1602 ኤልሲዲ እና 4x4 ቁልፍ ሰሌዳ በመጠቀም

ጤና ይስጥልኝ በዚህ አስተማሪዎች ውስጥ መሰረታዊ ስሌቶችን ማድረግ የሚችል አርዱዲኖን በመጠቀም ካልኩሌተር እንሠራለን። ስለዚህ በመሠረቱ ከ 4x4 ቁልፍ ሰሌዳ ግብዓት እንወስዳለን እና በ 16x2 lcd ማሳያ ላይ ውሂቡን እናተም እና አርዱኢኖ ስሌቶችን ያደርጋል።

ደረጃ 1: የሚያስፈልጉዎት ነገሮች

የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች
የሚያስፈልጉዎት ነገሮች

ለዚህ አስተማሪዎች የሚከተሉትን ነገሮች ያስፈልጉናል አርዱinoኖ ኡኖ (ማንኛውም ስሪት ይሠራል)

16 × 2 ኤልሲዲ ማሳያ

4 × 4 የቁልፍ ሰሌዳ 9 ቪ ባትሪ ዳቦቦርድ የማገናኘት ሽቦዎች

ደረጃ 2 - ግንኙነቶች

ግንኙነቶች
ግንኙነቶች
ግንኙነቶች
ግንኙነቶች

የዚህ የአርዱዲኖ ካልኩሌተር ፕሮጀክት የተሟላ የወረዳ ሥዕል ከላይ ተሰጥቷል። በወረዳው ዲያግራም ላይ የሚታየው +5V እና የመሬት ግንኙነት ከአርዱዲኖ 5V እና የመሬት ፒን ማግኘት ይቻላል። አርዱዲኖ ራሱ 12V አስማሚ ወይም 9 ቪ ባትሪ በመጠቀም ከእርስዎ ላፕቶፕ ወይም በዲሲ መሰኪያ በኩል ሊሠራ ይችላል። ኤልዲዲውን በ 4 ቢት ሞድ ከአርዱዲኖ ጋር እየሠራን ነው ፣ ስለዚህ የኤልሲዲዎቹ የመጨረሻዎቹ አራት የመረጃ ቁርጥራጮች ብቻ ከአርዱዲኖ ጋር ተገናኝተዋል። ከላይ እንደተመለከተው የቁልፍ ሰሌዳው 8 የውጤት ፒኖች ይኖሩታል። ከላይ እንደሚታየው ከፒን 0 እስከ ፒን 7 መገናኘት አለባቸው። አንዳንድ ከዓር 0 እና ፒን 1 ጋር የተገናኘ ነገር ካለ ፕሮግራሙን በሚሰቅሉበት ጊዜ አንዳንድ የአርዱኖ ሰሌዳዎች ስህተት ሊያሳዩ ይችላሉ ፣ ስለዚህ ማንኛውም ካጋጠሙዎት በቀላሉ ያስወግዱ ፕሮግራሙን በሚጭኑበት ጊዜ የቁልፍ ሰሌዳው።

ደረጃ 3 ኮድ

ኮድ
ኮድ

የሚከተለውን ኮድ ይቅዱ እና አርዱዲኖዎን ወደ እሱ ይስቀሉ// * * የአርዱዲኖ ቁልፍ ሰሌዳ ማስያ መርሃ ግብር */#ከ ‹Lc› www.arduino. "Keypad.h" // የራስጌ ፋይል ለቁልፍ ሰሌዳ ከ https://github.com/Chris--A/Keypadconst byte ROWS = 4; // አራት ረድፎች ባይት COLS = 4; // ሶስት አምዶች // የቁልፍ ካርታ ቁልፎቹን ይግለጹ [ROWS] [COLS] = {{'7', '8', '9', 'D'} ፣ {'4', '5', '6', ' C '} ፣ {' 1 '፣' 2 '፣' 3 '፣' B '} ፣ {'*'፣' 0 '፣'#'፣' A '}} ፤ ባይት ረድፍ ፒኖች [ROWS] = {0, 1 ፣ 2 ፣ 3} ፤ // የቁልፍ ሰሌዳ ROW0 ፣ ROW1 ፣ ROW2 እና ROW3 ን ከእነዚህ Arduino pins.byte colPins [COLS] = {4, 5, 6, 7} ጋር ያገናኙ። // የቁልፍ ሰሌዳ COL0 ን ፣ COL1 ን እና COL2 ን ከእነዚህ Arduino pins ጋር ያገናኙ። Keypad kpd = Keypad (makeKeymap (ቁልፎች) ፣ ረድፎች ፒን ፣ ኮሊፒንስ ፣ ረድፎች ፣ COLS); // የቁልፍ ሰሌዳውን int rs = 8 ፣ en = 9 ፣ d4 = 10 ፣ d5 = 11 ፣ d6 = 12 ፣ d7 = 13 ይፍጠሩ። /ኤል.ዲ.ሲ የተገናኘባቸው ፒኖች LiquidCrystal lcd (rs ፣ en ፣ d4 ፣ d5 ፣ d6 ፣ d7); ረጅም ቁጥር 1 ፣ ቁጥር 2 ፣ ቁጥር; የቻር ቁልፍ ፣ እርምጃ; ቡሊያን ውጤት = ሐሰት ፣ ባዶነት ማዋቀር () {lcd.begin (16 ፣ 2) ፤ // እኛ 16*2 LCD ማሳያ lcd.print (“DIY Calculator”) እየተጠቀምን ነው ፤ // የመግቢያ መልእክት lcd.setCursor (0 ፣ 1) ያሳዩ ፤ // ጠቋሚውን ወደ አምድ 0 ፣ መስመር 1 መዘግየት (2000) ያዘጋጁ ፤ // መረጃን ለማሳየት ማሳያውን ይጠብቁ lcd.clear (); // ከዚያ ያፅዱ} ባዶነት loop () {key = kpd.getKey (); // የተጫነ የቁልፍ ዋጋን በካሪፍ ውስጥ (ቁልፍ! = NO_KEY) DetectButtons () ፣ ከሆነ (ውጤት == እውነት) CalculateResult () ፤ DisplayResult () ፤ } ባዶ DetectButtons () {lcd.clear (); // ከዚያ (ቁልፍ == '*') // ከተሰረዘ አዝራሩ ከተጫነ {Serial.println ("አዝራር ሰርዝ") ፤ ቁጥር = Num1 = Num2 = 0; ውጤት = ሐሰት;} ከሆነ (ቁልፍ == '1') // አዝራር 1 ከተጫነ {Serial.println ("አዝራር 1"); ከሆነ (ቁጥር == 0) ቁጥር = 1; ሌላ ቁጥር = (ቁጥር*10) + 1; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '4') // አዝራር 4 ከተጫነ {Serial.println ("አዝራር 4"); ከሆነ (ቁጥር == 0) ቁጥር = 4; ሌላ ቁጥር = (ቁጥር*10) + 4; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '7') // አዝራር 7 ከተጫነ {Serial.println ("አዝራር 7"); ከሆነ (ቁጥር == 0) ቁጥር = 7; ሌላ ቁጥር = (ቁጥር*10) + 7; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '0') {Serial.println ("አዝራር 0"); // አዝራር 0 ተጭኖ ከሆነ (ቁጥር == 0) ቁጥር = 0; ሌላ ቁጥር = (ቁጥር*10) + 0; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '2') // አዝራር 2 ተጭኗል {Serial.println ("አዝራር 2"); ከሆነ (ቁጥር == 0) ቁጥር = 2; ሌላ ቁጥር = (ቁጥር*10) + 2; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '5') {Serial.println ("አዝራር 5"); ከሆነ (ቁጥር == 0) ቁጥር = 5; ሌላ ቁጥር = (ቁጥር*10) + 5; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '8') {Serial.println ("አዝራር 8"); ከሆነ (ቁጥር == 0) ቁጥር = 8; ሌላ ቁጥር = (ቁጥር*10) + 8; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '#') {Serial.println ("የአዝራር እኩል"); Num2 = ቁጥር; ውጤት = እውነት; } ከሆነ (ቁልፍ == '3') {Serial.println ("አዝራር 3"); ከሆነ (ቁጥር == 0) ቁጥር = 3; ሌላ ቁጥር = (ቁጥር*10) + 3; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '6') {Serial.println ("አዝራር 6"); ከሆነ (ቁጥር == 0) ቁጥር = 6; ሌላ ቁጥር = (ቁጥር*10) + 6; // ሁለት ጊዜ ተጭኖ ከሆነ (ቁልፍ == '9') {Serial.println ("አዝራር 9"); ከሆነ (ቁጥር == 0) ቁጥር = 9; ሌላ ቁጥር = (ቁጥር*10) + 9; // ሁለት ጊዜ ተጭኗል} ከሆነ (ቁልፍ == 'ሀ' || ቁልፍ == 'ለ' || ቁልፍ == 'ሐ' || ቁልፍ == 'መ') // በአምድ 4 ላይ አዝራሮችን መለየት {Num1 = ቁጥር; ቁጥር = 0; ከሆነ (ቁልፍ == 'ሀ') {Serial.println ("መደመር"); እርምጃ = '+';} ከሆነ (ቁልፍ == 'ለ') {Serial.println ("መቀነስ"); እርምጃ = '-'; } ከሆነ (ቁልፍ == 'C') {Serial.println ("ማባዛት"); እርምጃ = '*';} ከሆነ (ቁልፍ == 'D') {Serial.println ("Devesion"); እርምጃ = '/';} መዘግየት (100); }}

ባዶ CalculateResult () {ከሆነ (እርምጃ == '+') ቁጥር = Num1+Num2; ከሆነ (እርምጃ == '-') ቁጥር = Num1-Num2; ከሆነ (እርምጃ == '*') ቁጥር = Num1*Num2; ከሆነ (እርምጃ == '/') ቁጥር = Num1/Num2; } ባዶ ማሳያ ማሳያ () {lcd.setCursor (0, 0); // ጠቋሚውን ወደ አምድ 0 ፣ መስመር 1 lcd.print (Num1) ያዘጋጁ ፤ lcd.print (ድርጊት); lcd.print (Num2); ከሆነ (ውጤት == እውነት) {lcd.print ("="); lcd.print (ቁጥር);} // ውጤቱን ያሳዩ lcd.setCursor (0, 1); // ጠቋሚውን ወደ አምድ 0 ፣ መስመር 1 lcd.print (ቁጥር) ያዘጋጁ ፤ // ውጤቱን አሳይ}

ደረጃ 4: የሂሳብ ማሽን ውጤት

የሂሳብ ማሽን ውጤት
የሂሳብ ማሽን ውጤት
የሂሳብ ማሽን ውጤት
የሂሳብ ማሽን ውጤት
የሂሳብ ማሽን ውጤት
የሂሳብ ማሽን ውጤት

ስለዚህ ግንኙነቶችን አጠናቅቀናል እና ኮዱን ወደ አርዱinoኖ እና ኃይልን ለመሰካት እና አንዳንድ ስሌቶችን ለማድረግ ጊዜውን ሰቀሉ እና እርስዎ እንደሚመለከቱት በቁልፍ ሰሌዳው ላይ ስሌቶችን እሰራለሁ እና ውጤቱን በ lcd ውስጥ ማየት ይችላሉ። ስለዚህ አርዱዲኖን በመጠቀም የራስዎን የዳይ ካልኩሌተር መስራት ይደሰቱ።

የሚመከር: