فهرست مطالب:

مسابقه ماشین حساب TinkerCad: 8 مرحله
مسابقه ماشین حساب TinkerCad: 8 مرحله

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

تصویری: مسابقه ماشین حساب TinkerCad: 8 مرحله
تصویری: Basic of Electricity-20-scratch and animation-مبانی برق-20-مفاهیم الکتریسیته با کمک اسکرچ و انیمیشن 2024, نوامبر
Anonim
مسابقه ماشین حساب TinkerCad
مسابقه ماشین حساب TinkerCad

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

مرحله 1: مواد

برای مدار:

  • LCD 16 2 2
  • آردوینو Uno R3
  • صفحه کلید 4x4
  • تخته نان کوچک
  • پتانسیومتر (250 کیلو وات)
  • مقاومت (1kΩ)
  • سیم های جامپر x26

مرحله 2: اتصال صفحه کلید 4x4

اتصال صفحه کلید 4x4
اتصال صفحه کلید 4x4

پین های 4 ردیفه روی صفحه کلید 4x4 را به پین های 4-7 آردوینو وصل کنید و 4 پایه ستون را به پین های آردوینو 0-3 متصل کنید.

مرحله 3: برق را به Breadboard وصل کنید و LCD را وصل کنید

برق را به Breadboard وصل کنید و LCD را وصل کنید
برق را به Breadboard وصل کنید و LCD را وصل کنید

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

مرحله 4: Power و Ground را به LCD وصل کنید

Power و Ground را به LCD وصل کنید
Power و Ground را به LCD وصل کنید

برای اتصال به LCD 3 پایه زمین لازم است. یکی از آنها زمین را به خود LCD متصل می کند ، دیگری به LED LCD متصل می شود و آخرین مورد به RW متصل می شود. VCC LCD و led برای اتصال به برق نیاز دارند. با این حال ، برای روشنایی LED به یک مقاومت متصل نیاز است ، در این حالت من از یک مقاومت 1 کیلو اهم استفاده کردم.

مرحله 5: اتصال پتانسیومتر

اتصال پتانسیومتر
اتصال پتانسیومتر

پتانسیومتر را با 3 ستون رایگان به تخته نان متصل کنید. دارای 3 پین خواهد بود ، ستونی که شامل ترمینال 1 پین است باید به آن زمین داده شود. ستونی که شامل ترمینال 2 پین است به نیرویی نیاز دارد که به آن داده شود. سپس برف پاک کن یک سیم جهنده در ستون خود دارد که به VO LCD متصل می شود.

مرحله 6: اتصال آردوینو به LCD

اتصال آردوینو به LCD
اتصال آردوینو به LCD

پین های 8-13 در آردوینو به LCD متصل می شوند. پین های 8-11 در آردوینو به ترتیب به D8 (7-4) متصل می شوند. سپس پین 12 آردوینو با Enable of LCD و پین 13 در آردوینو به رجیستر LCD متصل می شود.

مرحله 7: کد پیاده سازی

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

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

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

طولانی اول = 0؛

ثانیه طولانی = 0 ؛

مجموع دو برابر = 0؛

int pozit = 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} ؛

صفحه کلید customKeypad = صفحه کلید (makeKeymap (کلیدها) ، rowPins ، colPins ، ROWS ، COLS) ؛

void setup () {

lcd.begin (16 ، 2) ؛

lcd.setCursor (5 ، 0) ؛

lcd.clear ()؛ }

حلقه خالی () {

customKey = customKeypad.getKey ()؛

تغییر (customKey) {

مورد '0' … '9':

lcd.setCursor (0 ، 0) ؛

first = first * 10 + (customKey - '0')؛

ال سی دی چاپ (اول) ؛

موقعیت ++؛

زنگ تفريح؛

مورد "+":

first = (total! = 0؟ total: first)؛

lcd.setCursor (pozit، 0)؛

lcd.print ("+") ؛

موقعیت ++؛

second = SecondNumber ()؛

مجموع = اول + دوم ؛

lcd.setCursor (1 ، 1) ؛

lcd.print (کل) ؛

اول = 0 ،

دوم = 0 ؛

pozit = 0؛

زنگ تفريح؛

مورد '-':

first = (total! = 0؟ total: first)؛

lcd.setCursor (pozit، 0)؛

lcd.print ("-") ؛

موقعیت ++؛

second = SecondNumber ()؛

مجموع = اول - دوم ؛

lcd.setCursor (1 ، 1) ؛

lcd.print (کل) ؛

اول = 0 ،

دوم = 0 ؛

pozit = 0؛

زنگ تفريح؛

مورد '*':

first = (total! = 0؟ total: first)؛

lcd.setCursor (pozit، 0)؛

lcd.print ("*") ؛

موقعیت ++؛

second = SecondNumber ()؛

مجموع = اول * دوم ؛

lcd.setCursor (1 ، 1) ؛

lcd.print (کل) ؛

اول = 0 ،

دوم = 0 ؛

pozit = 0؛

زنگ تفريح؛

مورد '/':

first = (total! = 0؟ total: first)؛

lcd.setCursor (pozit، 0)؛

lcd.print ("/") ؛

موقعیت ++؛

second = SecondNumber ()؛ lcd.setCursor (1 ، 1) ؛

دوم == 0؟ lcd.print ("Error"): total = (float) first / (float) second؛

lcd.print (کل) ؛

اول = 0 ،

دوم = 0 ؛

pozit = 0؛

زنگ تفريح؛

مورد "C":

مجموع = 0 ؛

اول = 0 ؛

دوم = 0 ؛

pozit = 0؛

lcd.clear ()؛

زنگ تفريح؛ }

}

SecondNumber طولانی () {

در حالی که (1) {

customKey = customKeypad.getKey ()؛

if (customKey> = '0' && customKey <= '9') {

دوم = دوم * 10 + (customKey - '0') ؛

lcd.setCursor (pozit، 0)؛

ال سی دی چاپ (دوم) ؛ }

if (customKey == 'C') {

مجموع = 0 ؛

اول = 0 ؛

دوم = 0 ؛

pozit = 0؛

lcd.clear ()؛

زنگ تفريح؛ }

if (customKey == '=') {

lcd.setCursor (0 ، 1) ؛

lcd.print ("=")؛

pozit = کل؛

lcd.clear ()؛

lcd.setCursor (0 ، 1) ؛

lcd.print ("=")؛

زنگ تفريح؛ }

}

بازگشت دوم ؛}

مرحله هشتم: نتیجه گیری

نتیجه
نتیجه
نتیجه
نتیجه

امیدوارم همه از این مطلب آموزنده لذت برده باشید. ممنون که خواندید!

سعیم

توصیه شده: