สารบัญ:

เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และปุ่มกด 4x4: 4 ขั้นตอน
เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และปุ่มกด 4x4: 4 ขั้นตอน

วีดีโอ: เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และปุ่มกด 4x4: 4 ขั้นตอน

วีดีโอ: เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และปุ่มกด 4x4: 4 ขั้นตอน
วีดีโอ: สอน เขียนโปรแกรม Tinkercad+Arduino | Uno R3 สร้างเครื่องคิดเลข KEYPAD #input #output #EP20 2024, พฤศจิกายน
Anonim
เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และ 4x4 Keypad
เครื่องคิดเลข Arduino DIY โดยใช้ 1602 LCD และ 4x4 Keypad

สวัสดีทุกคนในคำแนะนำนี้ เราจะสร้างเครื่องคิดเลขโดยใช้ Arduino ซึ่งสามารถคำนวณพื้นฐานได้ โดยพื้นฐานแล้วเราจะรับอินพุตจากปุ่มกด 4x4 และพิมพ์ข้อมูลบนจอ LCD ขนาด 16x2 และ Arduino จะทำการคำนวณ

ขั้นตอนที่ 1: สิ่งที่คุณต้องการ

สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ
สิ่งที่คุณต้องการ

สำหรับคำแนะนำนี้เราจะต้องมีสิ่งต่อไปนี้: Arduino Uno (ทุกรุ่นจะใช้งานได้)

จอ LCD 16×2

4×4 Keypad9V BatteryBreadboardConnecting wires

ขั้นตอนที่ 2: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ
การเชื่อมต่อ

แผนภาพวงจรที่สมบูรณ์ของโครงการเครื่องคิดเลข Arduino นี้แสดงไว้ด้านบน การเชื่อมต่อ +5V และกราวด์ที่แสดงในแผนภาพวงจรสามารถรับได้จาก 5V และพินกราวด์ของ Arduino Arduino เองสามารถขับเคลื่อนจากแล็ปท็อปของคุณหรือผ่านแจ็ค DC โดยใช้อะแดปเตอร์ 12V หรือแบตเตอรี่ 9V เรากำลังใช้งาน LCD ในโหมด 4 บิตกับ Arduino ดังนั้นเฉพาะสี่บิตข้อมูลสุดท้ายของ LCD ที่เชื่อมต่อกับ Arduino แป้นพิมพ์จะมีเอาต์พุต 8 พิน ซึ่งจะต้องเชื่อมต่อจากพิน 0 ถึงพิน 7 ดังที่แสดงไว้ด้านบน บอร์ด Arduino บางตัวอาจแสดงข้อผิดพลาดขณะอัปโหลดโปรแกรมหากมีสิ่งใดเชื่อมต่อกับพิน 0 และพิน 1 ดังนั้นหากคุณพบปัญหาใดๆ เพียงแค่ลบ ปุ่มกดขณะอัพโหลดโปรแกรม

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

รหัส
รหัส

คัดลอกโค้ดต่อไปนี้และอัปโหลดไปยัง Arduino ของคุณ:/* * โปรแกรมเครื่องคิดเลข Arduino Keypad */#include "LiquidCrystal.h" // ไฟล์ส่วนหัวสำหรับ LCD จาก https://www.arduino.cc/en/Reference/LiquidCrystal# รวม "Keypad.h" // ไฟล์ส่วนหัวสำหรับปุ่มกดจาก https://github.com/Chris--A/Keypadconst ไบต์ ROWS = 4; // สี่แถวconst ไบต์ COLS = 4; // สามคอลัมน์ // กำหนดคีย์ Keymapchar [ROWS][COLS] = { {'7', '8', '9', 'D'}, {'4', '5', '6', ' C'}, {'1', '2', '3', 'B'}, {'*', '0', '#', 'A'}};ไบต์ rowPins[ROWS] = { 0, 1, 2, 3 }; // เชื่อมต่อปุ่มกด ROW0, ROW1, ROW2 และ ROW3 กับ Arduino pins.byte colPins[COLS] = { 4, 5, 6, 7 }; // เชื่อมต่อปุ่มกด COL0, COL1 และ COL2 กับหมุด Arduino เหล่านี้ ปุ่มกด kpd = ปุ่มกด (makeKeymap (คีย์), rowPins, colPins, ROWS, COLS); // สร้าง Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //พินที่เชื่อมต่อ LCDLiquidCrystal lcd(rs, en, d4, d5, d6, d7); ยาว Num1, Num2, จำนวน; ปุ่มถ่าน, การกระทำ; ผลลัพธ์บูลีน = false; เป็นโมฆะการตั้งค่า () { lcd.begin (16, 2); //เรากำลังใช้จอ LCD ขนาด 16*2 LCD.print("เครื่องคิดเลข DIY"); //แสดงข้อความแนะนำ lcd.setCursor(0, 1); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 0, บรรทัดที่ 1 ล่าช้า (2000); //รอให้หน้าจอแสดงข้อมูล lcd.clear(); //จากนั้นทำความสะอาด}void loop() {key = kpd.getKey(); //การจัดเก็บค่าคีย์ที่กดไว้ใน charif (key!=NO_KEY)DetectButtons();if (result==true)CalculateResult();DisplayResult(); }เป็นโมฆะ DetectButtons(){ lcd.clear(); //จากนั้นทำความสะอาด if (key=='*') //หากปุ่มยกเลิกถูกกด {Serial.println ("Button Cancel"); ตัวเลข=Num1=Num2=0; result=false;} if (key == '1') // ถ้ากดปุ่ม 1 {Serial.println ("Button 1"); ถ้า (จำนวน==0) จำนวน=1; อื่น จำนวน = (หมายเลข * 10) + 1; //กดสองครั้ง } if (key == '4') //หากกดปุ่ม 4 {Serial.println ("Button 4"); ถ้า (จำนวน==0) จำนวน=4; อื่น จำนวน = (หมายเลข * 10) + 4; // กดสองครั้ง } if (key == '7') // ถ้ากดปุ่ม 7 {Serial.println ("Button 7"); ถ้า (จำนวน==0) จำนวน=7; อื่น จำนวน = (หมายเลข * 10) + 7; //กดสองครั้ง } ถ้า (คีย์ == '0') {Serial.println ("ปุ่ม 0"); // ปุ่ม 0 ถูกกด ถ้า (หมายเลข ==0) หมายเลข = 0; อื่น จำนวน = (หมายเลข * 10) + 0; //กดสองครั้ง } if (key == '2') //กดปุ่ม 2 {Serial.println ("Button 2"); ถ้า (Number==0) Number=2; อื่น จำนวน = (หมายเลข * 10) + 2; //กดสองครั้ง } if (คีย์ == '5') {Serial.println ("ปุ่ม 5"); ถ้า (Number==0) Number=5; อื่น จำนวน = (หมายเลข * 10) + 5; //กดสองครั้ง } if (คีย์ == '8') {Serial.println ("ปุ่ม 8"); ถ้า (จำนวน==0) จำนวน=8; อื่น จำนวน = (หมายเลข * 10) + 8; //กดสองครั้ง } if (key == '#') {Serial.println ("Button Equal"); Num2=จำนวน; ผลลัพธ์ = จริง; } if (คีย์ == '3') {Serial.println ("ปุ่ม 3"); ถ้า (Number==0) Number=3; อื่น จำนวน = (หมายเลข * 10) + 3; //กดสองครั้ง } if (คีย์ == '6') {Serial.println ("ปุ่ม 6"); ถ้า (จำนวน==0) จำนวน=6; อื่น จำนวน = (หมายเลข * 10) + 6; //กดสองครั้ง } if (คีย์ == '9') {Serial.println ("ปุ่ม 9"); ถ้า (Number==0) Number=9; อื่น จำนวน = (หมายเลข * 10) + 9; //กดสองครั้ง } if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // การตรวจจับปุ่มบนคอลัมน์ 4 { Num1 = Number; จำนวน =0; ถ้า (คีย์ == 'A') {Serial.println ("เพิ่มเติม"); การกระทำ = '+';} ถ้า (คีย์ == 'B') {Serial.println ("การลบ"); การกระทำ = '-'; } if (คีย์ == 'C') {Serial.println ("การคูณ"); action = '*';} if (คีย์ == 'D') {Serial.println ("Devesion"); การกระทำ = '/';} ล่าช้า (100); }}

ถือเป็นโมฆะ CalculateResult(){ if (action=='+') Number = Num1+Num2; ถ้า (action=='-') Number = Num1-Num2; ถ้า (action=='*') Number = Num1*Num2; ถ้า (action=='/') Number = Num1/Num2; } เป็นโมฆะ DisplayResult () { lcd.setCursor (0, 0); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 0, บรรทัดที่ 1 lcd.print(Num1); lcd.print (การกระทำ); lcd.print(Num2); ถ้า (ผลลัพธ์==จริง) {lcd.print(" ="); lcd.print(Number);} //แสดงผล lcd.setCursor(0, 1); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 0, บรรทัดที่ 1 lcd.print(Number); //แสดงผล }

ขั้นตอนที่ 4: เอาต์พุตเครื่องคิดเลข

เครื่องคิดเลขเอาท์พุท
เครื่องคิดเลขเอาท์พุท
เครื่องคิดเลขเอาท์พุท
เครื่องคิดเลขเอาท์พุท
เครื่องคิดเลขเอาท์พุท
เครื่องคิดเลขเอาท์พุท

ดังนั้นเราจึงเสร็จสิ้นการเชื่อมต่อ & อัปโหลดรหัสไปยัง Arduino และถึงเวลาเสียบปลั๊กและทำการคำนวณ & อย่างที่คุณเห็นฉันกำลังคำนวณด้วยปุ่มกดและคุณสามารถเห็นผลลัพธ์ในจอ LCD ขอให้สนุกกับการสร้างเครื่องคิดเลข DIY ของคุณเองโดยใช้ Arduino

แนะนำ: