สารบัญ:

เครื่องคิดเลขไบนารีเป็นทศนิยม: 8 ขั้นตอน
เครื่องคิดเลขไบนารีเป็นทศนิยม: 8 ขั้นตอน

วีดีโอ: เครื่องคิดเลขไบนารีเป็นทศนิยม: 8 ขั้นตอน

วีดีโอ: เครื่องคิดเลขไบนารีเป็นทศนิยม: 8 ขั้นตอน
วีดีโอ: EP5 สอนเครื่องคิดเลขทางการเงิน TI BA ii plus ตอนนี้สอนการตั้งค่าตำแหน่งทศนิยม by หน่อง mrfinance 2024, กรกฎาคม
Anonim
เครื่องคิดเลขไบนารีเป็นทศนิยม
เครื่องคิดเลขไบนารีเป็นทศนิยม

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

การสร้างโปรเจ็กต์นี้ต้องใช้การวิจัยจำนวนมาก ซึ่งรวมถึงความเข้าใจเป็นหลักว่า Adder เต็มรูปแบบและครึ่งหนึ่งทำงานอย่างไร

ขั้นตอนที่ 1: วัสดุที่จำเป็น

สำหรับโครงการนี้ คุณจะต้องมีเอกสารดังต่อไปนี้:

  • Arduino UNO
  • สี่เขียงหั่นขนม
  • แบตเตอรี่เก้าโวลต์
  • เจ็ดประตู XOR (2 ชิป XOR)
  • เจ็ดและประตู (2 และชิป)
  • สาม OR เกท (ชิป 1 OR)
  • ไฟ LED ห้าดวง
  • ตัวต้านทาน 330 โอห์มแปดตัว
  • จอ LCD
  • สี่สายชาย-หญิง
  • สายชาย-ชายจำนวนมาก
  • เครื่องปอกสายไฟ
  • แอโนด RGB LED ทั่วไป

ราคา (ไม่รวมสายไฟ): $79.82

ต้นทุนวัสดุทั้งหมดพบได้ในอุปกรณ์อิเล็กทรอนิกส์ของ ABRA

ขั้นตอนที่ 2: ทำความเข้าใจ Adder 4 บิต

ทำความเข้าใจ Adder 4 บิต
ทำความเข้าใจ Adder 4 บิต

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

www.youtube.com/watch?v=mZ9VWA4cTbE&t=619s

ขั้นตอนที่ 3: สร้าง Adder 4 บิต

การสร้าง Adder 4 บิต
การสร้าง Adder 4 บิต
การสร้าง Adder 4 บิต
การสร้าง Adder 4 บิต

การอธิบายวิธีสร้างแอดเดอร์แบบสี่บิตนั้นยากมาก เนื่องจากต้องใช้การเดินสายจำนวนมาก จากภาพเหล่านี้ ฉันสามารถให้เทคนิคบางอย่างแก่คุณเพื่อสร้างวงจรนี้ ประการแรก วิธีที่คุณจัดเรียงชิปลอจิกนั้นสำคัญมาก เพื่อให้ได้วงจรที่เรียบร้อย ให้สั่งชิปของคุณตามลำดับนี้: XOR, AND, OR, AND, XOR การมีลำดับนี้ ไม่เพียงแต่วงจรของคุณจะเรียบร้อย แต่ยังง่ายต่อการจัดระเบียบอีกด้วย

เคล็ดลับที่ยอดเยี่ยมอีกประการหนึ่งคือการสร้างแอดเดอร์ทีละตัวและจากด้านขวาไปด้านซ้าย ข้อผิดพลาดทั่วไปที่หลายคนทำคือทำ adders ทั้งหมดพร้อมกัน การทำเช่นนี้อาจทำให้สายไฟเลอะได้ ข้อผิดพลาดหนึ่งครั้งในตัวบวก 4 บิตอาจทำให้สิ่งทั้งหมดไม่ทำงาน

ขั้นตอนที่ 4: จัดหาพลังงานและกราวด์ให้กับวงจร

ใช้แบตเตอรี่ขนาด 9 โวลต์ จ่ายไฟและกราวด์ให้กับเขียงหั่นขนมซึ่งจะมีแอดเดอร์สี่บิต สำหรับเขียงหั่นขนม 3 ตัวที่เหลือ ให้จ่ายไฟและกราวด์ผ่าน Arduino UNO

ขั้นตอนที่ 5: การเดินสายไฟ LED

ไฟ LED สายไฟ
ไฟ LED สายไฟ

สำหรับโครงการนี้ ไฟ LED ห้าดวงจะใช้เป็นอุปกรณ์อินพุตและเอาต์พุต ในฐานะอุปกรณ์ส่งออก ไฟ LED จะส่องสว่างเลขฐานสอง ขึ้นอยู่กับอินพุตที่ใส่ลงในตัวบวกสี่บิต เป็นอุปกรณ์อินพุต ขึ้นอยู่กับว่าไฟ LED ใดเปิดและปิด เราจะสามารถฉายเลขฐานสองที่แปลงแล้วบนจอ LCD เป็นเลขฐานสิบ ในการต่อ LED คุณจะต้องเชื่อมต่อหนึ่งในผลรวมที่เกิดจากตัวบวกสี่บิตกับขาแอโนดของ LED (ขายาวของ LED) อย่างไรก็ตาม ให้วางตัวต้านทาน 330 โอห์มระหว่างสองตัวนี้ จากนั้นต่อขาแคโทดของ LED (ขาสั้นของ LED) เข้ากับรางกราวด์ ระหว่างตัวต้านทานและสายรวม ให้ต่อสายตัวผู้กับตัวผู้เข้ากับพินดิจิตอลใดๆ บน Arduino UNO ทำซ้ำขั้นตอนนี้สำหรับผลรวมสามส่วนที่เหลือและการดำเนินการ หมุดดิจิทัลที่ฉันใช้คือ 2, 3, 4, 5 และ 6

ขั้นตอนที่ 6: การเดินสายไฟ LED RGB ขั้วบวกทั่วไป

การเดินสายไฟ LED RGB ขั้วบวกทั่วไป
การเดินสายไฟ LED RGB ขั้วบวกทั่วไป

สำหรับโครงการนี้ จุดประสงค์ของ RGB LED นี้คือการเปลี่ยนสีทุกครั้งที่มีการสร้างตัวเลขทศนิยมใหม่บนจอ LCD เมื่อคุณดูที่ไฟ LED RGB ขั้วบวกทั่วไป คุณจะสังเกตเห็นว่ามี 4 ขา; ขาไฟแดง ขาไฟ (ขั้วบวก) ขาไฟเขียว ขาไฟสีฟ้า ขาจ่ายไฟ (แอโนด) จะต่อกับรางจ่ายไฟรับไฟ 5 โวลต์ เชื่อมต่อขาสามสีที่เหลือด้วยตัวต้านทาน 330 โอห์ม ที่ปลายอีกด้านของตัวต้านทาน ให้ใช้สายตัวผู้กับตัวผู้เพื่อเชื่อมต่อกับพิน PWM dgital บน Arduino พินดิจิตอล PWM คือพินดิจิตอลใดๆ ที่มีเส้นขยุกขยิกอยู่ข้างๆ พิน PWM ที่ฉันใช้คือ 9, 10 และ 11

ขั้นตอนที่ 7: การเดินสายไฟจอ LCD

การเดินสายไฟจอ LCD
การเดินสายไฟจอ LCD

สำหรับโครงการนี้ จอ LCD จะฉายเลขฐานสองที่แปลงแล้วเป็นทศนิยม เมื่อเราดูที่จอ LCD คุณจะสังเกตเห็นหมุดตัวผู้ 4 ตัว พินเหล่านั้นคือ VCC, GND, SDA และ SCL สำหรับ VCC ให้ใช้สายตัวผู้กับตัวเมียเพื่อเชื่อมต่อพิน VCC กับรางจ่ายไฟบนเขียงหั่นขนม สิ่งนี้จะให้พิน VCC 5 โวลต์ สำหรับพิน GND ให้เชื่อมต่อเข้ากับรางกราวด์ด้วยสายตัวผู้กับตัวเมีย ด้วยหมุด SDA และ SCL ให้เชื่อมต่อเข้ากับพินแบบอะนาล็อกด้วยสายตัวผู้ถึงตัวเมีย ฉันเชื่อมต่อพิน SCL กับพินอะนาล็อก A5 และพิน SDA กับพินอะนาล็อก A4

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

ฉันได้อธิบายส่วนการสร้างของโปรเจ็กต์นี้แล้ว มาเริ่มโค้ดกันเลย ประการแรก เราต้องดาวน์โหลดและนำเข้าไลบรารีต่อไปนี้ก่อน ไลบรารี LiquidCrystal_I2C และไลบรารีสาย

#รวม #รวม

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

const int ตัวเลข 1 = 2;

const int digit2 = 3;

const int digit3 = 4;

const int digit4 = 5;

const int ตัวเลข 5 = 6;

int digitsum1 = 0;

int digitsum2 = 0;

int digitsum3 = 0;

int digitsum4 = 0;

int digitsum5 = 0;

char array1="ไบนารีเป็นทศนิยม";

ถ่าน array2="แปลง";

int tim = 500; //ค่าของเวลาหน่วง

const int redPin = 9;

const int greenPin = 10;

const int bluePin = 11;

#define COMMON_ANODE

LiquidCrystal_I2C จอแอลซีดี (0x27, 16, 2);

ในการตั้งค่าเป็นโมฆะ () คุณประกาศประเภทพินสำหรับตัวแปรทั้งหมดของคุณ คุณจะใช้การเริ่มต้นแบบอนุกรมเพราะเรากำลังใช้ analogWrite()

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

{

Serial.begin(9600);

โหมดพิน (หลัก 1, อินพุต);

pinMode (ตัวเลข 2, INPUT);

pinMode (ตัวเลข 3, INPUT);

pinMode (ตัวเลข 4, INPUT);

pinMode (ตัวเลข 5, INPUT);

lcd.init();

LCD.backlight();

โหมดพิน (redPin, เอาต์พุต);

โหมดพิน (กรีนพิน, เอาต์พุต);

โหมดพิน (บลูพิน, เอาต์พุต);

ใน void setup() ฉันสร้าง for loop เพื่อสร้างข้อความที่บอกชื่อโปรเจ็กต์นี้ สาเหตุที่ไม่อยู่ใน void loop() คือถ้าอยู่ใน void นั้น ข้อความจะวนซ้ำไปเรื่อยๆ

lcd.setCursor(15, 0); // ตั้งค่าเคอร์เซอร์ไปที่คอลัมน์ 15, บรรทัด 0

สำหรับ (int positionCounter1 = 0; positionCounter1 <17; positionCounter1++)

{

lcd.scrollDisplayLeft(); //เลื่อนเนื้อหาของหน้าจอไปทางซ้ายหนึ่งช่อง

lcd.print(array1[positionCounter1]); // พิมพ์ข้อความไปยัง LCD

ล่าช้า(ทิม); //รอ 250 ไมโครวินาที

}

lcd.clear(); //ล้างหน้าจอ LCD และจัดตำแหน่งเคอร์เซอร์ที่มุมซ้ายบน

lcd.setCursor(15, 1); // กำหนดเคอร์เซอร์ไปที่คอลัมน์ 15, บรรทัดที่ 1

สำหรับ (int positionCounter = 0; positionCounter <9; positionCounter++)

{

lcd.scrollDisplayLeft(); //เลื่อนเนื้อหาของหน้าจอไปทางซ้ายหนึ่งช่อง

lcd.print(array2[positionCounter]);// พิมพ์ข้อความไปยัง LCD

หน่วงเวลา(tim);//รอ 250 ไมโครวินาที

}

lcd.clear(); //ล้างหน้าจอ LCD และจัดตำแหน่งเคอร์เซอร์ที่มุมซ้ายบน

}

ตอนนี้เราเสร็จสิ้นการตั้งค่า void () แล้ว มาที่ void loop() กัน ใน void loop ฉันได้สร้างคำสั่ง if-else ขึ้นเพื่อให้แน่ใจว่าเมื่อไฟเปิดหรือปิด ไฟจะแสดงตัวเลขทศนิยมบนจอแสดงผล ฉันได้แนบเอกสารที่แสดงว่ามีอะไรอยู่ภายใน void loop ของฉันและ voids อื่นๆ อีกมากมายที่ฉันสร้างขึ้น คลิกที่นี่เพื่อเยี่ยมชมเอกสาร

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

แนะนำ: