สารบัญ:

เครื่องคิดเลข Arduino โดยใช้ปุ่มกด 4X4: 4 ขั้นตอน (พร้อมรูปภาพ)
เครื่องคิดเลข Arduino โดยใช้ปุ่มกด 4X4: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องคิดเลข Arduino โดยใช้ปุ่มกด 4X4: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เครื่องคิดเลข Arduino โดยใช้ปุ่มกด 4X4: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การใช้ keypad 4x4 ร่วมกับ Arduino 2024, กรกฎาคม
Anonim
Image
Image

ในบทช่วยสอนนี้ เราจะสร้างเครื่องคิดเลขของเราเองด้วย Arduino ค่าสามารถส่งผ่านปุ่มกด (ปุ่มกด 4×4) และดูผลลัพธ์ได้บนหน้าจอ LCD เครื่องคิดเลขนี้สามารถดำเนินการอย่างง่าย ๆ เช่น การบวก การลบ การคูณ และการหารด้วยจำนวนเต็ม แต่เมื่อคุณเข้าใจแนวคิดนี้แล้ว คุณสามารถใช้แม้กระทั่งฟังก์ชันทางวิทยาศาสตร์ด้วยฟังก์ชันในตัวของ Arduino

เสบียง

Arduino Uno

จอ LCD 16×2

4×4 ปุ่มกด

เขียงหั่นขนม

สายจัมเปอร์

สายเคเบิล Arduino

ขั้นตอนที่ 1: แผนผัง

ขั้นตอนที่ 2: การติดตั้งไลบรารี:

ดังที่ได้กล่าวไว้ก่อนหน้านี้ว่าเราจะเชื่อมต่อ LCD และปุ่มกดกับ Arduino โดยใช้ไลบรารี ให้เพิ่มลงใน Arduino IDE ของเราก่อน ไลบรารีสำหรับ LCD นั้นรวมอยู่ใน Arduino ของคุณโดยค่าเริ่มต้นแล้ว ดังนั้นเราจึงไม่จำเป็นต้องกังวลเกี่ยวกับเรื่องนี้ สำหรับไลบรารีปุ่มกด (คลิกที่ลิงค์เพื่อดาวน์โหลดจาก Github) คุณจะได้รับไฟล์ ZIP จากนั้นเพิ่ม lib นี้ไปยัง Arduino โดย Sketch -> รวมไลบรารี -> เพิ่มไฟล์. ZIP และชี้ตำแหน่งไปยังไฟล์ที่ดาวน์โหลดนี้ เมื่อเสร็จแล้วเราก็พร้อมสำหรับการเขียนโปรแกรม

ขั้นตอนที่ 3: รหัสที่มา:

/*

© Techtronic Harsh

*/

#รวม

#รวม

LiquidCrystal LCD (0, 1, 2, 3, 4, 5);

ไบต์ const ROWS = 4; const ไบต์ COLS = 4;

ปุ่มถ่าน [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {'C', '0', '=', '/'} }; ไบต์ rowPins[ROWS] = {13, 12, 11, 10}; ไบต์ colPins[COLS] = {9, 8, 7, 6};

ปุ่มกด myKeypad = ปุ่มกด (makeKeymap (คีย์), rowPins, colPins, ROWS, COLS);

บูลีน presentValue = เท็จ;

บูลีนถัดไป = เท็จ; บูลีนสุดท้าย = เท็จ; สตริง num1, num2; คำตอบ int; ถ่าน op;

การตั้งค่าเป็นโมฆะ ()

{ lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("เทคโทรนิคฮาร์ช"); lcd.setCursor(0, 1); lcd.print("เครื่องคิดเลข"); ล่าช้า (3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("ชอบและ"); lcd.setCursor(0, 1); lcd.print("สมัครสมาชิกเรา"); ล่าช้า (3000); lcd.clear(); }

วงเป็นโมฆะ (){

คีย์ถ่าน = myKeypad.getKey();

if (คีย์ != NO_KEY && (คีย์=='1'||key=='2'||key=='3'||key=='4'||key=='5'||key= ='6'||key=='7'||key=='8'||key=='9'||key=='0'))

{ ถ้า (presentValue != จริง) { num1 = num1 + คีย์; int numLength = num1.length(); lcd.setCursor(15 - numLength, 0); //เพื่อปรับช่องว่างหนึ่งช่องสำหรับตัวดำเนินการ lcd.print(num1); } อื่น ๆ { num2 = num2 + คีย์; int numLength = num2.length(); lcd.setCursor(15 - numLength, 1); lcd.print(num2); สุดท้าย = จริง; } }

else if (presentValue == false && key != NO_KEY && (คีย์ == '/' || key == '*' || key == '-' || key == '+'))

{ if (presentValue == false) { presentValue = true; op = คีย์; lcd.setCursor(15, 0); lcd.print(op); } }

else if (final == true && key != NO_KEY && คีย์ == '='){

ถ้า (op == '+'){ คำตอบ = num1.toInt() + num2.toInt(); } else if (op == '-'){ answer = num1.toInt() - num2.toInt(); } else if (op == '*'){ answer = num1.toInt() * num2.toInt(); } else if (op == '/'){ answer = num1.toInt() / num2.toInt(); } lcd.clear(); lcd.setCursor(15, 0); lcd.autoscroll(); lcd.print(ตอบ); lcd.noAutoscroll(); } else if (คีย์ != NO_KEY && คีย์ == 'C'){ lcd.clear(); ปัจจุบันค่า = เท็จ; สุดท้าย = เท็จ; num1 = ""; num2 = ""; คำตอบ = 0; ออฟ = ' '; } }

/*

© Techtronic Harsh

*/

ขั้นตอนที่ 4: การทำงาน:

ทำการเชื่อมต่อตามแผนภาพวงจรและอัปโหลดรหัส หากแสดงข้อผิดพลาด ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มไลบรารี่ตามคำแนะนำที่ให้ไว้ด้านบน

ตัวอักษรบนปุ่มกดและอัสสัมชัญ:

  • “A” - บวก (+)
  • “B” - การลบ (-)
  • “C” - การคูณ (*)
  • “D” - ดิวิชั่น (/)
  • “*” - เคลียร์ (C)
  • “#” - เท่ากับ (=)

แนะนำ: