Talaan ng mga Nilalaman:

Arduino DIY Calculator Gamit ang 1602 LCD at 4x4 Keypad: 4 na Hakbang
Arduino DIY Calculator Gamit ang 1602 LCD at 4x4 Keypad: 4 na Hakbang

Video: Arduino DIY Calculator Gamit ang 1602 LCD at 4x4 Keypad: 4 na Hakbang

Video: Arduino DIY Calculator Gamit ang 1602 LCD at 4x4 Keypad: 4 na Hakbang
Video: How measure DC Voltage and Current and build Energy meter with LCD Display | Lesson 104 2024, Nobyembre
Anonim
Arduino DIY Calculator Paggamit ng 1602 LCD at 4x4 Keypad
Arduino DIY Calculator Paggamit ng 1602 LCD at 4x4 Keypad

Kumusta mga tao sa mga itinuturo na ito gagawa kami ng isang calculator gamit ang Arduino na maaaring gumawa ng pangunahing mga kalkulasyon. Kaya karaniwang kukuha kami ng input mula sa 4x4 keypad at mai-print ang data sa 16x2 lcd display at gagawin ng arduino ang mga kalkulasyon.

Hakbang 1: Mga Bagay na Kailangan mo

Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo
Mga Bagay na Kailangan Mo

Para sa mga itinuturo na ito kakailanganin namin ang mga sumusunod na bagay: Arduino Uno (Anumang bersyon ay gagana)

16 × 2 LCD Display

4 × 4 Keypad9V BatteryBreadboardConnect wires

Hakbang 2: Mga Koneksyon

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Ang kumpletong diagram ng circuit ng Arduino Calculator Project na ito ay ibinigay sa itaas. Ang + 5V at koneksyon sa lupa na ipinakita sa circuit diagram ay maaaring makuha mula sa 5V at ground pin ng Arduino. Ang Arduino mismo ay maaaring pinalakas mula sa iyong laptop o sa pamamagitan ng DC jack gamit ang isang 12V adapter o 9V na baterya. Pinapatakbo namin ang LCD sa 4-bit mode kasama ang Arduino kaya ang huling apat na data bit ng LCD lamang ang nakakonekta sa Arduino. Ang Keyboard ay magkakaroon ng 8 output pin na dapat na konektado mula sa pin 0 hanggang pin 7 tulad ng ipinakita sa itaas. Ang ilang mga Arduino board ay maaaring magpakita ng isang error habang ina-upload ang programa kung mayroong anumang konektado sa pin 0 at pin1, kaya kung nakakaranas ka ng anumang alisin ang keypad habang ina-upload ang programa.

Hakbang 3: Code

Code
Code

Kopyahin ang sumusunod na code at i-upload dito ang iyong arduino: / * * Arduino Keypad calculator Program * / # isama ang "LiquidCrystal.h" // Header file para sa LCD mula sa https://www.arduino.cc/en/Referensi/LiquidCrystal# isama ang "Keypad.h" // Header file para sa Keypad mula sa https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Four rowconst byte COLS = 4; // Three column // // Define the Keymapchar keys [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Ikonekta ang keypad ROW0, ROW1, ROW2 at ROW3 sa mga Arduino pins.byte colPins [COLS] = {4, 5, 6, 7}; // Connect keypad COL0, COL1 at COL2 sa mga pin ng Arduino na ito. Keypad kpd = Keypad (makeKeymap (key), rowPins, colPins, ROWS, COLS); // Lumikha ng Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pins kung saan ang LCD ay konektadoLiquidCrystal lcd (rs, en, d4, d5, d6, d7); mahabang Num1, Num2, Bilang; char key, pagkilos; resulta ng boolean = false; void setup () {lcd.begin (16, 2); // Gumagamit kami ng isang 16 * 2 LCD display lcd.print ("DIY Calculator"); // Ipakita ang isang intro message lcd.setCursor (0, 1); // itakda ang cursor sa haligi 0, pagkaantala sa linya 1 (2000); // Maghintay para sa pagpapakita upang maipakita ang impormasyon lcd.clear (); // Pagkatapos linisin ito} void loop () {key = kpd.getKey (); // pag-iimbak ng pinindot na key na halaga sa isang charif (key! = NO_KEY) Detect Buttons (); kung (resulta == totoo) CalculateResult (); DisplayResult (); } walang bisa Mga Detectbuttons () {lcd.clear (); // Kung gayon linisin ito kung (key == '*') // Kung kanselahin ang Button ay pinindot ang {Serial.println ("Button Cancel"); Bilang = Num1 = Num2 = 0; resulta = false;} kung (key == '1') // Kung ang Button 1 ay pinindot ang {Serial.println ("Button 1"); kung (Bilang == 0) Bilang = 1; iba pa Bilang = (Bilang * 10) + 1; // Pinindot nang dalawang beses} kung (key == '4') // Kung ang Button 4 ay pinindot {Serial.println ("Button 4"); kung (Bilang == 0) Bilang = 4; iba pa Bilang = (Bilang * 10) + 4; // Pinindot nang dalawang beses} kung (key == '7') // Kung ang Button 7 ay pinindot {Serial.println ("Button 7"); kung (Bilang == 0) Bilang = 7; iba pa Bilang = (Bilang * 10) + 7; // Pinindot nang dalawang beses} kung (key == '0') {Serial.println ("Button 0"); // Button 0 ay Pinsala kung (Bilang == 0) Bilang = 0; iba pa Bilang = (Bilang * 10) + 0; // Pinindot nang dalawang beses} kung (key == '2') // Button 2 ay Pinindot {Serial.println ("Button 2"); kung (Bilang == 0) Bilang = 2; iba pa Bilang = (Bilang * 10) + 2; // Pinindot nang dalawang beses} kung (key == '5') {Serial.println ("Button 5"); kung (Bilang == 0) Bilang = 5; iba pa Bilang = (Bilang * 10) + 5; // Pinindot nang dalawang beses} kung (key == '8') {Serial.println ("Button 8"); kung (Bilang == 0) Bilang = 8; iba pa Bilang = (Bilang * 10) + 8; // Pinindot nang dalawang beses} kung (key == '#') {Serial.println ("Button Equal"); Num2 = Bilang; resulta = totoo; } kung (key == '3') {Serial.println ("Button 3"); kung (Bilang == 0) Bilang = 3; iba pa Bilang = (Bilang * 10) + 3; // Pinindot nang dalawang beses} kung (key == '6') {Serial.println ("Button 6"); kung (Bilang == 0) Bilang = 6; iba pa Bilang = (Bilang * 10) + 6; // Pinindot nang dalawang beses} kung (key == '9') {Serial.println ("Button 9"); kung (Bilang == 0) Bilang = 9; iba pa Bilang = (Bilang * 10) + 9; // Pinindot nang dalawang beses} kung (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Pagtuklas ng Mga Pindutan sa Hanay 4 {Num1 = Bilang; Bilang = 0; kung (key == 'A') {Serial.println ("Addition"); action = '+';} kung (key == 'B') {Serial.println ("Pagbawas"); aksyon = '-'; } kung (key == 'C') {Serial.println ("Multiplication"); action = '*';} kung (key == 'D') {Serial.println ("Devesion"); aksyon = '/';} pagkaantala (100); }}

walang bisa ang CalculateResult () {kung (action == '+') Bilang = Num1 + Num2; kung (aksyon == '-') Bilang = Num1-Num2; kung (aksyon == '*') Bilang = Num1 * Num2; kung (aksyon == '/') Bilang = Num1 / Num2; } walang bisa ang DisplayResult () {lcd.setCursor (0, 0); // itakda ang cursor sa haligi 0, linya 1 lcd.print (Num1); lcd.print (aksyon); lcd.print (Num2); kung (resulta == totoo) {lcd.print ("="); lcd.print (Number);} // Ipakita ang resulta lcd.setCursor (0, 1); // itakda ang cursor sa haligi 0, linya 1 lcd.print (Bilang); // Ipakita ang resulta}

Hakbang 4: Output ng Calculator

Output ng Calculator
Output ng Calculator
Output ng Calculator
Output ng Calculator
Output ng Calculator
Output ng Calculator

Kaya nakumpleto namin ang mga koneksyon at In-upload ang code sa arduino at oras nito upang mai-plug ang lakas at gumawa ng ilang mga kalkulasyon at tulad ng nakikita mong gumagawa ako ng mga kalkulasyon sa keypad at makikita mo ang mga resulta sa lcd. Kaya't magsaya sa paggawa ng iyong sariling calculator ng diy gamit ang arduino.

Inirerekumendang: