به نام خدا : تو این مطلب از آموزش آردوینو جلسه ۹ میخوام یه سری توابع متفرقه که کمتر نیازمون میشه رو بگم.
آموزش جامع آردوینو جلسه ۹ توابع متفرقه
Bits and Bytes
خوب یه خبر خوب ؛ اگه حال ندارید میتونید مطلب رو نخونید؛ چون توابع این مطلب فعلا زیاد مهم نیستن و در آینده کاری فک نکنم باهاشون داشته باشیم.(البته خدا رو چه دیدی )…..البته اینم بگم که آسون ترین مطلب هستش؛ این مطلب.
lowByte : این تابع کم ارزش ترین بایت(و نه بیت) رو بر میگردونه, در زیر به جای x متغییرمون(یا دیتامون) رو قرار میدیم.
1 |
lowByte(x); |
highByte : پر ارزش ترین بایت(و نه بیت) رو بر میگردونه, در زیر به جای x متغییرمون(یا دیتامون) رو قرار میدیم.
1 |
highByte(x) |
توجه مهم : در دو تا بع بالا وقتی میگم بایت کم ارش و پر ارزش رو برمیگردونه حواستون باشه که روی بایت تاکید میکنم؛ عمرا متوجه شده باشید ؛ مثال زیر رو ببینید :
1 2 3 4 5 6 7 8 |
int x=0x0ff0; void setup() { Serial.begin(9600); Serial.println(highByte(x)); Serial.println(lowByte(x)); } void loop() {} |
تو این پروژه آردوینو یه متغیر به نام x تعریف کردم و میخوام بایت پر ارزش و کم ارزشش رو به پورت سریال ارسال کنم(تا اون جا نمایش داده بشه، البته شما میتونید از LCD کاراکتری استفاده کنید ولی این راحت تره) >>>>همون طور که میبینید متغییر X شونزده(۱۶) بیت داره که پایت پر ارزشش برابر of هستش و بایت کم ارزشش برابر f0 هستش>>>>> اما اگه مثلا متغییر x بابر زیر بود بایت پر ارزش و بایت کم ارزش با هم برابر میشدند.(چون همش ۱ بایت بیشتر نداریم ) >>>اگه کسی متوجه نشد بگه
.>>>
1 |
int x=0x15; |
bitRead : به این تابع یه متغییر میدی و میگی بیت i امش رو بخون و ببین ۰ هستش یا نه و بعد مقدارش رو برگردون(اگه ۰ بود ۰ برگردون و اگه ۱ بود ۱ برگردون)
1 |
bitRead(x, i); |
تو مثال زیر، مقدار بیت ۰ ام متغییر x به پورت سریال ارسال میشه:
1 2 3 4 5 6 7 |
int x=0b00000001;//1 void setup() { Serial.begin(9600); Serial.println( bitRead(x, 0) ); } void loop() {} |
bitWrite : نوشتن ۱ بیت در یک متغییر، یا مییشه گفت اضافه کردن یک(یا چند) بیت با مقدار مشخص(۰ یا ۱) به یک متغییر.
1 |
bitWrite(x, i, bit); |
توی این تابع ما برا متغییر x میخوایم یه بیت روش بنویسیم که ۰ یا ۱ بودنش رو توسط bit تعیین میکنیم و جایگاهش رو توسط i.
مثلا اگه بخوایم تو مکان ۱۰ ام یه بیت با مقدار ۱ اضافه کنیم باس به صورت زیر عمل کنیم.
1 2 3 4 5 6 7 8 |
int x=0b00000001;//1 void setup() { Serial.begin(9600); bitWrite(x, 10, 1);//1024+1=1025 Serial.println(x); } void loop() {} |
در مثال بالا توجه کنید که x در ابتدا ۸ تا بایت داره، وقتی توسط تابع فوق یه بیت با مقدار ۱ در مکان ۱۰ ام X اضافه میکنیم در مکان ۹ یه بیت ایجاد میشه با مقدار ۰ >>>> مثلا اگه در مکان ۱۵ ام یه بیت با مقدار ۱ اضافه میکردیم در مکان های ۹ام تا ۱۴ ام بیت هایی با مقدار ۰ ایجاد میشد.(که دلیلش واضح هستش و اگه ندونید باس برید کتاب مدار منطقی موریس مانو رو بخونید،چون مدار منطقیتون ظعیفه و کوچولو ترین چیز رو نمیدونید و چون شما پول برا این چیزا خرج نمیکنید چون فکر میکنید پول حروم کردنه لذا همون بهتر که متوجه نشید )
bitSet : نوشتن ۱ در بیت i ام متغییر x
1 |
bitSet(x, i); |
که میتونید مثال زیر رو هم ببینید(میتونید هم نبینید :-D)
1 2 3 4 5 6 7 8 |
int x=0b00000001;//1 void setup() { Serial.begin(9600); bitSet(x, 10); Serial.println(x);//1024+1=1025 } void loop() {} |
ابتدا بیت ۱۰ ام متغییر x رو ۱ میکنیم و بعد میگیم که متغییر x رو بفرست به پورت سریال تا ببینیمیش(تو پورت سریال نمایشش بده)
bitClear : اینم مثل تابع بالا فقط این که بیت i ام متغییر x رو ۰ میکنه(بر خلاف تابع بالا که ۱ میکنه)
1 |
bitClear(x, i); |
تو مثال زیر متغییر X که همه ی بیت هاش ۱ هستش رو ؛ بیت اولش رو ۰ میکنیم و بعد تو پورت سریال نشونش میدیم(مقدارش رو ارسال میکنیم، یا این ک مقدارش رو نمایش میدیم) که مقدارش برابر ۲۵۴ میشه.
1 2 3 4 5 6 7 |
int x=0b11111111;//255 void setup() { Serial.begin(9600); Serial.println(bitClear(x, 0));//254 } void loop() {} |
bit : این تابع هم یه عددی(n) بهش میدی و عدد ۲ رو به توان n میرسونه و بعد مقدارش رو در پورت سریال نشون میدیم.(که همن بحث باینری ماینری هستش، ۲ به توان صفر، ۲ به توان ۱ و…)
1 |
bit(n); |
مثال زیر ر وببینید:
1 2 3 4 5 6 |
void setup() { Serial.begin(9600); Serial.println(bit(10)); } void loop() {} |
Random Numbers
random : تولید یه عدد تصادفی، این تابع به دو صورت زیر نوشته میشه که در شکل اولی فقط مقدار max تعیین میکنیم و در فرم دومی مقدار min و max رو تعیین میکنیم که عددی بین این min و max به صورت تصادفی انتخاب میشه.
1 2 |
random(max); random(min, max); |
یه مثال از تابع دومی در زیر میبینید(که هر ۳۰۰ میلی ثانیه یه عدد به صورت تصادفی بین ۵ تا ۱۰ انتخاب میکنه و تو خروجی سریال نمایش میده.) :
1 2 3 4 5 6 7 8 9 |
void setup() { Serial.begin(9600); } void loop() { Serial.println( random(5,10) ); delay(300); } |
randomSeed : اینو من تا حالا متوجه نشدم روال کارش چطوریه، معلومه که برا تولید اعداد تصادفی هستش ولی این که از چه روشی و متدی استفاده مکنه و این که با تابع بالا چه فرقی داره رو من متوجه نشدم؛ کسی اگه میدون یا فهمید به ما هم بگه؛ اینم لینک تابع در صفحه ی سایت آردوینو : randomSeed
Math
خوب یکی از دوستان گفت ۲ تا تابع رو توضیح بدیم که نداده بودیم، ما هم عوضش ۴-۵ تا تابع زیر رو گفتیم .
pow : این تابع برا اینه که یه عددی رو(A) به توان یه عدد دیگه(B) برسونیم.
1 |
pow(A, B); |
این مثال زیر رو هم میتونید تست کنید.(پروگرام کنید و صفحه پورت سریال رو باز کنید.)
1 2 3 4 5 6 7 |
void setup() { Serial.begin(9600); Serial.print("2 be tavane 4 = "); Serial.println( pow(2,4) ); } void loop(){} |
sqrt : این تابع جذر عدد A رو میگیره.
1 |
sqrt(A); |
مثال زیر رو هم ببینید :
1 2 3 4 5 6 7 |
void setup() { Serial.begin(9600); Serial.print("JAZRE 16 HASTESH = "); Serial.println( sqrt(16) ); } void loop(){} |
abs : این تابع قدر مطلق عدد A رو بر میگردونه.
1 |
abs(A); |
مثال زیر رو هم ببینید :
1 2 3 4 5 6 7 |
void setup() { Serial.begin(9600); Serial.print("qadre motlag -16 hastesh = "); Serial.println( abs(-16) ); } void loop(){} |
constrain : این تابع ۳ تا ورودی داره ، یه عدد بهش میدی(A) و اینو با X و Y مقایسه میکنه اگه بین این ۲ تا عدد بود خود A رو تابع بر میگردونه، اگه بزرگتر از Y بود، Y رو تابع بر میگردونه و اگه از X کوچکتر بود، X رو بر میگردونه.
1 |
constrain(A, X, Y); |
مثال زیر و بازم پور سریال …..تو پورت سریال یه عدد وارد میکنید و میبینید که تابع چه عددی بر میگردونه تا با نحوه کار تابع بهتر آشنا بشید.
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { int A = Serial.parseInt(); Serial.println( constrain(A, 10, 100) ); } } |
map : این تابع هم چیز جالبیه …. یه عدد بهش میدی و نسبتش رو تغییر میده(عمرا گرفته باشین
) >>> بزار بیشتر توضیح بدم؛ تو تابع زیر به جای value عددمون رو قرار میدیم و رنج عددمون رو در fromLow و fromHigh قرار میدیم(رنج فعلی) و به رنجی که قراره تبدیل بشه رو در toLow و toHigh قرار میدیم.
1 |
map(value, fromLow, fromHigh, toLow, toHigh); |
مثال زیر بازم با سریال هستش …..عدد میفرستین و رنجش رو تغییر میده و براتون ارسال میکنه…کار بر نامه زیر همینه.
مثل تو مثال زیر A قراره از رنج ۱-۲۵۵ تبدیل بشه به به رنج ۱-۱۰۲۳٫٫٫٫٫حواستون باشه که عددی که وارد میکنید باس بین ۱-۲۵۵ باشه….البته بالاتر باشه تابع باز یه چیزو برمیگردونه ولی از نظر عقلی وقتی رنجتون بین ۱-۲۵۵ نباید عدد بزرگتر بدی جون غیر ممکن هستش…..حالا بیا توضیح بده چرا غیر ممکن هستش….
1 2 3 4 5 6 7 8 9 10 11 12 13 |
void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { int A = Serial.parseInt(); Serial.print("A Convert To = "); Serial.println( map(A, 1, 255, 1, 1023) ); } } |
یه سری تابع هستش که من دیگه عمرا توضیشون نمیدم، ولی اگه خواستین میتونید خودتون برید بخونید
……
فعلا بسه تا همین جا، عیدتون هم مبارک، فعلا یا علی.
مهمان
خداخیرت بده بامرام
مهمان
سلام مهندس خسته نباشی.
من یه اهم متر درست کردم با آردینو
ولی دقتش 2رقم بعد ممیز هست(6.78) میخوام دقتش 1رقم بعد اعشارکنم(6.7) چطوری دقت متغیر کاهش بدم؟؟؟
چون lcd کاراکتری به دلیل تغیرات سریع عدد دوم بعدممیز هنگ میکنه
مهمان
سلام اقا مهدی و در ضمن اسم من هم مهدی هست

من یه اردوینو مگا2560 R3 دارم و برام سواله که هیچ کدوم از تابع های بخش بیت و بایت روش کار نمیکه و ارور میده
و اینکه اردوینو سالمه و بقیه دستورات روش درست کار میکنه!!!!!!!!
ایا چیزی از این کد ها هست که توسط اردوینو مگا ساپورت نمیشه؟؟؟؟
نویسنده این مطلب
سلام
تو سایت Arduino چیزی درباره این که توابع فوق برا مگا جواب میدن یا نمیدن، ذکر نکردن ( من ندیدم )
متن خطا رو بفرستید.
مهمان
سلام
من یک تابع به صورت زیر تعریف کردم و میخاهم جند جای برنامه اصلی فرخوانی کنم ولی وقتی یکبار فرخوانی کنم عدد برگشتیی من درست هست ولی اگر دوبار فرخانی کنم عدد صفر بر میگرداند
نویسنده این مطلب
سلام / کدتو زیپ کن بفرست / اینی که فرستادی چیزی ازش نفهمیدم..
مهمان
سلام این قسمتی از برنامه هست
http://s6.picofile.com/file/8391161534/3.zip.html
نویسنده این مطلب
سلام مجدد.
0) سعی کن کدتو مرتب و زیبا بنویسی، هم تو پیدا کردن مشکل کمکت میخونه و هم تو خوانایی برنامه.
1) تابع farmanminut به صورت void تعریف شده
2) متغییر a هم ازش اومدی تو تابع فوق استفاده کردی و هم در goto !!!
3) بنظرم اگه میخوای در این زمینه فعالیت کنی، بیخیال پروژه فوق بشو و برو سراغ کدنویسی و یادش بگیر.
مهمان
ممنون
امکان دارد یه برنامه هر چی میخاهد باشد برام بدهید که از زیر بزنامه استفاده کرده باشد و دو بار فراخوانی شود
نویسنده این مطلب
http://paste.debian.net/plain/1135174
مهمان
سلام
این برنامه را میگویم
میخاهم ابتدا از کی پد عدد بگیرد
اگر ورودی 10 بود برود داخل یک تابع از کیپد دوباره عدد بگیرد ضزبدر 2 کند اگر عدد گرفته شده اول یک بود ضربدر 3 شود
http://s6.picofile.com/file/8391654500/3.zip.html
مهمان
سلام

لطفاً بفرمایید چطور می تونم به طور مثال 12 عدد ساخته شده در تابع رندوم رو به یک عدد 12 رقمی تبدیل کنم
باتشکر از مطالب آموزنده و عالی تون
نویسنده این مطلب
سلام / بازی ریاضیه دیگه : یه عدد 64 بیتی میشه،
x0 + x1*10 + x2*100 + ....
مهمان
سلام مهندس میشه نحوه بکار بردن یا ایجاد این جور توابع هم بگین مثلا
void loop(){
() void disconnect
نویسنده این مطلب
سلام
اولی شبیه همون (1)while هستش.
دومی رو نمیدونم.
مهمان
سلام منظورم اینه که طرف امده یه تابع توی لوپ ایجاد کرده برای صدای بازر چطوری این کارو انجام بدم مثلا یکی بالایی برای قطع اتصال هست.
یه گفته بود به جای استفاده از دستور GOTO از تابع استفاده کنید .
میشه راهنماییم کنید میخوام توی کدم پرش داشته باشم با چی اینکار رو انجام بدم؟
نویسنده این مطلب
نمیدونم میخوای چیکار کنی دقیقا.
متوجه نشدم.
مهمان
سلام دوست عزیز من ی سوالی دارم اگه تو تابع راندوم دو تا عدد بنویسی همیشه عدد بین این دوتا خواهد بود یا میتونه برابر اعداد تعیین شده هم باشه؟
کمک کنید لطفا کارم خیلی گیره …
نویسنده این مطلب
سلام
طبق لینک زیر
https://www.arduino.cc/reference/en/language/functions/random-numbers/random/
و توضیح زیر از لینک بالا :
Returns : A random number between min and max-1
لذا شامل min میشه ولی شامل عدد max نمیشه لذا اگه میخوای عدد max ات هم شامل بشه، به تابع random به پارامتر دومش max+1 بده و min هم که تغییر نمیدی
مهمان
ممنون دوست گرامی از پاسگوییتون
مهمان
سلام مهندس.ساختن اینو مدیون شمام.
https://youtu.be/RiwgEOWKf6Q
مهمان
سلام مهندس
نوشتن
boolean T[]={0,0,0,0,1,1,1,1,1,1,0,0,0,0,1};
چه کاری انجام میده؟
نویسنده این مطلب
سلام
اینو من کجای مطلب نوشتم؟ پیدا نکردم.
این خب یه آرایه از نوع Bool هستش (۰و۱) که اومده هنگام تعریف کردنش مقدار دهی اولیه هم بهش داده
مهمان
این دستور از اینجا گرفتم مهندس
http://www.instructables.com/id/How-to-Make-a-Fan-POV-Display/
مگه بولن فقط دو.مقدار ترو و فالس نمیگیره مهندس؟
نویسنده این مطلب
آره دیگه – true برابر ۱ و false هم برابر ۰ هستش – فرق نداره از کدوم استفاده کنی.
مهمان
سلام مهندس.ممنونم از راهنمایی و وقتتون.امکان داره شمارتون رو داشته باشم تو تلگرام مزاحم بشم؟
پلییییز
نویسنده این مطلب
سلام – تو گروه تلگرامی سایت میتویند سوالاتونو مطرح کنید – ولی خب تو pv معمولا جواب نمیدم.
مهمان
سلام
تروخدا کمکم کنید
دیگه اخرین جایییییی که به ذهنم رید کمک گرفتن از تو همین سایتتتتتتتت بوووودشششش
عاقاااا من زمانی که میخوام کدا رواپلووود کنم این ارورو میده
Arduino: 1.8.4 Hourly Build 2017/08/01 12:33 (Windows 7), Board: “Arduino Yún”
Sketch uses 4182 bytes (14%) of program storage space. Maximum is 28672 bytes.
Global variables use 147 bytes (5%) of dynamic memory, leaving 2413 bytes for local variables. Maximum is 2560 bytes.
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
Found programmer: Id = “þ”; type = È
Software Version = (.
کمک کتنننننننننننننننننننننننننننننننننننیییییییییییییییییییییییییییییییییییید
اووووووووووووووووووووووووووووووووووووووف
ممنون
اگه میشه جوابو به ایمیلم ارسال کنید
مهمان
بعد بردمم arduino uno r3 بعد تو این ارئرم فک کنم بردو اردوینو yun انتخاب کردم

نمیدونمم چرا اردوینو uno r3 ندارم
مهمان
سلامی دوباره
من بردو
arduini genuino uno
اتخاب کردم این ارورو داد
Arduino: 1.8.4 Hourly Build 2017/08/01 12:33 (Windows 7), Board: “Arduino/Genuino Uno”
Build options changed, rebuilding all
Sketch uses 982 bytes (3%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe4
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe4
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
نویسنده این مطلب
نمیدونم.
نویسنده این مطلب
سلام
اینو تو گوگل بسرچ عینا :
avrdude: butterfly_recv(): programmer is not responding
به جواب میرسی…
مهمان
باش ممنون
مهمان
سرچ کردم ولی به نتیجه ی خاصی نرسیدم
ولی فک کنم com رو نمیخونه
فق com1 هستش و وقتی میرت دوایس منیجر اردوینو رو شناسایی نکرده
مهمان
سلام مهندس متوجه شدید Randomseed(); چیکار میتونه؟
نویسنده این مطلب
سلام
نه – پیگیرش نشدم.
مهمان
سلام مهندس
قرار دادن رندوم سید قبل از فراخوانی رندوم،ژنراتور تولید اعداد تصادفی رو دستکاری میکنه.اگر اعداد تولید شده توسط دستور رندوم رو سریال مانیتور کنید.بعد از هربار ریستارت عینا اعداد رندوم تکرار میشن.ولی با تغییر مقدار رندوم سید،قبل از هر بار ریستارت ، دسته جدیدی از اعداد رندوم رو میبینید.حالا اگه مقدار رندوم سید رو برابر کنید با یه پین ورودی بدون اتصال.هربار ریستارت کنید چون مقدار رندوم سید تغییر میکنه،دسته اعداد رندوم تولید شده هم متفاوت میشه.
نویسنده این مطلب
یه پروژه کوچیک، برا تست این تابع بنویس و بده بزارم قسمت مربوط به این تابع.
مهمان
چشم. بفرمایید:
رندوم بدون رندوم سید:
https://youtu.be/CdvFsakMTBQ
رندوم با رندوم سید:
https://youtu.be/S7TOXy9Ck68
مهمان
دوست عزیز شما وب سایت پر محتوایی دارید و نشان از باسوادی شما دارد. در تبلغات انتخاباتی بالا سخنان افراد ناقص نوشته شده است. آنها گفته اند این چیزها کار دولت نیست که ورود پیدا کند بلکه کار بخش خصوصی است تا رانت و فساد کمتر و بهره وردی بیشتری داشته باشد. از شما با این کمالات بعید است فریب این تبلیغات جهت دار را بخورید. برای افراد تحصیل کرده بهتر است وارد این مقولات نشوند
نویسنده این مطلب
سلام – ممنون از شما –
متن کامل سخرانی آقایون رو خاطرم نیست، ولی اگه شما کامل مطالعه کردید – چشم برمیدارم – ممنون از شما.
واضح تر منظورتون از این حرف رو بگید ممنون میشم.
مهمان
سلام من بخوام توابع مثلثاتی رو هم یاد بگیرم چه منبعی رو پیشنهاد میکنین؟
نویسنده این مطلب
سلام
یه کتابخونه هستش به نام math – تو گوگل بزنی آموزش کار با توابعش الی ما شا الله ریخته
مهمان
سلام،مطالب. خیلی عالی هستن،
یه سوال دارم،برای آردینو سنسور حایرو گذاشتیم،و شتاب سنج،الان میخایم یجوری از شتاب برسیم ب سرعت،
طبق قوانین فیزیک مشتق سرعت میشه شتاب،و بر عکس انتگرال شتاب میشه سرعت.حالا چحوری مقداری که شتاب سنج میده رو،انتگرال بگیریم ب سرعت برسیم؟با چ تابعی؟
نویسنده این مطلب
سلام – به استاد دانشگاه ها مراجعه کنید بهتر راهنمایی میکنن.
مهمان
با سلام اقا مهدی چطور میشه یه کتابخانه که اضافه کردیم به نرم افزار از قسمت shetch از نرم افزار حذفش کنیم؟؟؟؟
نویسنده این مطلب
سلام
حدف کردن :
C:\Users\MAHDI\Documents\Arduino\libraries
به جای MAHDI نام کاربری ویندوزت رو بزار
مهمان
اقا مهدی این نرم افزار بشکل پرتابله؟ من دانلود کردم از زیپ در اوردم اجرا شد منظورم چییزی نصب نشد
نویسنده این مطلب
آردوینو؟ هم پرتابلش هستش و هم نصبیش
مهمان
با سلام خدمت ادمین محترم اقا مهدی بعد هر بار نوشتن برنامه و بعد کامپایلر کردن حافظه ارینو از برنامه قبلی اشغال نمیشه که؟ منظورم برای وارد کردن برنامه برنامه قبلی پاک میشه در چه صورت حافظه پر میشه؟
نویسنده این مطلب
سلام-حافظه میکرو/؟ آخرین برنامه پروگرام شده حافظه رو اشغال میکنه – برنامه جدید پروگرام کنی رو میکرو – برنامه قبلی پاک میشه و برنامه جدید قرار میگیره
مهمان
اره منظورم تو اردینو حافظه میکرو و SRAM و EEPROM ؟؟؟؟؟؟؟؟؟
نویسنده این مطلب
خب EEPROM هم همین طور هستش – تا زمانی که پروگرامش نکنی تغییر نمیکنه – مگه این که تو میکرو کارت با حافظه ایپرام باشه که در این حالت از طریق خود میکرو هم میشه ویرایشش کرد.
حافظه SRAM هم با رفتن برق مقادیرش پاک میشه ( مقدار متغییر ها ) و توسط میکرو و پروگرامر تغییر میکنه.
مهمان
تشکر از راهنمایوتون
مهمان
سلام اقا مهدی
دریک کلام
مطالبتون عالیه واقعا دستتون درد نکنه
من دانش اموز(هنرجو)رشته الکترونیک هستم
و سوالی دارم اونم اینکه اردوینو در اینده میتونه منبع درامد خوبی باشه؟
نویسنده این مطلب
سلام
بستگی به خودت داره – منبع درامد هم فقط این نیست که با آردوینو موشک! بسازی – میتونی شیلد آردوینو بسازی و بدی بازار…. مثلا
مهمان
سلام
تشکر آقا مهدی
آموزشاتون مستدااااام
ایشالا موفق باشی
مهمان
مطالبتون عالیه
راستی میشه آموزش برد های RASPBERRY رو هم به این خوبی در سایت قرار بدین
مهمان
سلام
در مورد تابع randomseed باید بگم این تابع برای تولید اعداد واقعا رندوم است. تابع رندوم خالی در حقیقت واقعا رندوم نیست و pseudorandom است. مثلا اگر شما ماکس رندوم را هزار بزارید و ده بار برنامتون رو اجرا کنید هر دفعه اولین عدد 807 خواهد بود که نشان میدهد این تابع یک رندوم واقعی نیست و فقط یک دنباله شبه تصادفی است. برای نزدیک شدن رندوم ما به رندوم واقعی (رندوم واقعی تقریبا اصلا نداریم) باید یا هسته (seed) رندوم از ورودی توسط کاربر وارد شود و یا از زمان به عنوان هسته استفاده شود.
مهمان
هیچی


اینکه گفتین هنوز اول راهیم و کلی مونده هنوز.
آخه من برای یاد گیری و پروژه ام وقت زیاد ندارم.
حدودا فکر می کنین چند جلسه دیگه آموزش تموم بشه؟
خدا قوت
نویسنده این مطلب
والا هر چقدر بخوای میتونی مطالب رو ادامه بدی….
مهم اینه که شما به کدوم قسمتش نیاز دارید
وگرنه میشه تا ۱۰۰ جلسه هم ادامش داد و میشه تو ۳ جلسه همش رو گفت
مهمان
نویسنده این مطلب
چیه؟
چی شده؟
مهمان
سلام میشه لطفا تابع های
map()
pow()
توضیح بدین
نویسنده این مطلب
الان توضیحشون رو به مطلب اضافه میکنم….ولی دیگه کاربرد pow خیلی تابلو هستش….
مهمان
سلام
جلسه ۱۰ رو کی میذارین؟
نویسنده این مطلب
سلام
۱-۲ روز آینده……
مهمان
آقای دمر چیلو این مطلبتون هم مثله بقیه عالی بود.
برای آردوینو فقط همین ۹ جلسه رو داشتین؟
خدا قوت مهندس.
نویسنده این مطلب
سلام
)
نه فعلا مونده….تازه چرت و پرت هاش رو گفتم(البته غیر از Serial
مهمان
مرسی و تشکر
عیدتونم موبارک