نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
محرم
مهدی دمیرچیلو

آموزش جامع آردوینو جلسه 19 string در arduino

به نام خدا : تو این مطلب از آموزش آردوینو میخوام به آموزش رشته در آردوینو بپردازم، و انواع توابعش رو توضیح بدم و برای هر کدوم مثالی بزنم، این مطلب رو برای این میگم که تو مطالب بعدی بهش نیاز دارم وگرنه نمیخواستم بگم(تو فکرش نبودم که بزارم تو سایت این مطلب رو  pardon )
آموزش جامع آردوینو جلسه 19 string در arduino

آموزش جامع آردوینو جلسه 19 string در arduino


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

String()
charAt()
compareTo()
concat()
c_str()
endsWith()
equals()
equalsIgnoreCase()

getBytes()
indexOf()
lastIndexOf()
length()
remove()
replace()
reserve()
setCharAt()

startsWith()
substring()
toCharArray()
toInt()
toFloat()
toLowerCase()
toUpperCase()
trim()

که در ادامه تک تک توابع رو توضیح میدم و مثال هایی میزن برای هر کدوم. smile


داستان(خواب بریدن سر اولین مرغ!!!)
داستان(خواب بریدن سر اولین مرغ laugh ) : یادم میاد بچه بودم، حالا چند سال دقیقا نمیدونم، من اون موقع زیاد مرغ خروس – اردک – بلدرچن – لاکپشت کلا همه جی نگه میداشتم blush ، البته الانش هم همین طور هستش laugh و 1 مرغ لاری دارم و 2 تا بلدرچین(که در زیر عکس مرغ لاریم و عکس بلدرچین نر ام رو میبینید)، آقا ما یادمه توکوچه بودیم پیش رفیقامون یه دفه یه زنه(دختره) اومد پیشم و گفتم این انگشتر طلای منو بگیر و مرغت رو بده به من، ما کپ کردیم یه لحظه، مرغ 5 تومنی من کجا و اون انگشتر طلا کجا، علت رو پرسیدم، گفت دیشت خواب دیدم اولین مرغی که دیدم قربونیش کنم O_o >>> آقا ما هم که جونمون به این حیونامون بسته بود قبول نکردیم، و از اون طرف اسرار از ما ... و یه جوری دکش کردیم(حالا مگه دک میشد sarcastic )، بعد فهمیدیم که اون بنده خدا مریض هستش sad ، خدا همه ی مریضا رو شفا بده.
بلدرچین
مرغ لاری

آموزش کار با توابع string ( رشته ) در آردوینو

string یا رشته چیه و کار چیه و بازم چیه و کلا چیه ^_^
برید تو گوگل بسرچید جان داش حال توضیح دادن ندارم. diablo
نحوه تعریف یه رشته
نحوه تعریف یه رشته در آردوینو دقیقا مثل تعریغ انواع متغییر های دیگه هستش، مثال زیر رو ببینید تا یه توضیح کوچولو موچولو بدم :
خب در مثال بالا من 3 تا رشته با نام های str1 - str2 - str3 تعریف کردم و مقدار های اولیه ای بهشون دادم.
نکته ای که خواستم بگم اینه، سه تا رشته تعریف کردم در سه جای مختلف پروژه،
رشته str3 فقط در تابع loop قابل دسترسی هستش و در بقیه جاهای برنامه نه، رشته str2 هم فقط در تابع setup قابل دسترسی و استفاده هستش ولی رشته str1 در کل پروژه(همه جای پروژه) قابل دسترسی هستش و به این متغییر ها اگه اشتباه نکنم میگن متغییرهای سراسری.(اینم یه نکته برنامه نویسی C بود و جاش اینجا نبود که بگم ولی گفتیم دیگهmail)
startsWith و endsWith
startsWith : این تابع بررسی میکنه که آیا رشته string با رشته string2 شروع میشه یا نه(یعنی در اول رشته string آیا رشته string2 وجود داره یا نه.)
1 : در اول رشته string، رشته string2 وجود دارد.
0 : وجود ندارد.
مثال زیر رو برای این تابع ببینید :
endsWith : این تابع هم شبیه تابع startsWith هستش با این تفاوت که : این تابع بررسی میکنه که آیا رشته string با رشته string2 پایان میپذیره یا نه(یعنی در پایان رشته string رشته string2 وجود داره یا نه)
1 : در پایان رشته string، رشته string2 وجود دارد.
0 : وجود ندارد.
خب در مثال زیر من یه رشته تعریف کردم و بعد در خط 7 میام بررسی میکنم که آیا در پایان رشته str1 آیا عبارت chilu وجود داره یا نه اگه وجود داشته باشه که عبارت Yes داخل پنجره سریال نمایش داده میشه و در غیر این صورت عبارت No نمایش داده میشه.(با این پروژه چند تا عبارت دیگه تست کنید حتما!)
equals
equals : برای بررسی اینکه آیا string با string2 برابر هستش یا نه(بررسی برابر بودن یا نبودن دو رشته)
1 : دو رشته با هم برابر هستند.
0 : با هم برابر نیستند.

توجه : البته به جای استفاده از این تابع میتونیم از روش قدیمی بررسی برابر بودن دو چیز استفاده کنیم یعنی همون عملگر ==، مثال زیر رو ببینید :

toUpperCase و toLowerCase

toUpperCase : بزرگ کردن تمام حروف انگلیسی رشته string
toLowerCase : کوچک کردن تمام حروف انگلیسی رشته string

مثال زیر و جوابش رو ببینید متجوه موضوع این دو تا بع میشید(اگه دقیقا متوجه نشدید)

جواب مثال بالا به صورت زیر هستش :

toUpperCase = MAHDI DAMARCHILU
toLowerCase = mahdi damarchilu

خواستین به مثال سایت آردوینو هم مراجعه کنید : StringCaseChanges

length

length : این تابع طول رشته string رو به ما میده(تعداد کاراکترهای موجود در رشته string رو به ما میده.)
مثال این تابع :

remove

remove : برای حذف یه سری کاراکتر از یه رشته(به نحوی که در ادامه میگم) از این تابع استفاده میکنیم.
این تابع remove به دو صورت میشه نوشتش و ازش استفاده کرد که در بالا مشاهده میکنید، در زیر به ترتیب توضیحشون میدم :
توجه : در رشته ها، در آرایه ها، و... کلا در برنامه نویسی شمارش از 0 شروع میشه و نه 1(حواستون باشه :-D)

تابع اولی : از خونه شماره index ام تا آخر رشته رو حذف میکنه.(یعنی رشته جدید برابر میشه با خونه 0 رشته تا خونه index ام رشته و بقیه کاراکترها حذف میشه.)
index : شماره کاراکتری که حذف کردن و بریدن رشته از اونجا شروع میشه.
مثال زیر رو ببینید تا بهتر متوجه بشید :

جواب مثال بالا به صورت زیر هستش :

new str1 = Mahdi

تابع دومی : تو این تابع به کمک پارامتر index شماره خونه ای که حذف کاراکترها از اونجا شروع میشه رو تعیین میکنیم و به کمک پارامتر count تعداد کاراکترهایی که باید حذف بشه رو تعیین میکنیم.
index : شماره کاراکتری که حذف کردن و بریدن رشته از اونجا شروع میشه.
count : تعداد کاراکترهایی که از خونه index ام رشته مون باید حذف بشه.
مثال زیر رو ببینید و با مثال بالا مقایسه اش کنید تا کامل متوجه موضوع بشید :

جواب مثال بالا به صورت زیر هستش :

new str1 = MahdiDamarchilu

اینم یه مثال از سایت آردوینو که ببینیدش حتما(البته بررسیش هم بکنید و فقط به دیدن اکتفا نکنید laugh ):

جواب پروژه بالا به صورت زیر هستش :

The full string:
Hello World!
String after removing from the seventh index through the end
Hello W
String after removing six characters starting at the third position
Herld!

replace
replace : این تابع تو رشته string دنبال رشته substring1 میگرده و اگه پیداش کنه با رشته substring2 جایگزینش میکنه.
مثال زیر و جوابش رو ببینید :
جواب مثال بالا به صورت زیر هستش :

new str1 = Ali+Damarchilu

به مثال زیر از سایت آردوینو هم نگاهی بکنید :

جواب پروژه بالا به صورت زیر هستش :

<html><head><body>
Original string: <html><head><body>
Modified string: </html></head></body>

normal: bookkeeper
l33tspeak: b00kk33p3r

setCharAt و charAt
charAt : دسترسی به کاراکتر n ام رشته string
n : شماره کاراکتری که میخوایم مقدارش رو بخونید.
مقدار برگشتی این تابع به صورت char هستش(یدونه تک کاراکتر)
توجه : البته همون طور که میدونید میشه مثل آرایه ها، به رشته هم دسترسی داشته باشیم و کاراکتر موجود در خونه های مختلف رو بخونیم، و از تابع فوق هم استفاده نکنیم، تو مثال زیر از هر دو روش استفاده کردم :
حلا بریم سراغ اون یکی تابع(چو این دو تابع مکمل هم هستن به همین خاطر تو یه قسمت قرارشون میدم)
setCharAt : به کمک این تابع میتونیم کاراکتر index ام رشته string رو با کاراکتر c جایگزین کنیم.
توجه : به کمک تابع setChar ما مقدار کاراکتر i ام رشته ای رو میخوندیم و به کمک این تابع مقدار کاراکتر i ام رشته ای رو تغییر میدیم.
مثال زیر و جوابش رو ببینید که بعد این مثال روش عادی و خودمون رو هم میگم و مثالش ور هم میگم :
جواب مثال بالا به صورت زیر هستش :

0ahdi-1amarchilu

خب تو رشته ها برا خوندن و یا نوشتن یه کاراکتر از رشته مون میتونیم همانند آرایه ها با رشتمون رفتار کنیم، برای تغییر یه کاراکتر از رشتمون میتونیم علاوه بر استفاده از تابع بالا از روش زیر هم استفاده کنیم(توصیه من استفاده از روش زیر هستش!) :

جواب این پروژه هم دقیقا مثل پروژه قبلی هستش.

اینم یه پروژه از سایت آردوینو که دیدنش ظرر نداره :

جواب پروژه بالا به صورت زیر هستش :

SensorReading: 456
Most significant digit of the sensor reading is: 4
SensorReading= 456

equalsIgnoreCase
equalsIgnoreCase : برای بررسی این که آیا کاراکترهای رشته string با string2 برابر هستن یا نه(البته بدون توجه به کوچیک و بزرگ بودن حروف انگلیسی)، یعنی در مثال زیر تمام 4 تا رشته با هم برابر هستن بدون توجه به کوچیک و بزرگ بودن حروف.
1 : برابر بودن دو رشته
0 : عدم برابری

مثال زیر و جوابش رو ببینید و با توضیحات من مقایسه کنید تا این تابع رو هم کامل متوجه بشید :

جواب مثال بالا برا هر سه خط 14-15-16 برابر 1 هستش(یعنی رشته های فوق بدون توجه به کوچیک و بزگ بودن حروف با هم برابر اند) :

1
1
1

lastIndexOf و indexOf
indexOf : این تابع دنبال رشته val در داخل رشته string میگردنه و موقعیت رشته val در string رو بر میگردونه.
همون طور که میبینید تابع بالا به دو صورت وجود داره، که تابع اولی از خونه 0 ام رشته string دنبال رشته val میگرده و تابع دومی از موقعیتی که توسط پارامتر from تعیین میکنیم دنبال val میگرده.
توجه : اگه رشته val داخل رشته string وجود داشته باشه، این تابع موقعیت val در String رو برمیگردونه و در غیر این صورت عدد 1- رو برمیگردونه.
جواب مثال بالا به صورت زیر هستش :

10
-1

 

lastIndexOf : این تابع همانند تابع indexOf هستش با این تفاوت که تابع indexOf از اول رشته string به دنبال رشته(یا کاراکتر) ما میگرده ولی تابع lastIndexOf از آخر رشته string شروع به جستوجو(جست و جو، جسوجو، جس و جو و... laugh ) میکنه.(لذا به علت تنبلی بیش از حد پروژه ای به صورت جدا برای این تابع قرار نمیدم و مطمئن هستم که شما هم نمیرید پروژه ای برای این تابع برای خودتون مثال بزنید buba لذا به من نگید تنبل چون خودتون تنبلید laugh خب بگذریم از این حرفا در ادامه یه پروژه توپول برا هر دوی این توابع قرار میدم.)
پروژه زیر از سایت آردوینو(با کمکی! تغییر) رو هم ببینید بد نیستش :

concat

concat : این تابع برای الحاق کردن یه مقدار(حالا میتونه رشته باشه یا هر نوع متغییر دیگه ای باشه >>> String, char, byte, int, unsigned int, long, unsigned long, float, double) به آخر رشته string از این تابع میتونیم استفاده کنیم.
توجه : اگه این تابع عملیات الحاق رو با موفقیت انجام بده عدد 1 و در غیر این صورت عدد 0 رو برمیگردونه.
در زیر دو مثال میزارم براتون، که تو اولی از تابع بالا استفاده کردم و تو پروژه دومی از روش عادی اضافه کردن یه چیز به رشته ها به کمک + استفاده کردم(چیه جان داش برا هر کاری باید از تابع استفاده کنیم، من خودم به شخصه زیاد خوشم نمیاد توابع رو برای هر چیز حتی الکی ترین چیزها اومدن نوشتن shout )

جواب پروژه بالا به صورت زیر هستش :

DMF313.IR-13-3.14

تو پروژه زیر هم از روش قدیمی و راحت تری استفاده کردم به کمک عملگر +(فک کنم بهش میگن عملگر)، جواب این پروژه هم مثل پروژه بالا هستش.

مثال زیر از سایت آردوینو(با کمکی تغییر :-D) رو ببینید :

جواب پروژه بالا به صورت زیر هستش :

Sensor
Sensor value
Sensor value for input
Sensor value for input Q
Sensor value for input Q13
Sensor value for input Q13 =
Sensor value for input Q13 = 1234567890

substring
substring : برای تکه تکه کردن یه رشته(جدا کردن یه قسمت خاص از یه رشته و کپی کردنش در یه رشته جدید) از این تابع استفاده میکنیم.
همون طور که میبینید این تابع به 2صورت نوشته میشه.
تابع اولی : از کاراکتر from تا آخر رشته string رو جدا میکنه و رشته جدا شده رو برمیگردونه.
تابع دومی : از کاراکتر from تا کاراکتر to-1 از رشته string رو جدا میکنه و رشته جدا شده رو برمیگردونه.
سوال : چرا بالا نوشتی to-1 و ننوشتی to ???
جواب : خب حقیقتش این که ما توقع داریم که تابع دومی ار کاراکتر شماره from ام تا کاراکتر شماره to ام رو جدا کنه و به صورت یه رشته جدا برگردونه ولی این تابع تا کارکاتر to-1 رو جدا میکنه و خود کاراکتر شماره to ام رو جدا نمیکنه.
مثال زیر و جدابش رو ببینید باز بهتر متوجه منظور من میشید :
جواب مثال بالا به صورت زیر هستش :

Mahdi
Damarchilu
Dmf313.ir

در زیر هم مثالی که تو سایت آردوینو بود رو براتون قرار میدم :

جواب این پروژه به صورت زیر هستش :

Content-Type: text/html
It's an html file
It's a text-based file

toInt و toFloat
toFloat : تبدیل رشته به یه عدد اعشاری از نوع float
توجه : رشته string باید با یه عدد شروع بشه و اگه در ابتدای رشته عدد وجود نداشته باشه، عمل تبدیل رشته به float انجام نمیشه و این تابع عدد 0 برمیگردونه، ولی اگه داخل رشته بعد از عدد هر کاراکتری میخواد باشه باشه مشکلی به وجود نمیاد.
مثال زیر و جوابش رو ببینید :
جواب پروژه بالا به صورت زیر هستش :

0.000
3.142
3.100
3.142

 

toInt : تبدیل رشته به یه عدد صحیح از نوع int
توجه : رشته string باید با یه عدد شروع بشه و اگه در ابتدای رشته عدد وجود نداشته باشه، عمل تبدیل رشته به int انجام نمیشه و این تابع عدد 0 برمیگردونه، ولی اگه داخل رشته بعد از عدد هر کاراکتری میخواد باشه باشه مشکلی به وجود نمیاد.

جواب پروژه بالا به صورت زیر هستش :

3
34
34

c_str و toCharArray
toCharArray : کپی کردن کاراکتر های داخل رشته string به درون آرایه(از نوع char)
buf : نام آرایه ای که قراره کاراکترهای رشته string داخلش قرار بگیره.
len : اندازه آرایه.
اینم پروژه این تابع :
جواب پروژه بالا به صورت زیر هستش :

Mahdi Damarchilu
Mahdi Damarchilu

 

c_str : برای این تابع توضیح خاصی نمیدم، کسایی که تازه کار هستن بیخیال این تابع بشن ولی کسایی که زبون c شون قوی هستش با دیدن مثال زیر متوجه موضوع میشن.
توجه : لینک این تتابع در سایت آردوینو c_str

جواب پروژه بالا به صورت زیر هستش :

Mahdi Damarchilu
Mahdi Damarchilu

trim
trim : این تابع فضاهای خالی(space) در ابتدا و انتهای رشته رو حذف میکنه!، مثال زیر رو ببینید بهتر متوجه موضوع میشید :
compareTo
compareTo : به اون صورت دقیقا و در عمل متوجه کاربرد دقیق این تابع من نشدم.
StringCompareTo
StringComparisonOperators
توجه : ولی چیزی که من فهمیدم(که به احتمال 99% درسته) این تابع بر اساس خونه حروف در زبان انگلیسی عمل میکنه این مقایسه رو(عجب جمله ای شد)، یعنی دو رشته رو کاراکتر به کاراکتر با هم بررسی میکنی :
1) اگه تمام کاراکتر ها با هم برابر بودن، این تابع عدد 0 رو برمیگردونه.
2و3) اگه تا یه جایی کاراکترهای هر دو رشته با هم برابر بودن و در کاراکتر xام کاراکترها با هم برابر نبودن این تابع میاد اونا رو بر اساس جدول کد اسکی با هم مقایسه میکنه، مثلا اگه در رشته string2 این کاراکتر A باشه و در رشته string این کاراکتر B باشه، تابع بالا یه عددی - برمیگردونه و اگه این حالا فرض ما برعکس بود تابع عددی + برمیگردونه

پروژه زیر رو ببینید متوجه موضوع میشید دقیقا، تو پروژه زیر هم استفاده از روش عادی مقایسه دو چیز( > و < و => و =<) رو قرار دادیم و هم روش مقایسه به کمک تابع بووووووووق بالا :

reserve

reserve : این تابع تابع جالبی هستش، مثلا شما میدونید که این رشته مد نظرتون حداکثر 20 کاراکتر قراره داخلش قرار بگیره، به کمک این تابع میاید و 20 خونه از حافظه رو به اون رشتتون اختصاص میدید تا در بعضی شرایط خاص دیگه مشکلی رخ نده.

String

برای این حالت هم مثال زیر رو ببینید متوجه میشید :

خب این مطلب هم تموم شد رفت چی کارش، خسته شدم جان داش، این مطلب رو در طول 2-3 روز فک کنم نوشتم من، حدود  3هزار و 500 واژه شده تا الان این مطلب، دوستان اگه جایی کم توضیح دادم، بد توضیح دادم بگید تا در صورت امکان درستش کنم و اگه خواستین از توابع آماده بالا استفاده نکنید و خودتون این توابع رو بنویسید بگید تا تابع رو براتون قرار بدم تا این طوری برنامه نیوسیتون هم خوب بشه – من دیگه چون حال ندارم این کار رو نمیکنم ولی اگه کسی خواست بگه تا این کار رو انجام بدم.
هزینه مطلب : صلوات برا شادی روح شهدا و امام شهدا و یه فاتحه برا افرادی که تازه از دنیا رفتن.
در ضمن اگه مطلب آموزش آردوینو چیزی مد نظرتون بود بگید – چون من چیزی به خاطرم نمیرسه.
بیش از این مزاحم نمیشم فعلا یا علی.

انجمن های تخصصی برق و الکترونیک ECA
تعداد مطالب : 339 تا
مهدی دمیرچیلو جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
ارسال دیدگاه

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) پسورد فایل های سایت : www.dmf313.ir

4) نظرات حاوی کد برنامه نویسی تایید نمیشوند ( قالب سایت بهم میریزه )

  1. Avatar

    مهمان

    پارسا

    سلام به اقای ادمین
    یک سول داشتم که چیجوری صفحه ی کدتون رو میارید تو متن smile help
    با تشکر bye

  2. Avatar

    مهمان

    ناصر

    سلام و وقت بخیر ، من یه مشکلی دارم ممنون میشم دوستان و عزیزان راهنمایی کنند
    من یک رشته رو بصورت زیر از سریال دریافت میکنم
    برای مثال
    “A1P1=3.5”
    یا
    “A2P3=59”
    حالا میخام توی هر رشته ای کع دریافت میکنم ، این قسمت عدد “3.5” و “A1P1” رو جدا کنم و بدونم که عدد 3.5 برای A1P1 هست یا عدد 59 برای A2P3 هست

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام

      1) اگه طراحی فرستنده گیرنده با خودته به این صورت عمل کن، روال درستش هم فک کنم همینه، حداقل برا من تا حالا جواب داده و تو خیلی جاها دیدم که از همین روش استفاده میکنن ( توضیح زیر برا وقتی هستش که چندین داده رو بخوای ارسال و دریافت کنی )
      1.1) یه فرمت از پیش تعریف شده، تعریف کن، مثلا داده اول مربوط به A1 داده دوم مربوط به A2 داده سوم مربوط به A3 و…
      1.2) بیت هر داده از یه کاراکتر جداکننده استفاده کن، مثلا ,
      1.3) بعد اینو سرچ کن، روال تجزیه و خوندن داده فوق دستت میاد : Split String by comma

      2) اگه تغییر کد گیرنده ممکن نی برات، چندین حالت با توجه به توضیحات ناقصت ممکنه رخ بده ( فرضو بر این گزاشتم که طبق توضیحاتت فقط 1 داده میخوای ارسال و دریافت کنی که نامش هم کنار مقدارش ذکر میشه ) :
      2.1) نام داده ها تعداد کاراکتر یکسانی دارند، مثلا A1P1 دارای 4 کاراکتر هستش و A2P3 هم 4 کاراکتر و … : خب میای کاراکتر خونه 0 تا 3 اولو میخونی به عنوان نام داده، کاراکتر خونه 4 ام رو کاری بهش نداریم، کاراکتر خونه 5 تا آخر رو میخونی به عنوان مقدار داده ( توابع هر کدوم از اینکارا تو نت هستش، فارسی یا انگلیسی سرچ کنی توابعش میاد )
      2.2) نام داده ها ممکنه تعداد کاراکترشون یکسان نباشه : خب میای موقعیت کاراکتر = رو پیدا میکنی ( اسمشو میزارم X )، از کاراکتر خونه 0ام تا خونه X-1 ام میخونه به عنوان نام داده؛ کاراکتر خونه Xام رو کاری بهش ندارم؛ کاراکتر خونه X+1 ام تا آخر رو میخونی به عنوان مقدار داده.

  3. Avatar

    مهمان

    حسن گودرزی

    سلام
    در آردونیو
    اگر رشته بصورت چند خطی باشه و حتی بین خطوط ،خط خالی هم داشته باشه، چطور میشه هر خط را از رشته جدا کرد و در یک آرایه رشته ای ذخیره کرد.
    با readStringUntil و readBytesUntil روی n\ و 0\ و r\ امتحان کردم متاسفانه خطوط خالی بیشتری اضافه می شود.
    اصلا راهی هست که از پورت سریال خط به خط خواند؟

    در پایان حقیقتا سایت آموزشی عالی دارید.
    در پناه امیرالمومنین

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – میشه نمونه ای از داده هاتون ( حداقل 1 صفحه؛ 10 خط؛ 10 رکورد ) رو تو فایل txt برام بفرستید؟

  4. Avatar

    مهمان

    mahdi

    مشتی هستی دمت گرم ایولااااا heart

  5. Avatar

    مهمان

    amir hossein

    خدا خیرت بده

  6. Avatar

    مهمان

    متین

    به اون بلدرچین رو قبل اینکه بکشیش بهش آب دادی؟! 😐

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

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

  7. Avatar

    مهمان

    هومن کیانیان

    سلام. چرا این زبانه های مطالب باز نمیشه؟

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام – دارم سایت رو ویرایش میکنم – به این دلیله – الان تست کنید – کش سایت رو هم پاک کنید قبلش

  8. Avatar

    مهمان

    امین

    سلام خسته نباشید
    به نظر شما راهی هست ssid و pass با وایفای یا سریال مانیتور بشه تغییر داد؟
    البته من بدون استفاده از at command میخواستم بدونم.

  9. Avatar

    مهمان

    محمد

    سلام
    یعنی عالیه این مطلب
    رحمت به شیر همچون پاک ات
    بسیار سپاس

  10. Avatar

    مهمان

    عباس

    کتابخونه خاصی داره

  11. Avatar

    مهمان

    Ali

    سلام یه سوال این کد ها فقط مربوط به آردوینو هست یا فقط کلا C++ همینطوریه

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      این کدها برای آردوینو همینه ولی اگه معمولا این کتابخونه های مورد استفاده استاندارد c++ هستش تا جایی که میدونم.

  12. Avatar

    مهمان

    ALIREZA

    سلام ممنون از سایت بی نظیرتون سوال دارم اینکه
    تو راه اندازی سیم ۸۰۰ با اردوینو میخوام وقتی یه پیام خاص بیاد یه قسمت از کدم تقییر کنه میتونم از این توابع استفاده کنم مثلا برا کنترل دما که از قبل رو ۲۰ با یه پیامک ۲۵ کنم یا اصلا بخوام کاربر سیستم عوض کنم (تقییر شماره موبایل)

  13. Avatar

    مهمان

    s.r

    سلام. ببخشید میخواستم بدونم اگه این پروژه رو برای من کدشو بنویسین هزینش چقد میشه؟

  14. Avatar

    مهمان

    s.r

    سلام. اقای دمرچلو.ممنون از مطالب خوبتون. ببخشید من از شما یه خواهشی داشتم. میخواستم اگه میشه این مطلبو
    http://saakhtani.ir/archive/1395/09/49643
    با ال سی دی کاراکتری کدشو بنویسین و بزارین توی سایت.
    اگه اینکارو بکنین واقعا مدیونتون میشم. چون خیلی نیاز دارم.
    با تشکر.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – امکان انجام رایگان این پروژه نیست برام فعلا.

  15. Avatar

    مهمان

    مهدی

    سلام
    ممنون از سایت خوبتون من ازمطالب سایت شما نهایت استفاده را بردم امیدوارم همیشه موفق باشید. good

  16. Avatar

    مهمان

    علی

    سلام اقا مهدی میشه اموزش پروگرام کردن میکرو avr رو با اردینو اموزش بدید ممنون

    • Avatar

      مهمان

      علی

      کاری نداره فایل هگز رو تو تنظیمات آردوینو قابل رویت کن بعد اون فولدر و باز کن هگزو بده به پروگرمر همین

  17. Avatar

    مهمان

    رضا

    آقا حسابی دمت گرم
    واثعا خیلی خوبه مطالب… تشکر

  18. Avatar

    مهمان

    Michel

    از كجا و چطور ياد بگيرم با كدويژن اردوينو رو كنترل كنم؟
    بيچارت ميكنم انقدر سوال پيچت ميكنم????

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      آره منم جواب دادم laugh
      برو تو سایت خود کدویژن روال کارش هستش.
      ولی به نظر من از همین کامپایلر آردوینو استفاده کن.

  19. Avatar

    مهمان

    michel

    سلام دوست عزیز،همیشه از نوشته هات استفاده میکنم و خیلی ممنونم دستت ندرد،چنتا سوال هم دارم 1-کتابی هست در موضوع آردینو 2-با کدویژن میشه آردینو راه انداخت؟پروگرام چطور؟ 3- این لامذهب زبونش چیه؟ c مینویسم خطا میده

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

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

  20. Avatar

    مهمان

    مهدی

    مهدی عزیز سلام
    اردینو رو شروع کردم به کار کردن اما از آخر به اول، در واقع برای ساخت و راه اندازی یه cnc دست به کار شدم و خودم همه نمی دونم چرا از اردینو سر در اوردم.
    حالا یه برد arduino mega 2560 و یه برد Ramps دارم. خیلی از راههایی که تو اینترنت هست ر اجرا کردم ولی به مشکل خوردم. مشکلم اینه که نرم افزارهای ارسال کننده کد به اردینو کد ها رو ارسال می کنند ولی اردینو هیچ عکسلعملی نشان نی دهد. کد hex که تو سایت ها گفتن روی بردم ریختم و هزار کار دیگه. خواهشم اینه که یه توضیحی در رابطه با تنظیمات سخت افزار مثلا برد اردینو ، میان افزار مانند grbl و نرم افزار ارسال جی کد در سایت قرار بدید. هر چی تلاش کردم تا حالا موفق نشدم این مشکل رو حل کنم.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام-آقا مهدی متوجه کلیت مسئله شدم ولی دقیقا متوجه مشکلت نشدم
      الان آموزش کار با قطعه ای رو میخوای؟
      پروژه ای بستی و مشکل داره؟

    • Avatar

      مهمان

      جلیل

      grblForCyclone رو تو اینترنت سرچ کن

  21. Avatar

    مهمان

    عادل

    سلام.
    خیلی عالی
    راستی مرجع خوبی برای پردازش تصوی سراغ ندارید؟(کتاب باشه بهتره)

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      OPENCV – سرچ تو گوگل – یه آموزشی تو سایت فرا درس هستش – طرف آموزش دهنش نویسنده کتاب هم هستش – من هم کتابش رو دارم و هم فیلمش رو خریدم.

  22. Avatar

    مهمان

    majid

    سلام جلسه بعد تقریبا کی میاد؟؟؟؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      چی بزارم؟ چیزی به فکرم نمیرسه چون فکرم جاهای دیگس laugh

  23. Avatar

    مهمان

    majid

    سلام خداقوت میشه بگید دیگه چه چیزایی از اموزش کامل اردویینو مونده؟؟
    ی لیست تقریبا کامل
    مثلاspiکامل نیست

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      دیتاشیت مگا 16 رو ببین – سر فصل هاش رو
      اونایی که تا حالا نگفتم تو سایت برا آردوینو رو بهم بگو
      مشکلی بود بگو.

  24. Avatar

    مهمان

    mousavi

    slm
    just tank you

  25. Avatar

    مهمان

    حامد

    سلام
    لطفا یه کتاب خوب برای آموزش سی شارپ معرفی کنین
    ممنون

  26. Avatar

    مهمان

    Aadhgcgg

    سلام
    مرسي از آموزشاي خوبتون.
    مي خواستم پيشنهاد بدم آوزش يه پروژه كه با آردوينو مثلا براي ربات با دوربين و واي فاي و… با نرم افزار هاي آماده براى ويندوز و اندرويد ربات كنترل كرد.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام – موضوع رو دقیقا بگید و کلی نگید- جزئی بگید تا من بزارم تو لیست کارام در صورت امکان

  27. Avatar

    مهمان

    سمانه

    سلام چرا این مطالب رو به صورت فیلم نمیذارین اینطوری یادگیریشون خیلی بهتر؟اگه امکان داره فیلم آموزشی بذارین.خسته نباشید مطالبتون عالیه

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      مطلب بعدی رو هم به این صورت میزارم و هم فیلم آموزشش رو – تا ببینم چی میشه.

  28. Avatar

    مهمان

    حسین

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

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      بهترین راهش اینه که word کنید و برام بفرستید تا به اسم خودتون منتشر کنم تا درگیر سایت و درسراش نشید.
      و اگه بخواین خودتون مطلب بزارین هم مشکلی نیست برا من فرقی نداره.(خواستین بگین تا اکانت بسازم براتون.)

      • Avatar

        مهمان

        حسین

        Word میسازم میفرستم انشاءالله