جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > ماشین حساب آردوینو با استفاده از صفحه کلید 4×4 بسازید

ماشین حساب آردوینو با استفاده از صفحه کلید 4×4 بسازید

اسفند 2, 1396
ارسال شده توسط mjavad
پروژه، پروژه های آردوینو، پروژه های رایگان
ماشین حساب آردوینو با استفاده از صفحه کلید 4x4

به نام خدا

ماشین حساب آردوینو با استفاده از صفحه کلید 4×4 بسازید

 

ماشین حساب آردوینو با استفاده از صفحه کلید 4x4 بسازید

 

در این آموزش ما ماشین حساب خود را با آردوینو ساخته ایم، اعداد را میتوان از طریق یک صفحه کلید (صفحه کلید 4×4) ارسال کرد و حاصل آن را روی یک صفحه نمایش LCD 2*16 مشاهده کرد .این ماشین حساب می تواند عملیات ساده ای مانند جمع ،تفریق، ضرب و تقسیم را با اعداد صحیح انجام داد.

قطعات مورد نیاز:

1-آردوینو UNO
2-LCD 16×2
3- صفحه کلید 4×4
4- باتری 9V
5-برد بورد

6-سیم بردبورد

 

مدار پروژه :

ما LCD را به صورت 4 بیتی راه اندازی می کنیم ، بنابراین تنها چهار پین آخر برای ارسال داده به LCD به آردوینو وصل می شود. صفحه کلید دارای 8 پین خروجی است که به پین 0 تا پین 7 آردوینو متصل می شود، شما می توانید از جدول زیر برای اتصال صفحه کلید به آردوینو استفاده کنید.

 

پین آردوینو: متصل به:
D0 اولین پین از کیبورد
D1 دومین پین از کیبورد
D2 سومین پین از کیبورد
D3 چهارمین پین از کیبورد
D4 پنجمین پین از کیبورد
D5 ششمین پین از کیبورد
D6 هفتمین پین از کیبورد
D7 هشتمین پین از کیبورد
D8  پین RS از پین های LCD  (پین 4)
D9  پین E از پین های LCD
D10 پین D4 از LCD
D11 پین D5  از LCD
D12 پین D6 از LCD
D13 پین D7 از LCD
+5V وصل شود به پین vdd از LCD
زمین وصل شود به پین های  VSS ،VEE و RW  از LCD   (پین های 1،3و5)

 

در هنگام آپلود برنامه بر روی برد آردوینو ممکن است خطایی نشان داده شود ، این خطا به دلیل اتصال پین 0 و 1 آردوینو به یک قطعه الکترونیکی است. بنابراین هنگام آپلود برنامه به برد، صفحه کلید خود را از برد جدا کنید . ( پین های 0 و 1 آردوینو UNO موقع پروگرام کردن نباید به جایی متصل باشند )

 

ماشین حساب آردوینو با استفاده از صفحه کلید 4x4 بسازید

 

شبیه سازی ماشین حساب آردوینو:

ما میتوانیم با استفاده از نرم افزار poroteus پروژه ی خود را شبیه سازی کنیم وآن را مورد بررسی قرار دهیم .

در صورتی که نرم افزار porteus شما برد آردوینو را ندارد، میتوان به راحتی کتابخانه ی مربوط به آن را دانلود کرده و به کتابخانه های proteus خود اضافه کرد.

هنگامی که برد آردوینو را در proteus  دارید کافی است keypad و alphanomic LCD  را اضافه کنید و اتصالات لازم را انجام دهید.

 

ماشین حساب آردوینو با استفاده از صفحه کلید 4x4 بسازید

 

نحوه کار با ماشین حساب آردوینو :

 

ماشین حساب آردوینو با استفاده از صفحه کلید 4x4 بسازید

 

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

 

کارکتر های کیبورد کارکتر فرض شده
“A” جمع (+)
“B” تفریق (-)
“C” ضرب (*)
“D” تقسیم (/)
“*” پاک کردن (C)
“#” مساوی (=)

 

 

دانلود کد برنامه :

 

[maxbutton id=”184″ url=”http://avatrobo.ir/wp-content/uploads/2018/02/ماشین-حساب-آردوینو-با-استفاده-از-صفحه-کلید-4×4.txt” ]

 

/*
 * Arduino Keypad calculator Program
 */
#include <LiquidCrystal.h> // 
#include <Keypad.h> // 
const byte ROWS = 4; // Four rows
const byte COLS = 4; // Three columns
// Define the Keymap
char keys[ROWS][COLS] = {
  {'7','8','9','D'},
  {'4','5','6','C'},
  {'1','2','3','B'},
  {'*','0','#','A'}
};
byte rowPins[ROWS] = { 0, 1, 2, 3 };// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.
byte colPins[COLS] = { 4, 5, 6, 7 }; // Connect keypad COL0, COL1 and COL2 to these Arduino pins.
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //  Create the Keypad
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; //Pins to which LCD is connected
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
 long Num1,Num2,Number;
 char key,action;
 boolean result = false;
 
void setup() {
  lcd.begin(16, 2); //We are using a 16*2 LCD display
  lcd.print("DIY Calculator"); //Display a intro message
  lcd.setCursor(0, 1);   // set the cursor to column 0, line 1
  lcd.print("-CircuitDigest"); //Display a intro message 
   delay(2000); //Wait for display to show info
    lcd.clear(); //Then clean it
}
void loop() {
  
key = kpd.getKey(); //storing pressed key value in a char
if (key!=NO_KEY)
DetectButtons();
if (result==true)
CalculateResult();
DisplayResult();   
}
void DetectButtons()
{ 
     lcd.clear(); //Then clean it
    if (key=='*') //If cancel Button is pressed
    {Serial.println ("Button Cancel"); Number=Num1=Num2=0; result=false;}
    
     if (key == '1') //If Button 1 is pressed
    {Serial.println ("Button 1"); 
    if (Number==0)
    Number=1;
    else
    Number = (Number*10) + 1; //Pressed twice
    }
    
     if (key == '4') //If Button 4 is pressed
    {Serial.println ("Button 4"); 
    if (Number==0)
    Number=4;
    else
    Number = (Number*10) + 4; //Pressed twice
    }
    
     if (key == '7') //If Button 7 is pressed
    {Serial.println ("Button 7");
    if (Number==0)
    Number=7;
    else
    Number = (Number*10) + 7; //Pressed twice
    } 
  
    if (key == '0')
    {Serial.println ("Button 0"); //Button 0 is Pressed
    if (Number==0)
    Number=0;
    else
    Number = (Number*10) + 0; //Pressed twice
    }
    
     if (key == '2') //Button 2 is Pressed
    {Serial.println ("Button 2"); 
     if (Number==0)
    Number=2;
    else
    Number = (Number*10) + 2; //Pressed twice
    }
    
     if (key == '5')
    {Serial.println ("Button 5"); 
     if (Number==0)
    Number=5;
    else
    Number = (Number*10) + 5; //Pressed twice
    }
    
     if (key == '8')
    {Serial.println ("Button 8"); 
     if (Number==0)
    Number=8;
    else
    Number = (Number*10) + 8; //Pressed twice
    }   
  
    if (key == '#')
    {Serial.println ("Button Equal"); 
    Num2=Number;
    result = true;
    }
    
     if (key == '3')
    {Serial.println ("Button 3"); 
     if (Number==0)
    Number=3;
    else
    Number = (Number*10) + 3; //Pressed twice
    }
    
     if (key == '6')
    {Serial.println ("Button 6"); 
    if (Number==0)
    Number=6;
    else
    Number = (Number*10) + 6; //Pressed twice
    }
    
     if (key == '9')
    {Serial.println ("Button 9");
    if (Number==0)
    Number=9;
    else
    Number = (Number*10) + 9; //Pressed twice
    }  
      if (key == 'A' || key == 'B' || key == 'C' || key == 'D') //Detecting Buttons on Column 4
  {
    Num1 = Number;    
    Number =0;
    if (key == 'A')
    {Serial.println ("Addition"); action = '+';}
     if (key == 'B')
    {Serial.println ("Subtraction"); action = '-'; }
     if (key == 'C')
    {Serial.println ("Multiplication"); action = '*';}
     if (key == 'D')
    {Serial.println ("Devesion"); action = '/';}  
    delay(100);
  }
  
}
void CalculateResult()
{
  if (action=='+')
    Number = Num1+Num2;
  if (action=='-')
    Number = Num1-Num2;
  if (action=='*')
    Number = Num1*Num2;
  if (action=='/')
    Number = Num1/Num2; 
}
void DisplayResult()
{
  lcd.setCursor(0, 0);   // set the cursor to column 0, line 1
  lcd.print(Num1); lcd.print(action); lcd.print(Num2); 
  
  if (result==true)
  {lcd.print(" ="); lcd.print(Number);} //Display the result
  
  lcd.setCursor(0, 1);   // set the cursor to column 0, line 1
  lcd.print(Number); //Display the result
}

 

برچسب ها: آردوینو یونوآموزش ساخت ماشین حسابپروژه آردوینوپروژه ماشین حسابپروژه ماشین حساب آردوینو با استفاده از صفحه کلید 4x4پروژه های آردوینودانلود کد رایگاندانلود ماشین حساب آردوینو با استفاده از صفحه کلید 4x4 بسازیدسنسورکد آردوینوماشین حساب آردوینو با استفاده از صفحه کلید 4x4
قبلی اندازه گیری وزن با آردوینو و بوسیله ماژول HX711 و لودسل
بعدی آشکار ساز دود با استفاده از سنسور گاز MQ2 و آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

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

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.