Мазмуну:

1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator: 4 кадам
1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator: 4 кадам

Video: 1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator: 4 кадам

Video: 1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator: 4 кадам
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Ноябрь
Anonim
1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator
1602 LCD жана 4x4 баскычтопту колдонуу менен Arduino DIY Calculator

Салам балдар, бул көрсөтмөлөрдө биз Arduino менен негизги эсептөөлөрдү жасай турган калькулятор жасайбыз. Ошентип, биз негизинен 4x4 баскычтопунан маалыматтарды алып, 16x2 LCD дисплейине маалыматтарды басып чыгарабыз жана arduino эсептөөлөрдү аткарат.

1 -кадам: Сизге керектүү нерселер

Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек
Сиз керек

Бул көрсөтмөлөр үчүн бизге төмөнкү нерселер керек болот: Arduino Uno (Ар кандай версия иштейт)

16 × 2 LCD дисплей

4 × 4 Keypad9V BatteryBreadboard Зымдарды туташтыруу

2 -кадам: Байланыштар

Байланыштар
Байланыштар
Байланыштар
Байланыштар

Бул Arduino Calculator долбоорунун толук схемасы жогоруда берилген. Электр схемасында көрсөтүлгөн +5V жана жерге туташууну Arduino 5V жана жерге туташтыргычынан алууга болот. Ардуинонун өзү ноутбуктан же 12 Вт адаптер же 9 В батарейканы колдонуу менен DC уячасы аркылуу иштесе болот. Биз LCDди 4 бит режиминде Arduino менен иштетебиз, андыктан ЖКнын акыркы төрт гана маалыматы Arduino менен туташкан. Клавиатурада жогоруда көрсөтүлгөндөй пин 7ден пин 7ге чейин туташтырылышы керек болгон 8 чыгаруу казыгы болот. Кээ бир Arduino такталары 0 жана pin1 менен байланыштырылган нерселер бар болсо, программаны жүктөөдө ката көрсөтүшү мүмкүн. программаны жүктөө учурунда баскычтоп.

3 -кадам: Код

Code
Code

Төмөнкү кодду көчүрүп, ага arduino жүктөңүз:/ * * Arduino клавиатурасы эсептегич программасы */#"LiquidCrystal.h" камтыйт // https://www.arduino.cc/en/Reference/LiquidCrystal#дан LCD үчүн баш файл "Keypad.h" кирет // https://github.com/Chris--A/Keypadconst байт ROWS = 4 баскычтар үчүн баш файл. // Төрт rowsconst байт COLS = 4; // Үч мамыча // Keymapchar баскычтарын аныктаңыз [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; байт rowPins [ROWS] = {0, 1, 2; // COL0, COL1 жана COL2 клавиатурасын ушул Arduino казыктарына туташтырыңыз. Keypad kpd = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS); // Keypadconst түзүү int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // ЖК кошулган казыктарLiquidCrystal lcd (rs, en, d4, d5, d6, d7); узун Num1, Num2, Number; char ачкычы, иш -аракет; логикалык жыйынтык = false; void setup () {lcd.begin (16, 2); // Биз 16*2 ЖК дисплейди lcd.print ("DIY Calculator") колдонуп жатабыз; // Киришүү билдирүүсүн көрсөтүү lcd.setCursor (0, 1); // курсорду 0 графасына коюу, 1 -сапты кечиктирүү (2000); // дисплейдин маалыматты көрсөтүшүн күтө туралы lcd.clear (); // Андан кийин тазалаңыз} void loop () {key = kpd.getKey (); // басылган ачкычтын маанисин чарифте сактоо (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Андан кийин тазалаңыз, эгерде (key == '*') // Эгерде жокко чыгаруу баскычы басылса {Serial.println ("Button Cancel"); Number = Num1 = Num2 = 0; result = false;} if (key == '1') // If Button 1 is pressed {Serial.println ("Button 1"); if (Number == 0) Number = 1; else саны = (саны*10) + 1; // эки жолу басылды} if (key == '4') // If Button 4 is pressed {Serial.println ("Button 4"); if (Number == 0) Number = 4; else саны = (саны*10) + 4; // Эки жолу басылды} if (key == '7') // If Button 7 is pressed {Serial.println ("Button 7"); if (Number == 0) Number = 7; else саны = (саны*10) + 7; // эки жолу басылды} if (key == '0') {Serial.println ("Button 0"); // 0 баскычы басылат, эгерде (Сан == 0) Сан = 0; else саны = (саны*10) + 0; // эки жолу басылды} if (key == '2') // 2 -баскыч басылат {Serial.println ("Button 2"); if (Number == 0) Number = 2; else саны = (саны*10) + 2; // эки жолу басылды} if (key == '5') {Serial.println ("Button 5"); if (Number == 0) Number = 5; else саны = (саны*10) + 5; // эки жолу басылды} if (key == '8') {Serial.println ("Button 8"); if (Number == 0) Number = 8; else саны = (саны*10) + 8; // эки жолу басылды} if (key == '#') {Serial.println ("Button Equal"); Num2 = Number; натыйжа = чындык; } if (key == '3') {Serial.println ("Button 3"); if (Number == 0) Number = 3; else саны = (саны*10) + 3; // эки жолу басылды} if (key == '6') {Serial.println ("Button 6"); if (Number == 0) Number = 6; else саны = (саны*10) + 6; // эки жолу басылды} if (key == '9') {Serial.println ("Button 9"); if (Number == 0) Number = 9; else саны = (саны*10) + 9; // эки жолу басылды} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // 4 -графанын баскычтарын аныктоо {Num1 = Number; Number = 0; if (key == 'A') {Serial.println ("Кошуу"); иш = '+';} if (key == 'B') {Serial.println ("Subtraction"); иш = '-'; } if (key == 'C') {Serial.println ("Көбөйтүү"); иш = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} delay (100); }}

void CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // курсорду 0 графасына, 1 -сапка lcd.print (Num1) коюңуз; lcd.print (иш -аракет); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Number);} // Натыйжаны көрсөтүү lcd.setCursor (0, 1); // курсорду 0 мамычасына, 1 сапка lcd.print (Саны) коюңуз; // Жыйынтыгын көрсөтүү}

4 -кадам: Calculator Output

Calculator Output
Calculator Output
Calculator Output
Calculator Output
Calculator Output
Calculator Output

Ошентип, биз туташууларды бүтүрдүк жана кодду arduinoго жүктөдүк жана анын кубаттуулугун өчүрүү жана кээ бир эсептөөлөрдү жүргүзүү убактысы & сиз көрүп тургандай, мен клавиатура менен эсептөөлөрдү жасап жатам жана сиз жыйынтыктарды LCDден көрө аласыз. Ошентип, ардуинону колдонуп, өзүңүздүн жеке калькуляторуңузду ачып алыңыз.

Сунушталууда: