สารบัญ:

เครื่องคิดเลข LCD โดย Jai Mishra: 8 ขั้นตอน
เครื่องคิดเลข LCD โดย Jai Mishra: 8 ขั้นตอน

วีดีโอ: เครื่องคิดเลข LCD โดย Jai Mishra: 8 ขั้นตอน

วีดีโอ: เครื่องคิดเลข LCD โดย Jai Mishra: 8 ขั้นตอน
วีดีโอ: DIY ซ่อมจอเครื่องคิดเลข ดำ ด่าง และจอLCD ที่ใช้ฟิล์มโพราไรซ์ ด้วยตัวเองง่ายๆ - Daddy's Tips 2024, พฤศจิกายน
Anonim
เครื่องคิดเลข LCD โดย Jai Mishra
เครื่องคิดเลข LCD โดย Jai Mishra

โครงการทิงเกอร์แคด »

นี่เป็นโครงการที่มีประโยชน์มาก ซึ่งจะสอนวิธีสร้างเครื่องคิดเลขของคุณเอง คุณสามารถสร้างเครื่องคิดเลขออนไลน์หรือในชีวิตจริงโดยใช้อุปกรณ์พิเศษ แต่ตอนนี้เราจะเน้นไปที่การสร้างเครื่องคิดเลขออนไลน์เท่านั้น

เสบียง

  • Arduino Uno R3
  • ตัวต้านทาน 220 โอห์ม
  • 4*4 ปุ่มกด
  • 16*2 LCD
  • มัดสายไฟต่อวงจร

ขั้นตอนที่ 1: รวบรวมอุปกรณ์ของคุณบน TinkerCad

รวบรวมอุปกรณ์ของคุณบน TinkerCad
รวบรวมอุปกรณ์ของคุณบน TinkerCad

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

ขั้นตอนที่ 2: จัดเตรียมอุปกรณ์ของคุณ

จัดเตรียมอุปกรณ์ของคุณ
จัดเตรียมอุปกรณ์ของคุณ

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

ขั้นตอนที่ 3: เชื่อมต่อสายไฟ

การเชื่อมต่อสายไฟ
การเชื่อมต่อสายไฟ

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

หลังจากที่คุณเชื่อมต่อสายไฟเสร็จแล้ว ตรวจสอบให้แน่ใจว่าสายไฟของคุณเรียบร้อยและเป็นระเบียบ เพื่อให้คุณและคนอื่นๆ เข้าใจได้ง่ายขึ้นว่าเกิดอะไรขึ้นในฮาร์ดแวร์ของเครื่องคิดเลขนี้ อย่างที่ฉันพูดไปก่อนหน้านี้ คุณสามารถใช้เทคนิคของฉันในการจัดระเบียบสายไฟหรือสร้างสายไฟของคุณเองก็ได้ แต่ไม่ว่าคุณจะตัดสินใจทำอะไร ตรวจสอบให้แน่ใจว่าได้ประกอบเข้าด้วยกันด้วยพื้นที่บางส่วน

ขั้นตอนที่ 4: การเขียนโค้ด

การเขียนโค้ด
การเขียนโค้ด
การเขียนโค้ด
การเขียนโค้ด
การเขียนโค้ด
การเขียนโค้ด

#รวม

#รวม #รวม

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

ยาวก่อน = 0; วินาทียาว = 0; ผลรวมสองเท่า = 0;

ถ่าน customKey; ไบต์ const ROWS = 4; const ไบต์ COLS = 4;

ปุ่มถ่าน [ROWS][COLS] = { {'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'} }; ไบต์ rowPins[ROWS] = {7, 6, 5, 4}; //เชื่อมต่อกับ pinouts แถวของแป้นพิมพ์ไบต์ colPins[COLS] = {3, 2, 1, 0}; //เชื่อมต่อกับ pinout ของคอลัมน์ของปุ่มกด

// เริ่มต้นอินสแตนซ์ของคลาส NewKeypad Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

การตั้งค่าเป็นโมฆะ () { lcd.begin (16, 2); // เริ่มจอแอลซีดีสำหรับ (int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("เครื่องคิดเลข"); lcd.setCursor(0, 1); lcd.print("โดยใจ Mishra"); ล่าช้า(4000); lcd.clear(); lcd.print ("โครงการสุดท้าย"); ล่าช้า (2500); lcd.clear(); lcd.setCursor(0, 0); }

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

customKey = customKeypad.getKey(); switch (customKey) { case '0' … '9': // สิ่งนี้จะเก็บค่าแรกไว้จนกว่าจะกดตัวดำเนินการ "+-*/" lcd.setCursor(0, 0); แรก = แรก * 10 + (customKey - '0'); lcd.print (ก่อน); หยุดพัก;

case '+': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("+"); วินาที = SecondNumber(); // รับจำนวนที่สองที่รวบรวมได้ทั้งหมด = แรก + วินาที; lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; // รีเซ็ตค่ากลับเป็นศูนย์สำหรับช่วงพักการใช้งานครั้งต่อไป

ตัวพิมพ์ '-': first = (ผลรวม != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("-"); วินาที = SecondNumber(); รวม = แรก - วินาที; lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

case '*': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("*"); วินาที = SecondNumber(); รวม = แรก * วินาที; lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

case '/': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("/"); วินาที = SecondNumber(); lcd.setCursor(0, 3);

วินาที == 0 ? lcd.print("Invalid"): total = (float)first / (float)วินาที;

lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

กรณี 'C': รวม = 0; lcd.clear(); หยุดพัก; } }

SecondNumber ยาว () { ในขณะที่ (1) { customKey = customKeypad.getKey (); if(customKey >= '0' && customKey <= '9') { วินาที = วินาที * 10 + (customKey - '0'); lcd.setCursor(0, 2); lcd.print(วินาที); }

if(customKey == '=') แตก; //กลับวินาที; } กลับวินาที; }

ขั้นตอนที่ 5: ทำลายรหัส

ทำลายรหัส
ทำลายรหัส

เราเริ่มต้นค่าเพื่อให้คอมพิวเตอร์เข้าใจ

#รวม

#รวม #รวม

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

ยาวก่อน = 0; วินาทียาว = 0; ผลรวมสองเท่า = 0;

ถ่าน customKey; ไบต์ const ROWS = 4; const ไบต์ COLS = 4;

เราบอกคอมพิวเตอร์ถึงตัวเลขและสัญญาณที่ปุ่มกดควรใช้งานได้

ปุ่มถ่าน [ROWS][COLS] = { {'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'} };

เราสรุปแถวและคอลัมน์ของปุ่มกดและหมายเลขใดมาที่คอลัมน์ ฯลฯ

ไบต์ rowPins[ROWS] = {7, 6, 5, 4}; ไบต์ colPins[COLS] = {3, 2, 1, 0};

เราสร้างบทนำหรือพลังบนหน้าจอสำหรับคอมพิวเตอร์ (คุณสามารถเขียนชื่อของคุณเองได้)

การตั้งค่าเป็นโมฆะ () { lcd.begin (16, 2); สำหรับ(int i=0;i<=3;i++); lcd.setCursor(0, 0); lcd.print("เครื่องคิดเลข"); lcd.setCursor(0, 1); lcd.print("โดยใจ Mishra"); ล่าช้า(4000); lcd.clear(); lcd.print("โครงการสุดท้าย"); ล่าช้า (2500); lcd.clear(); lcd.setCursor(0, 0); }

เราสร้างความหมายและสูตรสำหรับแต่ละการดำเนินการในเครื่องคิดเลข เพื่อให้คอมพิวเตอร์เข้าใจว่าจะใช้สูตรใดเมื่อผู้ใช้กด "+" บนเครื่องคิดเลข ฯลฯ

{ กรณี '0' … '9': lcd.setCursor(0, 0); แรก = แรก * 10 + (customKey - '0'); lcd.print (ก่อน); หยุดพัก;

case '/': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("/"); วินาที = SecondNumber(); lcd.setCursor(0, 3);

วินาที == 0 ? lcd.print("Invalid"): total = (float)first / (float)วินาที;

lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก; case '+': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("+"); วินาที = SecondNumber(); lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

ตัวพิมพ์ '-': first = (ผลรวม != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("-"); วินาที = SecondNumber(); รวม = แรก - วินาที; lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

case '*': first = (total != 0 ? total: first); lcd.setCursor(0, 1); lcd.print("*"); วินาที = SecondNumber(); รวม = แรก * วินาที; lcd.setCursor(0, 3); lcd.print (รวม); แรก = 0, วินาที = 0; หยุดพัก;

กรณี 'C': รวม = 0; lcd.clear(); หยุดพัก; } }

รหัสนั้นง่ายมาก สิ่งที่คุณต้องทำคือพยายามทำความเข้าใจแล้วทุกอย่างก็สามารถทำได้ง่าย ๆ หากมีปัญหากับรหัสใด ๆ ส่งอีเมลถึงฉัน

ขั้นตอนที่ 6: ฮาร์ดแวร์ของเครื่องคิดเลขนี้ทำงานอย่างไร

ฮาร์ดแวร์ของเครื่องคิดเลขนี้ทำงานอย่างไร
ฮาร์ดแวร์ของเครื่องคิดเลขนี้ทำงานอย่างไร

เครื่องคิดเลขนี้ใช้ LCD, ปุ่มกด, บอร์ด Arduino และตัวต้านทาน 220 โอห์ม ส่วนประกอบทั้งหมดเหล่านี้แยกจากกัน แต่เชื่อมต่อกับสายไฟจาก Arduino ไปยังปุ่มกดและ LCD ส่วนต่างๆ ของ LCD เชื่อมต่อกับบอร์ด Arduino ซึ่งท้ายที่สุดจะเชื่อมต่อทั้งสองส่วนด้วยปุ่มกด หลังจากเชื่อมต่อแล้ว การเข้ารหัสจะทำงานทั้งหมดและให้การทำงานแต่ละอย่างและปุ่มบนแป้นพิมพ์ทำงานตาม

ขั้นตอนที่ 7: ดูตัวอย่างเครื่องคิดเลขแบบเต็ม

นี่คือสิ่งที่โครงการสุดท้ายของเราดูเหมือน! หากรหัสของคุณใช้งานไม่ได้ หรือมีปัญหาทางเทคนิคบางอย่าง โปรดส่งอีเมลถึงฉัน และฉันจะพยายามอย่างดีที่สุดเพื่อช่วยคุณสร้างเครื่องคิดเลขที่ดีที่สุด!

ขั้นตอนที่ 8: แรงบันดาลใจของฉันเกี่ยวกับรหัสนี้

ฉันได้แรงบันดาลใจจากวิดีโอด้านบนเกี่ยวกับวิธีการสร้างเครื่องคิดเลขบน tinkercad! ฉันไม่ได้คัดลอกและวางอะไรเลย แต่ฉันใช้ความคิดของเขาเกี่ยวกับเครื่องคิดเลขและความเข้าใจในรหัส

แนะนำ: