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

  • سنسور LM35
  • مقاومت حدود 220 اهم تا یک کیلو اهم: پنج عدد
  • LED: پنج عدد
سنسور دما LM35

سیم بندی مدار را طبق شکل زیر انجام دهید:

 

در مرحله بعد، کدهای زیر را روی آردوینو نصب کنید: دما از روی سنسور خوانده میشود و روی serial monitor نوشته میشود و LEDهای رنگی به نسبت گرمای هوا روشن میشوند:

 

// ابتدا معرفی ال ای دی ها در یک آرایه

int LED [5] = {2, 3, 4, 5, 6};


// پایه وسط سنسور به ورودی آنالوگ آردوینو وصل شود

int sensorPin = A0;


void setup() {

   Serial.begin(9600);

   for (int i = 0; i < 5; i++) {
   pinMode(LED[i], OUTPUT);
   }
}


void loop() {
// خواندن مقدار از سنسور
int val = analogRead(sensorPin);
Serial.println(val);


// تمام ال ای دی ها خاموش
for (int i = 0; i<5; i++) {
digitalWrite(LED[i], LOW);
}

// روشن شدن ال ای دی ها

// توضیح این قسمت در پایین همین صفحه
if (val > 40 && val < 45) { // 20 - 22 C
digitalWrite( LED[0], HIGH);
} else if (val > 45 && val < 49){ // 22 - 24 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
} else if (val > 49 && val < 53){ // 24 - 26 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
} else if (val > 53 && val < 57){ // 26 - 28 C
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
digitalWrite( LED[3], HIGH);
} else if (val > 57){ // بیش از 28 درجه
digitalWrite( LED[0], HIGH);
digitalWrite( LED[1], HIGH);
digitalWrite( LED[2], HIGH);
digitalWrite( LED[3], HIGH);
digitalWrite( LED[4], HIGH);
}


// توقف کوتاه برای ارسال اعداد به سریال ویندو

delay(100);
}

توضیح:

در این سنسور هر 1 درجه سانتیگراد برابر با 10 میلی ولت است.
پس مثلا: 20 درجه سانتیگراد= 200 میلی ولت = 0.2 ولت= 41 واحد آنالوگ:

0.2 V / 5 V * 1023 = 41
پس تقریبا: تغییر هر 1 درجه سانتیگراد = تغییر 2 واحد آنالوگ

(منبع: کتاب Arduino Development Cookbook)


برچسب‌ها: سنسور, آموزش آردوینو, آردوینو و LED
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۱۳ |

نرم افزار محاسبات ولتاژ رگولاتور
برای: LM317, L200, TL431, M523778xx

دانلود نرم افزار

نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۱۳ |

از تابع map برای نگاشت بین اعضای دو مجموعه استفاده میشود.
مثال: اگر بخواهیم اعداد موجود در بازه 1 تا 9 را به بازه 3 تا 80 تبدیل کنیم از تابع map یا نگاشت استفاده میکنیم.
ساختار:

map(value, fromLOW, fromHIGH, toLOW, toHIGH)

  • در بخش value عددی که باید نگاشت شود قرار میگیرد
  • در بخش fromLOW کران پایین بازه مبدا قرار میگیرد
  • در بخش fromHIGH کران بالای بازه مبدا قرار میگیرد
  • در بخش toLOW کران پایین بازه مقصد قرار میگیرد
  • در بخش toHIGH کران بالای بازه مقصد قرار میگیرد
     

مبنای محاسبات در تابع map اعداد صحیح است. اعداد کسری به دست آمده در فرایند map میانگین گیری و یا گرد نمی شوند بلکه تقطیع میشوند.

 

مثال:

مقادیر قابل قبول برای تابع analogRead بین 0 تا 1023 است
مقادیر قابل قبول برای تابع analogWrite بین 0 تا 255 است
اگر بخواهیم مقادیر خوانده شده توسط تابع analogRead را به تابع analogWrite بفرستیم باید محدوده 0 تا 1023 را به محدوده 0 تا 255 تبدیل کنیم. این تبدیل مقادیر را با کمک تابع map انجام میدهیم:

 

void setup() {
}

void loop() {
   int M = analogRead(0);
   M = map(M, 0, 1023, 0, 255);
   analogWrite(9,M);
}

مقادیر 0 تا 1023 توسط analogRead از روی درگاه ورودی آنالوگ A0 خوانده میشوند و به متغیر M انتساب داده میشوند. سپس با استفاده از تابع map مقادیر متغیر M به محدوده 0 تا 255 تبدیل میشود تا توسط تابع analogWrite قابل خواندن باشند و روی درگاه خروجی آنالوگ 9~ نوشته شوند (منبع: کتاب کلید آردوینو).


برچسب‌ها: آموزش نرم افزار آردوینو, تابع map در آردوینو
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

دانلود لیست فشرده نکات برنامه نویسی پراسسینگ Processing

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: پراسسینگ, لیست نکات
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

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

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: برنامه نویسی آردوینو, لیست نکات
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۲ |

سنسور رطوبت خاک میتواند مقدار رطوبت خاک را اندازه گیری کند تا در صورت نیاز، آبیاری خاک آغاز شود یا پایان یابد.

 

عملکرد سنسور ساده است:

  • این سنسور دارای دو الکترود تیغه ای است
  • این دو الکترود، رسانایی خاک را اندازه می گیرند
  • افزایش رطوبت خاک باعث افزایش رسانایی و کاهش مقاومت الکتریکی خاک می شود.

 

نحوه سیم بندی مدار بصورت زیر است:

سیم سنسورآردوینو 
 زردAOA0آنالوگ
سیاهGNDGNDمنفی
قرمزVCC5Vمثبت

  

کد آردوینو برای راه اندازی این سنسور به صورت زیر است:

 

const int hygrometer = A0;  // اتصال پین آنالوگ سنسور به پین آنالوگ صفر آردوینو
int value;

void setup()
{
   Serial.begin(9600);
}

void loop()
{    
    // مقدار چهارصد یعنی رطوبت خاک کافی است

   // میتوانید هر مقداری را بجای چهارصد بگذارید 
    
    value = analogRead(hygrometer);  // مقدار آنالوگ سنسور را میخواند 
    value = constrain(value,400,1023);  // تعریف محدوده برای عدد سنسور
    value = map(value,400,1023,100,0);

    // مقدار آنالوگ خوانده شده را محدود میکند

   // یعنی 400 میشود 100 و 1023میشود صفر


    Serial.print("رطوبت خاک: ");
    Serial.print(value);
    Serial.println(%);
    delay(1000);  // هر یک ثانیه داده گیری انجام شود
}

 

در نرم افزار آردوینو روی Serial Monitor کلیک کنید تا اعداد خروجی رطوبت خاک نشان داده شوند:

 

(http://invent.module143.com/منبع: سایت)


برچسب‌ها: سنسور, سخت افزار آردوینو
نوشته شده توسط آموزش آردوینو در دوشنبه ۱۳۹۸/۱۱/۰۷ |

 

 

(منبع: سایت https://sparkfuneducation.com/)


برچسب‌ها: اینفوگرافیک, قانون اهم, سیگنالهای آنالوگ و دیجیتال
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۸/۱۱/۰۶ |

ساده ترین برنامه که میتوان در محیط آردوینو نوشت بصورت زیر است:

 

void setup()
{

//put your setup code here to run once
}

void loop()
{

//put your main code here to run repeatedly
}

 

هربرنامه ساده یا پیچیده آردوینو، باید دارای 2 تابع ویژه به نامهای setup و loop باشد:

  • کاری که تابع setup انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «فقط یکبار انجام می دهد».

  • کاری که تابع loop انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «آن قدر تکرار میکند تا بگوییم کافی است».

 

 

دو پرانتز که به صورت () بعد از کلمات setup و loop آمده است یعنی setup و loop کلمات عادی نیستند بلکه «تابع» هستند:

تابع یعنی چیزی که مانند یک دستگاه، کار مشخصی را که برایش تعریف کرده‌ ایم انجام میدهد یعنی داده ای را از ما میگیرد وسپس عملیاتی را روی داده انجام میدهد و در آخر نتیجه را به ما بر‌میگرداند.

 

مجدداً به متن برنامه مراجعه کنید:

 

void setup()
{
//put your setup code here to run once
}

void loop()
{
//put your main code here to run repeatedly
}

 

یک علامت به شکل } بعد از کلمه setup قرارگرفته است. علامت } نشانه شروع محدوده ای است که هر دستوری داخل این محدوده نوشته شود، توسط تابع setup اجرا میشود. انتهای این محدوده را با علامتی برعکس، به شکل { نشان میدهیم. بطور خلاصه، دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «فقط یک بار» توسط تابع setup اجرا میشوند. به محدوده بین {} بدنه تابع می گوییم.
بعد از تابع loop نیز علایم } و { دیده میشوند: نقش آنها مثل قبل است و محدوده شروع و پایان دستوراتی را نشان میدهند که توسط تابع loop اجرا میشوند. دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «به دفعات نامحدود» توسط تابع  loop اجرا میشوند.


بنابراین تفاوت اصلی تابع loop با تابع setup آن است که:
تابع setup دستورات داخل { } را فقط یک بار اجرا میکند ولی تابع loop دستورات داخل { } را نه فقط یک بار، بلکه آنقدر تکرار میکند که بگوییم کافی است.

(منبع: کتاب کلید آردوینو)


برچسب‌ها: برنامه نویسی آردوینو, Arduino IDE
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۰۵ |



برنامه Blink سرعت چشمک زدن LED را کنترل میکند. مدار را مطابق شکل بالا ببندید. برای محافظت از LED در برابر جریان الکتریکی اضافی، یک عدد مقاومت را بصورت سری در مسیر اتصال LED به آردوینو قرار میدهیم. در شکل بالا:

 

 

  • سیم زرد به پین 13 آردوینو
  • سیم سیاه به پین GND آردوینو
  • پایه منفی (کوتاه) LED به سیم سیاه
  • پایه مثبت (بلند) LED به مقاومت
  • مقدار مقاومت: یک کیلو اهم = قهوه ای مشکی قرمز

(در شکل بالا، نقطه های سبز روی بردبورد یعنی: سوراخهای این مسیر، از زیر بردبورد به هم وصل هستند)


آردوینو را به کامپیوتر وصل کنید. برنامه  Blink را در نرم افزار آردوینو بنویسید یا از آدرس زیر اجرا کنید:

برنامه به شکل زیر است:

void setup() {
 pinMode(13, OUTPUT);
}

void loop() {
 digitalWrite(13, HIGH); 
 delay(1000);      
 digitalWrite(13, LOW); 
 delay(1000);      
}

فایل را به برد آردوینو بفرستید:

 

اکنون LED شروع به چشمک زدن میکند. مدت زمان روشن بودن آن 1 ثانیه و مدت زمان خاموش بودن آن نیز 1 ثانیه است. در برنامه بالا ابتدا توسط تابع ()pinMode درگاه دیجیتال شماره 13 را بعنوان درگاه خروجی تعریف میکنیم. سپس در بخش ()loop حلقه تکرارشونده برنامه را بصورت زیر تشکیل میدهیم:

- HIGH‌شدن درگاه 13 و روشن شدن LED متصل به این درگاه، توسط تابع ()digitalWrite
- توقف در حالت فوق، برای مدت 1000 میلی ثانیه یا 1 ثانیه توسط تابع ()delay
- LOW‌شدن درگاه 13 و خاموش شدن LED متصل به این درگاه، توسط تابع ()digitalWrite
- توقف درحالت فوق، برای مدت 1000 میلی ثانیه یا 1 ثانیه توسط تابع ()delay

حالا مقادیر تابع ()delay را تغییر دهید و برنامه را مجددا بارگذاری کنید تا تغییرات اعمال شده را بر مدت زمان روشن و خاموش شدن LED مشاهده نمایید.

(منبع: کتاب کلید آردوینو)


برچسب‌ها: نرم افزار آردوینو, برنامه نویسی آردوینو, آردوینو و LED
نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |

سوراخهای روی بردبورد را با سیم به هم وصل میکنند. به این سیمها، سیم جامپر میگویند.

 

سیم جامپر را میتوانید خودتان (با سیم تک رشته) آماده کنید:

 

نوشته شده توسط آموزش آردوینو در چهارشنبه ۱۳۹۸/۱۱/۰۲ |
 
مطالب جدیدتر
مطالب قدیمی‌تر