سلام دوستان. امروز میخوایم قسمت اول از آموزش گام به گام ساخت پروژه ای رو بزاریم که می تونید با استفاده از اون از حرکت سوژه ها با استفاده از ایمیل مطلع بشید. در پایان این آموزش قادر خواهید بود تا با استفاده از آردوینو و سنسور PIR، از حرکت سوژه ها از طریق ایمیل خود مطلع شوید. با ما همراه باشید.

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


با ساخت این پروژه، با اتصال سنسور حرکت PIR به آردوینو و همچنین با استفاده از برنامه پایتون، میتوانید از حرکت سوژه ها توسط ایمیلتان مطلع شوید و گامی به سوی کاهش شکاف دنیای مجازی و دنیای واقعی بردارید.
آردوینو قلب این پروژه است. وقتی که حرکتی آشکار شود، پیام را از سنسور PIR دریافت می کند و از طریق پورت USB به کامپیوتر دستور می دهد تا یک ایمیل ارسال کند.

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

برای ساخت این پروژه، علاوه بر یک کامپیوتر متصل به اینترنت برای ارسال ایمیل، به قطعات زیر نیاز دارید
1.سنسور PIR
2.آردوینو UNO R3
3.برد بورد نیم سایز
4.سیم جامپر

گام دوم: سیم بندی و اتصالات


سنسور PIR تنها چیزی است که باید به آردوینو وصل کنید. راه ساده این است که سنسور PIR را مستقیما به آردوینو وصل کنید. با این وجود سیم هایی که به آردوینو می روند کمی شل هستند، بنابراین بهتر است برای اتصال این دو، از سیم بندی بردبورد که در شکل زیر نشان داده شده است، استفاده کنید.


گام سوم:کد آردوینو


با حرکت سوژه، آردوینو یک پیام از طریق اتصالUSB به کامپیوتر ارسال می کند. این عکس العمل می تواند باعث ایجاد تعداد زیادی ایمیل شود. به همین دلیل، اگر فاصله ی زمانی حرکت سوژه از مقدار تعیین شده ای کمتر باشد، آردوینو پیام متفاوتی را می فرستد تا از ارسال تعداد زیادی ایمیل های تکراری جلوگیری کند.

int pirPin = 7;
int minSecsBetweenEmails = 60; // 1 min
long lastSend = -minSecsBetweenEmails * 1000l;
void setup()
{
pinMode(pirPin, INPUT);
Serial.begin(9600);
}
void loop()
{
long now = millis();
if (digitalRead(pirPin) == HIGH)
{
if (now > (lastSend + minSecsBetweenEmails * 1000l))
{
Serial.println("MOVEMENT");
lastSend = now;
}
else
{
Serial.println("Too soon");
}
}
delay(500);
}


متغیر “minSecsBetweenEmails” حداقل فاصله ی زمانی بین ایمیل های ارسالی است و به هر مقداری که احساس می کنید منطقی می باشد، قابل تغییر است. در اینجا روی 60 ثانیه تنظیم شده است، بنابراین در هر دقیقه بیشتر از یک ایمیل ارسال نخواهد شد.
متغیر “lastSend” برای پیگیری آخرین درخواست ارسالی از طریق ایمیل استفاده می شود. این متغیر با یک عدد منفی مقداردهی اولیه می شود و معادل منفی تعداد میلی ثانیه های مشخص شده در متغیر “minSecsBetweenEmails” است. این متغیر تضمین می کند که سنسور PIR می تواند بلافاصله بعد از آشکارسازی حرکت ،آردوینو را تحریک کند.
برای به دست آوردن تعداد میلی ثانیه ها از وقتی که آردوینو شروع به ارسال پیام می کند و مقایسه آن با آخرین زمانی که پیامی فرستاده شده است، در داخل حلقه از تابع “millis()” استفاده می شود. فقط اگر تعداد ثانیه های مشخصی از زمان آخرین ارسال گذشته باشد پیام “MOVEMENT” ارسال می شود. در غیر این صورت حتی اگر حرکتی آشکار شود، پیام “Too soon” ارسال خواهد شد.
قبل از بارگذاری برنامه پایتون، می توانید سیستم آردوینو را فقط با استفاده از باز کردن سریال مانیتور (Serial Monitor) روی IDE آردوینو آزمایش کنید.



هفته ی آینده گام چهارم که نصب پایتون و PySerial هست و گام پنجم (کد پایتون) رو در اختیارتون قرار میدیم.
آموزش کامل ساخت رو می تونید در سایت کافه ربات مشاهده کنید.
اولین مرجع تخصصی آموزش پروژه های رباتیک و آردوینو به زبان فارسی
با آرزوی موفقیت دوستان.