فهرست مطالب:

ماشین حساب دودویی تا اعشاری: 8 مرحله
ماشین حساب دودویی تا اعشاری: 8 مرحله

تصویری: ماشین حساب دودویی تا اعشاری: 8 مرحله

تصویری: ماشین حساب دودویی تا اعشاری: 8 مرحله
تصویری: آموزش کامل مبانی اعداد باینری : تبدیل مبنای 2 به مبنای اکتال،دسیمال،هگزا دسیمال 2024, جولای
Anonim
ماشین حساب دودویی تا اعشاری
ماشین حساب دودویی تا اعشاری

برای مهندسی کامپیوتر پایه یازدهم ، من مجبور بودم در مورد پروژه نهایی تصمیم بگیرم. در ابتدا نمی دانستم چه چیزی باید درست کنم زیرا باید قطعات سخت افزاری خاصی را شامل شود. پس از چند روز ، همکلاسی ام به من گفت که یک پروژه را بر اساس چهار جمع کننده بیتی که چند ماه پیش ایجاد کرده بودیم ، انجام دهم. پس از آن روز ، با استفاده از جمع کننده چهار بیتی خود ، توانستم مبدل باینری به اعشاری ایجاد کنم.

ایجاد این پروژه نیاز به تحقیقات زیادی دارد که عمدتا شامل درک نحوه عملکرد یک جمع کننده کامل و نیم است.

مرحله 1: مواد مورد نیاز

برای این پروژه ، شما به مواد زیر نیاز دارید:

  • آردوینو UNO
  • چهار تخته نان
  • باتری نه ولت
  • هفت دروازه XOR (2 تراشه XOR)
  • هفت AND دروازه (2 AND تراشه)
  • سه دروازه OR (1 تراشه OR)
  • پنج LED
  • هشت مقاومت 330 اهم
  • صفحه نمایش ال سی دی
  • چهار سیم زن و مرد
  • تعداد زیادی سیم مرد و مرد
  • سیم برنده
  • LED RGB آند معمولی

هزینه (بدون سیم): 79.82 دلار

تمام هزینه مواد در لوازم الکترونیکی ABRA پیدا شد.

مرحله 2: درک 4 بیت Adder

درک 4 بیت Adder
درک 4 بیت Adder

قبل از شروع ، باید نحوه عملکرد جمع کننده چهار بیتی را درک کنید. وقتی برای اولین بار به این مدار نگاه می کنیم ، متوجه می شوید که یک مدار نیم جمع کننده و سه مدار جمع کننده کامل وجود دارد. از آنجا که یک جمع کننده چهار بیتی ترکیبی از یک جمع کننده کامل و نیم است ، من یک ویدیو ارسال کرده ام که نحوه عملکرد این دو نوع جمع را توضیح می دهد.

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

مرحله 3: ساخت Adder 4 Bit

ساخت Adder 4 Bit
ساخت Adder 4 Bit
ساخت Adder 4 Bit
ساخت Adder 4 Bit

توضیح نحوه ساخت یک جمع کننده چهار بیتی بسیار دشوار است ، زیرا شامل سیم کشی زیادی است. بر اساس این تصاویر ، من می توانم چند ترفند برای ساخت این مدار به شما ارائه دهم. در مرحله اول ، نحوه ترتیب تراشه های منطقی خود می تواند بسیار مهم باشد. برای داشتن یک مدار مرتب ، تراشه های خود را به این ترتیب سفارش دهید: XOR ، AND ، OR ، AND ، XOR. با داشتن این نظم ، نه تنها مدار شما مرتب خواهد بود ، بلکه سازماندهی آن نیز برای شما بسیار آسان خواهد بود.

یک ترفند عالی دیگر این است که هر جمع را یک به یک و از سمت راست به سمت چپ بسازید. یک اشتباه رایج که بسیاری از مردم مرتکب شده اند این است که همه جمع را به طور همزمان انجام می دهند. با این کار می توانید سیم کشی را به هم بزنید. یک اشتباه در جمع 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 معمولی

برای این پروژه ، هدف از این LED RGB تغییر رنگ هر زمان که یک عدد اعشاری جدید روی صفحه LCD ایجاد شود ، است. وقتی برای اولین بار به آند رایج RGB led نگاه می کنید ، متوجه می شوید که 4 پا دارد. یک پای چراغ قرمز ، یک پای قدرتمند (آند) ، یک پای سبز روشن و یک پای آبی روشن. پایه برق (آند) به ریل برق متصل می شود و 5 ولت دریافت می کند. سه پایه باقی مانده را با مقاومتهای 330 اهم متصل کنید. در انتهای دیگر مقاومت ، از سیم نر به نر استفاده کنید تا آن را به پین dgital PWM در آردوینو وصل کنید. پین دیجیتال PWM هر پین دیجیتالی است که در کنار آن یک خط پیچیده وجود دارد. پین های PWM که استفاده کردم 9 ، 10 و 11 بود.

مرحله 7: سیم کشی صفحه نمایش LCD

سیم کشی صفحه نمایش LCD
سیم کشی صفحه نمایش LCD

برای این پروژه ، صفحه نمایش LCD تعداد دودویی تبدیل شده به یک اعشار را نشان می دهد. وقتی به صفحه LCD نگاه می کنیم ، متوجه 4 پین مرد می شوید. این پین ها VCC ، GND ، SDA و SCL هستند. برای VCC ، از سیم نر به ماده استفاده کنید تا پین VCC را به ریل قدرت روی تخته نان متصل کنید. این 5 ولت به پین VCC ارائه می دهد. برای پین GND ، آن را با سیم نر به ماده به ریل زمین متصل کنید. با پین های SDA و SCL ، آن را با سیم نر به ماده به پین آنالوگ وصل کنید. من پین SCL را به پین آنالوگ A5 و پین SDA را به پین آنالوگ A4 متصل کردم.

مرحله 8: نوشتن کد

اکنون که قسمت ساختمان این پروژه را توضیح دادم ، اجازه دهید کد را شروع کنیم. ابتدا باید کتابخانه های زیر را بارگیری و وارد کنیم. کتابخانه LiquidCrystal_I2C و کتابخانه سیم.

#شامل #شامل شود

پس از انجام این کار ، باید همه متغیرهای لازم را اعلام کنید. در هر نوع کد ، ابتدا باید متغیرهای خود را اعلام کنید.

const int digit1 = 2؛

const int digit2 = 3؛

const int digit3 = 4؛

const int digit4 = 5؛

const int digit5 = 6؛

int digitum1 = 0؛

int digitum2 = 0؛

int digitum3 = 0؛

int digitum4 = 0؛

int digitum5 = 0؛

char array1 = "دودویی تا اعشاری"؛

char array2 = "مبدل"؛

int tim = 500؛ // ارزش زمان تاخیر

const int redPin = 9؛

const int greenPin = 10؛

const int bluePin = 11؛

#تعریف COMMON_ANODE

LiquidCrystal_I2C ال سی دی (0x27 ، 16 ، 2) ؛

در void setup () ، نوع پین را برای همه متغیرهای خود اعلام می کنید. شما همچنین از یک شروع سریال استفاده می کنید زیرا ما از analogWrite () استفاده می کنیم

void setup ()

{

Serial.begin (9600)؛

pinMode (digit1 ، INPUT) ؛

pinMode (digit2 ، INPUT) ؛

pinMode (digit3 ، INPUT) ؛

pinMode (digit4 ، INPUT) ؛

pinMode (digit5 ، INPUT) ؛

lcd.init ()؛

lcd.lightlight ()؛

pinMode (redPin ، OUTPUT) ؛

pinMode (greenPin ، OUTPUT) ؛

pinMode (bluePin ، OUTPUT) ؛

در void setup () ، یک حلقه for ایجاد کردم تا پیامی با نام این پروژه ایجاد شود. دلیل عدم وجود آن در حلقه خلاء () این است که اگر در آن خلأ باشد ، پیام همچنان تکرار می شود

lcd.setCursor (15 ، 0) ؛ // مکان نما را روی ستون 15 ، خط 0 تنظیم کنید

for (int positionCounter1 = 0؛ positionCounter1 <17؛ positionCounter1 ++)

{

lcd.scrollDisplayLeft ()؛ // محتویات صفحه را یک فاصله به سمت چپ می پیماید.

lcd.print (array1 [positionCounter1]) ؛ // پیام را روی LCD چاپ کنید.

تاخیر (زمان) ؛ // برای 250 میکرو ثانیه صبر کنید

}

lcd.clear ()؛ // صفحه LCD را پاک می کند و مکان نما را در گوشه بالا سمت چپ قرار می دهد.

lcd.setCursor (15 ، 1) ؛ // مکان نما را روی ستون 15 ، خط 1 تنظیم کنید

for (int positionCounter = 0؛ positionCounter <9؛ positionCounter ++)

{

lcd.scrollDisplayLeft ()؛ // محتویات صفحه را یک فاصله به سمت چپ می پیماید.

lcd.print (array2 [positionCounter]) ؛ // پیام را روی LCD چاپ کنید.

تأخیر (tim) ؛ // منتظر 250 میکروثانیه باشید

}

lcd.clear ()؛ // صفحه LCD را پاک می کند و مکان نما را در گوشه بالا سمت چپ قرار می دهد.

}

حالا که تنظیمات خالی () را به پایان رساندیم ، به حلقه خالی () برویم. در حلقه void ، چندین دستور if-else ایجاد کردم تا مطمئن شوم وقتی برخی از چراغ ها روشن یا خاموش هستند ، یک عدد اعشاری مشخص را روی صفحه نمایش می دهد. من سندی را ضمیمه کرده ام که نشان می دهد درون حلقه خالی من و بسیاری از حفره های دیگر ایجاد شده است. برای مشاهده سند اینجا را کلیک کنید

اکنون تنها کاری که باید انجام دهید این است که کد را اجرا کرده و از مبدل باینری به اعشاری جدید خود لذت ببرید.

توصیه شده: