راه اندازی کی پد و نمایشگر 2*16 توسط آردوینو

 

[icon name=”arrow-circle-left” class=”” unprefixed_class=””]سلام امیدوارم که ما امروز هم بتوانیم مطالب آموزشی خوبی در اختیارتان قرار دهیم

در آموزش قبلی با هم به راه اندازی LCD پرداختیم که در آن ما حروف را به صورت متحرک در آوردیم

و در این جلسه می خواهیم با هم به آموزش را اندازی LCD  کاراکتری وkeypad با آردوینو بپردازیم:

 

 

وسایل مورد نیاز راه اندازی کی پد و نمایشگر 2*16 توسط آردوینو :

[icon name=”check-circle” class=”” unprefixed_class=””]  یک برد آردوئینو(UNO)

[icon name=”check-circle” class=”” unprefixed_class=””]  یک عدد (LCD 2*16 )

[icon name=”check-circle” class=”” unprefixed_class=””]  یک عدد (key pad(4*4

[icon name=”check-circle” class=”” unprefixed_class=””]  یکرعدد برد برد

[icon name=”check-circle” class=”” unprefixed_class=””]  یک عدد کابل usb چاپگر

[icon name=”check-circle” class=”” unprefixed_class=””]  تعدادی سیم برای اتصال برد برد به برد UNO

[icon name=”check-circle” class=”” unprefixed_class=””]  یک  عدد پتانسیومتر ویا مولتی ترن 10 کیلو اهم

 

[icon name=”star-half-o” class=”” unprefixed_class=””] به یاد داشته باشید این lcd  مورد نظر دارای دو ردیف 16 تایی می باشد

[icon name=”star-half-o” class=”” unprefixed_class=””] همانطور که گفته شده بود پتانسیومتر را فقط برای تنظیم نور صفحه نوشه مان گذاشته ایم

 

نمای LCD  کاراکتری (2*16):

راه اندازی کی پد و نمایشگر 216 توسط آردوینو

راه اندازی کی پد و نمایشگر 216 توسط آردوینو

در این تصویر می توان فهمید که چگونه می توانیم پایه های آردوینو به LCD  را نشان می دهد در جدول زیر به آن ها می پردازیم

 

 

جدول اتصال پایه های آردوئینو به LCD :

[su_table responsive=”yes”]

 

 

نام پین های مربوط به LCD شماره پایه های متصل به آردوئینو
VSSیا 1 GND
VDDیا2 VCCیا 5V
VEیا3 خروجی پتانسیومتر
RSیا4 7
Eیا6 8
D4یا11 9
D5یا12 10
D6یا13 11
D7یا14 12
Aیا15 VCCیا 5V
Kیا16 GND

[/su_table]

شمای فنی(4*4)KEYPAD:

راه اندازی کی پد و نمایشگر 216 توسط آردوینو

راه اندازی کی پد و نمایشگر 216 توسط آردوینو

جدول چگونه اتصال KEYPAD به آردوئینو:

[su_table responsive=”yes”]

(ROWS)

پایه های KEYPAD پایه های LCD
A A2
B A3
C A4
D A5

[/su_table]

[su_table responsive=”yes”]

(COLUMNS)

پایه های KEYPAD

پایه های LCD
1 2
2 3
3 4
4

5

 

[/su_table]

شمای چگونه اتصال LCD و KEYPAD:

راه اندازی کی پد و نمایشگر 216 توسط آردوینو

[icon name=”circle-o” class=”” unprefixed_class=””]همانطور که میدانید و در سری قبل گفته شده بود پتانسیومتر دارای سه پایه می باشد

به دلخواه از سمت چپ یا راست یک کدام را (VCC)و یکی دیگر را (GND ). وپایه مورد نظر وسطی  که برای تنظیم نور صفحه نوشته مان میباشد

 دستورات راه اندازی LCD و KEYPAD  میرویم:

برای دیدن دستورات راه اندازی (LCD)میتوان به لینک آموزش راه اندازی lcd کاراکتری (۱۶*۲) با آردوینو  مراجعه کرد.

آشنایی با دستورات را اندازی KEYPAD:

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

include <Keypad.h

این دستور در بالای خط VOID SETUP  نوشته میشود این دستور برای فراخوانی ویا اضافه کردن کتابخانه KEYPAD  است

مانند  کد زیر:

#include <Keypad.h>

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

include <LiquidCrystal.h

این دستور در بالای خط VOID SETUP  نوشته میشود این دستور برای فراخوانی  ویا اضافه کردن کتابخانه lcdاست

مانند کد زیر:

#include <LiquidCrystal.h>

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(7,8,9,10,11,12) LiquidCrystal lcd:

این دستور برای معرفی پایه هایی که از LCD  به برد آردوئینو متصل شده است

مانند کد زیر:

LiquidCrystal Lcd(7,8,9,10,11,12);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(constROWS=4; byte):

این دستور برای معرفی 4 سطرمی باشد که یعنی ما از 4 سطر استفاده میکنیم

مانند کدزیر:

const byte ROWS=4;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(CONTS BYTE COLS=4):

این دستور برای معرفی 4ستونمان است یعنی ما از 4 ستونمان استفاده می کنیم

مانند کد زیر:

const byte COLS=4;

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

[CHAR KEYS [ROWS] [COLS:

این دستور برای آن است که نام  کلیدهای مورد نظر مان را که می خواهیم استفاده کنیم

به زبان کد بنویسیم

مانند کد زیر:

char keys [ROWS][COLS]={
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(byte rowpins[ROWS]=(A2,A3,A4,A5:

این دستور برای معرفی پایه هایی است که ما از KEYPAD به برد آرددوئینو متصل کرده ایم

مانند کد زیر:

byte rowpins[ROWS]={A2,A3,A4,A5};

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(byte colpins [cols]={2,3,4,5:

این دستور برای معرفی پایه هایی است که مااز keypad به برد آردوئینو متصل کرده ایم

مانند کد زیر:

byte colpins[COLS]={2,3,4,5};

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(Keypad kpd = Keypad (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS):

این دستور برای تعریف keypad است (پورت های ستون/پورت های سطر /ستون /سطرو../)

مانند کد زیر:

Keypad kpd = Keypad (makeKeymap(keys),rowpins,colpins, ROWS, COLS);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(;(kpd.setHoldTime (5000):

این دستور برای مقدار زمانی است که ما کلید را فشار می دهیم تا مقداری که داده ایم روی lcd نمایان می شود

مانند کد زیر:

  kpd.setHoldTime(5000);

[icon name=”circle-o” class=”” unprefixed_class=””]دستور :

(Lcd.begin(16, 2):

این خط مربوط به معرفی lcd2*16 ما به آردوئینو می باشد

مانند کد زیر:

  Lcd.begin(16,2);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(Lcd.setCursor(0,1):

این خط برای مشخص کردن موقعیت مکانی کلمه ما بر روی lcd است

مانند کد زیر:

  Lcd.setCursor(1,0);

[icon name=”circle-o” class=”” unprefixed_class=””]دستور

(Lcd.print(robotafzar.ir”):

این دستور برای پرینت کردن جمله مورد نظر خودمان است که lcd  چاپ می کند

مانند کد زیر:

  Lcd.print("ROBOTAFZAR.COM");

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

char customKey = kpd.getKey :

این دستور در قسمت void loop  نوشته می شود ما در این دستور ما یک کاراکتر(char customkey)

تعریف کرده ایم که مساوی kpd  قرار داده ایم

مانند کد زیر:

char customKey = kpd.getKey ();

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(  if ( customKey :

این دستور شرطی است که ما برای متغییرمان تعریف کرده ایم

مانند کد زیر:

if ( customKey )

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(   Lcd.print(customKey):

پرینت (customKey )ما است

مانند کد زیر:

    Lcd.print(customKey);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(String fin =  String(customKey):

در این خط ما یک متغییر(fin)تعریف کرده ایم که مساوی کاراکترمان قرار داده ایم

مانند کد زیر:

   String fin =  String(customKey);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(if(fin == “C

در این دستور ما تعریف کردیم که اگر کلمه (c) زده شد دستوراتی که زیر شرطمان است اجرا شود

مانند کد زیر:

if(fin == "C" )

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

  Lcd.clear:

با این دستور lcd ما پاک می شود

مانند کد زیر:

   Lcd.clear();

 

[vc_row][vc_column][vc_message message_box_color=”pink” icon_fontawesome=”fa fa-cloud-download”]برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.[/vc_message][/vc_column][/vc_row]

 //معرفی کتابخانه کیپد به آردوینو
#include <Keypad.h>
 //معرفی کتابخانه ال سی دی به آردوینو
#include <LiquidCrystal.h>
 //معرفی پایه های ال سی دی به آردوینو
LiquidCrystal Lcd(7,8,9,10,11,12);
 //در کد زیر 4 سطر استفاده کرده ایم
const byte ROWS=4;
 //در کد زیر 4 ستون استفاده کرده ایم
const byte COLS=4;
 //معرفی کلید های کیپد
char keys [ROWS][COLS]={
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};
 //پایه هایی که ما از کیپد به برد آردوینو متصل کردیم
byte rowpins[ROWS]={A2,A3,A4,A5};
 //پایه هایی که مااز کیپد به برد آردوینو متصل کردیم
byte colpins[COLS]={2,3,4,5};
 //سپس دستور زیر را برای معرفی کیپد به برد آردوینو می نویسیم
Keypad kpd = Keypad (makeKeymap(keys),rowpins,colpins, ROWS, COLS);

void setup()

{
 //دستور زیر مربوط به مقدار زمان فشار دادن کلید های کیپد می باشد
  kpd.setHoldTime(5000);
 //معرفی نوعال سی دی به آردوینو
  Lcd.begin(16,2);
 //دستور زیر برای مشخص کردن مکان جمله ما در ال سی دی می باشد
  Lcd.setCursor(1,0);
 //در دستور زیر جمله ای که میخواهیم در ال سی دی نمایش داده شود را می نوسیم
  Lcd.print("ROBOTAFZAR.COM");
 //دستور زیر برای مشخص کردن مکان جمله ما در ال سی دی می باشد
  Lcd.setCursor(0,1);
 //در دستور زیر جمله ای که میخواهیم در ال سی دی نمایش داده شود را می نوسیم
  Lcd.print("key:");

}

void loop()
{
 //در این جا ما یک کاراکتر  معرفی کرده ایم که مساوی کی پد قرار داده ایم
 char customKey = kpd.getKey ();
//دستور زیر شرطی می باشد که ما برای کاراکتر خودمان معرفی کرده ایم 
  if ( customKey ){
 //جمله مورد نظرمان را پرینت کند
    Lcd.print(customKey);
 
  }
 //در دستور زیر ما یک نوع متغیر (فین) تعریف کرده ایم
   String fin =  String(customKey);
 //در دستور زیر ما شرطی را گذاشته ایم که اگر متغیر ما مساوی (سی) قرار گرفت
  if(fin == "C" ){
 // در دستور زیر ما میخواهیم که با زدن کلید(سی)ال سی دی پاک شود
   Lcd.clear();
 //دستور زیر برای مشخص کردن مکان جمله ما در ال سی دی می باشد
   Lcd.setCursor(1,0);
 //در دستور زیر جمله ای که میخواهیم در ال سی دی نمایش داده شود را می نوسیم
   Lcd.print("ROBOTAFZAR.COM");
  //دستور زیر برای مشخص کردن مکان جمله ما در ال سی دی می باشد
   Lcd.setCursor(0,1);
  //در دستور زیر جمله ای که میخواهیم در ال سی دی نمایش داده شود را می نوسیم
   Lcd.print("key:");
    
  }
}

 

راه اندازی کی پد و نمایشگر 216 توسط آردوینو (4)

 

[hot_posts]

ساخت پروژه ماشین حساب با کمک (KEYPAD/LCD 2*16):

**توجه داشته باشید که تمام وسایل  در همین پروژه می باشد و تغییری نداشته**

حالا به سراغ  آشنایی به دستورات راه اندازی LCD و KEYPAD  میرویم:

برای دیدن دستورات راه اندازی (LCD)میتوان به لینک آموزش راه اندازی lcd کاراکتری (۱۶*۲) با آردوینو  مراجعه کرد.

 

دراین قسمت ما به سراغ چگونه راه اندازی KEYPAD  می پردازیم:

 

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

include <Keypad.h>:

این دستور برای اضافه کردن کتابخاخه keypad به آردوئینو می باشد

مانند کد زیر:

#include <Keypad.h>

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

include <LiquidCrystal.h>:

این دستور برای اضافه کردن کتابخانه lcd  به آردوئینو می باشد

مانند کد زیر:

#include <LiquidCrystal.h>

[icon name=”circle-o” class=”” unprefixed_class=””] دستور

(7,8,9,10,11,12) LiquidCrystal lcd:

این خط شماره پایه های متصل آردوئینو به lcd  می باشد

مانند کد زیر:

LiquidCrystal lcd(7,8,9,10,11,12);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

long num1,num2:

دراین دستور ما دو متغییر تعریف کرده ایم

مانند کد زیر:

long num1,num2 ;

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(double total):

double total;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(char operation,button):

در این خط ما دو متغییر تعریف کرده ایم

مانند کد زیر:

char operation,button;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(constROWS=4; byte):

این دستور برای معرفی 4 سطرمی باشد که یعنی ما از 4 سطر استفاده میکنیم

مانند کد زیر:

const byte ROWS = 4;

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(CONTS BYTE COLS=4):

این دستور برای معرفی 4ستونمان است یعنی ما از 4 ستونمان استفاده می کنیم

مانند کد زیر:

const byte COLS = 4;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

[HAR KEYS [ROWS] [COLS]):

این دستور برای آن است که نام  کلیدهای مورد نظر مان را که می خواهیم استفاده کنیم

به زبان کد بنویسیم

مانند کد زیر:

char keys[ROWS][COLS] = {
  {'1','2','3','/'},
  {'4','5','6','*'},
  {'7','8','9','-'},
  {'C','0','=','+'}   };

[icon name=“circle-o” class=““ unprefixed_class=““] دستور:

(byte rowpins[ROWS]={A2,A3,A4,A5):

این دستور برای معرفی پایه هایی است که ما از KEYPAD به برد آرددوئینو متصل کرده ایم

مانند کد زیر:

byte rowPins[ROWS] = {A2,A3,A4,A5};

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(byte colpins [cols]={2,3,4,5):

این دستور برای معرفی پایه هایی است که مااز keypad به برد آردوئینو متصل کرده ایم

مانند کد زیر:

byte colPins[COLS] = {2,3,4,5};

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(Lcd.begin(16, 2):

این خط مربوط به معرفی lcd2*16 )ما به آردوئینو می باشد

مانند کد زیر:

lcd.begin(16,2);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(Keypad kpd = Keypad (makeKeymap (hexaKeys), rowPins, colPins, ROWS, COLS):

این دستور برای تعریف keypad است (پورت های ستون/پورت های سطر /ستون /سطرو../)

مانند کد زیر:

Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(  while(1):

این خط حلقه اول ما می باشد

مانند کد زیر:

    while(1)

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

()button= customKeypad. getKey):

در این خط ما متغییر button را مساوی keypad قرار داده ایم

مانند کد زیر:

        button = customKeypad.getKey();

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(if(button==’c:

در این شرط ما متغییرمان را برابر (C) قرار داده ایم

مانند کد زیر :

if (button=='C')
        {
          num1=0;
          num2=0;
          total=0;
          operation=0;
          lcd.clear();
        }

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(  if(button>=’0’and button<=’9:

در این شرط ما متغییرمان راازاعداد کوچک تر از صفر و خود صفر وبزرگتر از نه قرار داده ایم

مانند کد زیر:

if (button >='0' && button <='9')

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(num1=num1*10+(button-‘0’):

اگه مقدار اولیه نباشه مقدار رو میریزه توی متغیر NUM1 و اگه عددی در متغیر باشه اون رو ضربدر ده میکنه تا تبدیل به دهگان

بشه  و در آخر عدد جدید رو بعنوان یکان ذخیره میکنه.

مانند کد زیر:

          num1 = num1*10 + (button -'0');

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(Lcd.setCursor(0,0):

این خط برای مشخص کردن موقعیت مکانی کلمه ما بر روی lcd است

مانند کد زیر:

          lcd.setCursor(0,0); 

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(Lcd.print(num1):

این دستور متغیر num1  را پرینت می کند

مانند کد زیر:

          lcd.print(num1);

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(  if (num1 !=0 && (button==’-‘ || button==’+’ || button==’*’ || button==’/’):

در این شرط ما متغییر num1 را هرچه به جز 0 را هرچی بدهیم متغیر button ما اجرا می کند

مانند کد زیر:

        if (num1 !=0 && (button=='-' || button=='+' || button=='*' || button=='/')) 

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(operation = button):

در این خط ما متغییر operationرا مساوی button قرار داده ایم

مانند کد زیر:

          operation = button;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(lcd.print(operation):

پرینت متغییر  operation ما می باشد

مانند کد زیر:

          lcd.print(operation); 

[icon name=”circle-o” class=”” unprefixed_class=””] دستور :

(break):

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

مانند کد زیر:

          break;

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

if (button ==’C’){break:

در این شرط ما متغییر button ما را مساوی (c) قرار داده ایم که هر زمان کلید (c) زده شد از برنامه خارج می شود

مانند کد زیر:

        if (button =='C'){break;}

[icon name=”circle-o” class=”” unprefixed_class=””]دستور:

(switch(operation):

سوئئیچ کردن عملیات ها

مانند کد زیر:

  switch(operation)

[icon name=”circle-o” class=”” unprefixed_class=””] دستور:

(case ‘+’):

این خط عملیات جمع را انجام می دهد

[vc_row][vc_column][vc_message message_box_color=”pink” icon_fontawesome=”fa fa-cloud-download”]برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.[/vc_message][/vc_column][/vc_row]

 case '+': 
          total = num1+num2;
          break;

سورس کامل پروژه:

//معرفی کتابخانه کیپد به آردوینو
#include <Keypad.h>
//معرفی کتابخانهlcd به آردوینو
#include <LiquidCrystal.h>
//معرفی پایه های lcd به آردوینو
LiquidCrystal lcd(7,8,9,10,11,12);

long num1,num2 ;
double total;
char operation,button;
//در کد زیر 4 سطر استفاده کرده ایم
const byte ROWS = 4;
//در کد زیر 4 ستون استفاده کرده ایم
const byte COLS = 4;
//معرفی کلید های کیپد
char keys[ROWS][COLS] = {
  {'1','2','3','/'},
  {'4','5','6','*'},
  {'7','8','9','-'},
  {'C','0','=','+'}   };
//پایه هایی که ما از کیپد به برد آردوینو متصل کردیم
byte rowPins[ROWS] = {A2,A3,A4,A5};
//پایه هایی که ما از کیپد به برد آردوینو متصل کردیم
byte colPins[COLS] = {2,3,4,5};
//سپس دستور زیر را برای معرفی کیپد به آردوینو می نویسیم
Keypad customKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
//معرفی نوع lcd به آردوینو
lcd.begin(16,2);
}

void loop()
{
  
 // این دستور برای شرط تکرار ما می باشد
    while(1)
    {
//این دستور متغیر button را مساوی keypad قرار میدهد
        button = customKeypad.getKey();
// اگر کاربر می خواهد در هنگام نوشتن شماره اول، مجددا تنظیم مجدد کند
        if (button=='C')
        {
          num1=0;
          num2=0;
          total=0;
          operation=0;
          lcd.clear();
        }
// اگر کاربر عددی را فشار داده، 1 کاراکتر در یک زمان از کوجک تر از 0 تا بالاتر از 9 را نشان می دهد
        if (button >='0' && button <='9')
        {
          num1 = num1*10 + (button -'0');
          //این خط برای مشخص کردن نوشته بر روی lcd است 
          lcd.setCursor(0,0); 
          //این خط برای پرینت مورد نظر مان است
          lcd.print(num1);
        }
        //در این شرط بیان میکند که هرچه به غیر از صفر را اجرا کند
        if (num1 !=0 && (button=='-' || button=='+' || button=='*' || button=='/')) 
        {
           //در این قسمت عملی که کاربر می خواهد را انجام دهد را اجرا کند
          operation = button;
          //در این خط جای نوشته مورد نظر را مشخص می کنیم
          lcd.setCursor(0,1);
          //پرینت خط مورد نظر 
          lcd.print(operation); 
          // زمانی که کد ها اجرا شد و به این دستور رسید برنامه خارج می شود
          break;
        }
    }
    // حلقه بی نهایت
while(1) 
    {
      //اگر کلید (c ) در keypad  زده شد از برنامه خارج می شود 
        if (button =='C'){break;}
         //عملی که می خواهیم انجام دهیم را مساوی keypad قرار داده ایم
        button = customKeypad.getKey();
        // اگر دکمه (c ) زده شد شرط زیر انجام شود
        if (button=='C') 
        {
          num1=0;
          num2=0;
          total=0;
          operation=0;
//پاک کردنlcd          
          lcd.clear();
          //خارج شدن
          break;
        }
        // گرفتن کاراکتر از صفحه کلید برای شماره 2
        if (button >='0' && button <='9') 
        {
          num2 = num2*10 + (button -'0');
          //دستور زیر برای مشخص کردن نوشته مورد نظر می باشد
          lcd.setCursor(1,1);
          //پرینت خط مورد نظر
          lcd.print(num2);
        }
        // اگر فشار دکمه '=' بود، پایان جاده آن است. فراخوانی subathreading () زیر محاسبه می کند و نتایج ما را چاپ می کند
        if (button == '=' && num2 !=0)
        {
          domath();
          //خارج شدن
          break;  
        }
    }
    while(1) 
    {
    // پس از همه انجام می شود این حلقه منتظر کلید C برای فشار دادن است تا بتواند برنامه را بازنشانی کند و شروع به کار کند
      if (button =='C'){break;} 
      button = customKeypad.getKey();
      if (button =='C') 
        {
          //دستور زیر ال سی دی را پاک می کند
           lcd.clear();
           //دستور زیر مختصات جمله مارا تعیین می کند
           lcd.setCursor(0,0);
           num1=0;
           num2=0;
           total=0;
           operation=0;
           //خارج شدن
           break;
        }
    }
}
void domath()
{
  //سوئیچ (عملیات)
  switch(operation)
    {
      //جمع کردن
      case '+': 
          total = num1+num2;
          break;
      //منها کردن
      case '-':  
          total = num1-num2;
          break;
      //تقسیم کردن
      case '/': 
          total = (float)num1/(float)num2;
          break;
      //ضرب کردن
      case '*': 
          total = num1*num2;
          break;         
    }
    //دستور زیر برای محاسبه کردن عمل ریاضی و چاپ آن بر روی ال سی دی می باشد 
    lcd.setCursor(0,1);
    lcd.print('=');
    lcd.setCursor(1,1);
    lcd.print(total);
    
}

جمع بندی:

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

رمز مخصوص خود را زدید درب باز شود

می توان به کمک فرستنده بر روی آن به عنوان کنترل از راه دور استفاده کرد

در پروژه دوم هم که از آن به عنوان ماشین حساب استفاده کرده ایم

 

 

موفق و پیروز باشید

امیدوارم از مطلب لذت برده باشید حتما سر به اینستاگرام سر بزنید

[wp_ulike]
اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل و شماره موبایل خود را در کادر زیر وارد کنید:
تعداد علاقه مندانی که تاکنون عضو خبرنامه ما شده اند: 0 نفر
دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *