راه اندازی کی پد و نمایشگر 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):

در این تصویر می توان فهمید که چگونه می توانیم پایه های آردوینو به LCD را نشان می دهد در جدول زیر به آن ها می پردازیم
جدول اتصال پایه های آردوئینو به LCD :
نام پین های مربوط به 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 |
شمای فنی(4*4)KEYPAD:

جدول چگونه اتصال KEYPAD به آردوئینو:
(ROWS)
پایه های KEYPAD | پایه های LCD |
A | A2 |
B | A3 |
C | A4 |
D | A5 |
(COLUMNS)
پایه های KEYPAD |
پایه های LCD |
1 | 2 |
2 | 3 |
3 | 4 |
4 |
5 |
شمای چگونه اتصال LCD و KEYPAD:
[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();
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
//معرفی کتابخانه کیپد به آردوینو #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:"); } }
[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 ‘+’):
این خط عملیات جمع را انجام می دهد
برای دانلود کامل برنامه و فایل های پروژه به صورت رایگان به پایین صفحه مراجعه کنید.
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 توسط آردوینو می توانیم در قفل های درب خانه استفاده کرد به این صورت که هر وقت
رمز مخصوص خود را زدید درب باز شود
می توان به کمک فرستنده بر روی آن به عنوان کنترل از راه دور استفاده کرد
در پروژه دوم هم که از آن به عنوان ماشین حساب استفاده کرده ایم
موفق و پیروز باشید
امیدوارم از مطلب لذت برده باشید حتما سر به اینستاگرام سر بزنید
- در صورت مشکل در لینک دانلود یا خود فایل حتما در بخش خرابی لینک برامون بنویسید تا در سریع ترین زمان رسیدگی کنیم
- توجه فرمایید که اعلام گزارش خربی باعث بهتر شدن خدمات ما به شما خواهد بود
- برای دریافت لینک دانلود یک بار ثبت نام کنید و به صورت مستقیم دانلود کنید
پسورد فایل : robotafzar.com گزارش خرابی لینک
Oops! We could not locate your form.
درباره امیرحسین تاراج بر
دانشجوی الکترونیک دانشگاه سراسری تهران و در زمینه ی آردوینو - رزبری پای در حال فعالیت هستم به ساخت رباتیک و کار های فنی علاقه مندم و در ربات افزار مشغول به کار هستم
نوشته های بیشتر از امیرحسین تاراج بر
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.