فهرست مطالب:

ماشین حساب LCD توسط Jai Mishra: 8 مرحله
ماشین حساب LCD توسط Jai Mishra: 8 مرحله

تصویری: ماشین حساب LCD توسط Jai Mishra: 8 مرحله

تصویری: ماشین حساب LCD توسط Jai Mishra: 8 مرحله
تصویری: تعمیر تلفن panasonic مدل 3711 (تعویض فلت lcd) 2024, نوامبر
Anonim
ماشین حساب LCD توسط Jai Mishra
ماشین حساب LCD توسط Jai Mishra

پروژه های Tinkercad »

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

تدارکات

  • آردوینو Uno R3
  • مقاومت 220 اهم
  • صفحه کلید 4*4
  • LCD 16*2
  • یک دسته سیم برای اتصال مدار

مرحله 1: وسایل خود را در TinkerCad جمع آوری کنید

وسایل خود را در TinkerCad جمع آوری کنید
وسایل خود را در TinkerCad جمع آوری کنید

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

مرحله 2: وسایل خود را مرتب کنید

وسایل خود را مرتب کنید
وسایل خود را مرتب کنید

چیدمان لوازم خود بهترین راه برای مشاهده پیش نمایشی است که ماشین حساب شما به نظر می رسد. شما می توانید هر نوع طراحی ماشین حساب را که می خواهید ایجاد کنید ، اما مطمئن شوید ماشین حساب طبیعی به نظر می رسد و کاربران می توانند طراحی را درک کنند و گیج نشوند. من از یک ماشین حساب درجه یک معمولی استفاده کردم که برای همه م effectiveثر و قابل درک است. شما می توانید طرح من را انتخاب کنید یا طرح دلخواه خود را ایجاد کنید ، اما هر چه که باشد خلاق باشید و موفق باشید!

مرحله 3: اتصال سیم ها

اتصال سیم ها
اتصال سیم ها

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

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

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

نوشتن کد
نوشتن کد
نوشتن کد
نوشتن کد
نوشتن کد
نوشتن کد

#عبارتند از

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

LCD مایع LiquidCrystal (13 ، 12 ، 11 ، 10 ، 9 ، 8) ؛

طولانی اول = 0؛ ثانیه طولانی = 0 ؛ مجموع دو برابر = 0؛

char customKey؛ const byte ROWS = 4؛ const byte COLS = 4؛

کلیدهای شارژ [ROWS] [COLS] = {{'1' ، '4' ، '7' ، '/'} ، {'2' ، '5' ، '8' ، '+'} ، {'3' ، '6' ، '9' ، '-'} ، {'C' ، '0' ، '=' ، '*'}} ؛ بایت rowPins [ROWS] = {7 ، 6 ، 5 ، 4} ؛ // اتصال به pinouts سطر byP صفحه کلید colPins [COLS] = {3 ، 2 ، 1 ، 0} ؛ // به پین های ستون صفحه کلید متصل شوید

// مقداردهی اولیه از کلاس NewKeypad Keypad customKeypad = Keypad (makeKeymap (keys) ، rowPins ، colPins ، ROWS ، COLS) ؛

void setup () {lcd.begin (16 ، 2) ؛ // شروع lcd برای (int i = 0 ؛ i <= 3؛ i ++) ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("ماشین حساب") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("By Jai 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) فشار داده نشود ، جمع آوری می کند. first = first * 10 + (customKey - '0')؛ ال سی دی چاپ (اول) ؛ زنگ تفريح؛

مورد '+': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("+") ؛ second = SecondNumber ()؛ // جمع آوری شده شماره دوم مجموع = اول + دوم؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ // برای استفاده بعدی ، مقادیر را به صفر بازگردانید ؛

case '-': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("-") ؛ second = SecondNumber ()؛ مجموع = اول - دوم ؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

مورد '*': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("*") ؛ second = SecondNumber ()؛ مجموع = اول * دوم ؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

case '/': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("/") ؛ second = SecondNumber ()؛ lcd.setCursor (0 ، 3) ؛

دوم == 0؟ lcd.print ("نامعتبر"): مجموع = (شناور) اول / (شناور) دوم ؛

lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

مورد 'C': مجموع = 0؛ lcd.clear ()؛ زنگ تفريح؛ }}

SecondNumber طولانی () {while (1) {customKey = customKeypad.getKey ()؛ if (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0')؛ lcd.setCursor (0 ، 2) ؛ ال سی دی چاپ (دوم) ؛ }

if (customKey == '=') break؛ // بازگشت دوم ؛ } بازگشت دوم ؛ }

مرحله 5: شکستن کد

شکستن کد
شکستن کد

مقادیر را برای رایانه برای درک اولیه تنظیم کردیم

#عبارتند از

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

LCD مایع LiquidCrystal (13 ، 12 ، 11 ، 10 ، 9 ، 8) ؛

طولانی اول = 0؛ ثانیه طولانی = 0 ؛ مجموع دو برابر = 0؛

char customKey؛ const byte ROWS = 4؛ const byte 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} ؛

ما مقدمه یا قدرت صفحه روی رایانه را ایجاد کردیم (می توانید نام خود را روی آن بنویسید)

void setup () {lcd.begin (16 ، 2) ؛ برای (int i = 0 ؛ i <= 3 ؛ i ++) ؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("ماشین حساب") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("By Jai Mishra")؛ تاخیر (4000) ؛ lcd.clear ()؛ lcd.print ("پروژه نهایی") ؛ تاخیر (2500) ؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ }

ما معنا و فرمول مربوط به هر عملیات را در ماشین حساب ایجاد می کنیم تا کامپیوتر بفهمد وقتی کاربر "+" را روی ماشین حساب فشار می دهد و غیره از چه فرمول استفاده کند

{case '0' … '9': lcd.setCursor (0، 0)؛ first = first * 10 + (customKey - '0')؛ ال سی دی چاپ (اول) ؛ زنگ تفريح؛

case '/': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("/") ؛ second = SecondNumber ()؛ lcd.setCursor (0 ، 3) ؛

دوم == 0؟ lcd.print ("نامعتبر"): مجموع = (شناور) اول / (شناور) دوم ؛

lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛ مورد '+': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("+") ؛ second = SecondNumber ()؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

case '-': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("-") ؛ second = SecondNumber ()؛ مجموع = اول - دوم ؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

مورد '*': first = (total! = 0؟ total: first)؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("*") ؛ second = SecondNumber ()؛ مجموع = اول * دوم ؛ lcd.setCursor (0 ، 3) ؛ lcd.print (کل) ؛ اول = 0 ، دوم = 0 ؛ زنگ تفريح؛

مورد 'C': مجموع = 0؛ lcd.clear ()؛ زنگ تفريح؛ }}

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

مرحله 6: سخت افزار این ماشین حساب چگونه کار می کند؟

سخت افزار این ماشین حساب چگونه کار می کند؟
سخت افزار این ماشین حساب چگونه کار می کند؟

این ماشین حساب از LCD ، صفحه کلید ، برد آردوینو و مقاومت 220 اهم استفاده می کند. همه این اجزا جدا هستند اما با سیم های آردوینو به صفحه کلید و LCD متصل می شوند. بخش های مختلف LCD با برد آردوینو متصل می شوند که در نهایت هر دو را با صفحه کلید متصل می کند. پس از اتصال ، برنامه نویسی تمام کارها را انجام می دهد و به هر عملیات و دکمه روی صفحه کلید کار می دهد تا دنبال شود.

مرحله 7: پیش نمایش کامل ماشین حساب

این پروژه نهایی ما به نظر می رسد! اگر کد شما کار نمی کند ، یا مشکلات فنی وجود دارد ، لطفاً به من ایمیل بزنید و من تمام تلاش خود را می کنم تا به شما در ایجاد بهترین ماشین حساب کمک کنم!

مرحله 8: الهام بخش من از این کد

من از ویدئوی بالا در مورد نحوه ساخت ماشین حساب در tinkercad الهام گرفتم! من هیچ چیزی را کپی و جایگذاری نکردم اما از ایده او در مورد ماشین حساب و درک کد استفاده کردم.

توصیه شده: