رباتیک و هوافضا

پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آردوینو

پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آروینو

به نام خدا

پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آردوینو

پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آروینو

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

 

توضیحات مداری :

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

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

 

پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آروینو

 

شماتیک مدار  پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آردوینو:

 

 

قابل توجه است که پین هفت خروجی به رله می باشد.

 

دانلود کد برنامه  پروژه ی ساخت سوئیچ هوشمند خاموش روشن با آردوینو:

دانلود فایل
const int trigger = A1;
const int echo = A2;
int vcc = A0;
int gnd = A3;
int OP = 7;
long Time;
float distanceCM;
float distance = 15;  // set threshold distance in cm
float resultCM;
void setup()
{
pinMode(OP,OUTPUT);
pinMode(trigger,OUTPUT);
pinMode(echo,INPUT);
pinMode(vcc,OUTPUT);
pinMode(gnd,OUTPUT);
}
void loop()
{
digitalWrite(vcc,HIGH);
digitalWrite(gnd,LOW);
digitalWrite(trigger,LOW);
delay(1);
digitalWrite(trigger,HIGH);
delayMicroseconds(10);
digitalWrite(trigger,LOW);
Time=pulseIn(echo,HIGH);
distanceCM=Time*0.034;
resultCM=distanceCM/2;
if(resultCM<=distance)
{
digitalWrite(OP,HIGH);
delay(4000);
}
if(resultCM>=distance)
{
digitalWrite(OP,LOW);
}
delay(10);
}

 

دیدگاه‌ها (2)

*
*

    علیرضا اسماعیلی علیایی مشتری شهریور 5, 1399 پاسخ

    سلام
    خط 30 و 35 برنامه در IDE ارور میده .
    مشکل از کجاست؟
    تشکر

      Admin مدیر کل آبان 16, 1399 پاسخ

      سلام. خب کد خطا رو بنویسید تا ما مشکل رو به شما بگیم.