- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
کنترل نور اتاق با ماژول SRF04
در فضاهایی مانند انباری یا حیاط خلوت که معمولاً برای مدت کوتاهی میرویم، بهتر است از لامپهایی استفاده کنیم که به صورت خودکار خاموش و روشن میشوند تا وقتی وارد شدیم، چراغ روشن و وقتی خارج شدیم، چراغ خاموش شود. از این رو، برای انجام این کار میبایست پروژه کنترل نور اتاق با ماژول SRF04 را آموزش ببینید؛ پس با بلاگ بهنام رباتیک همراه باشید.
فهرست مطالب
لوازم مورد نیاز برای پروژه کنترل نور اتاق با ماژول SRF04
آشنایی با پینهای ماژول SRF04
- VCC: برای تأمین انرژی. قابل اتصال به خط قرمز روی برد بورد با سیم جامپر قرمز.
- Trig: پین محرک. قابل اتصال به پین شماره 6 آردوینو. این پین برای ارسال امواج صوتی استفاده میشود.
- Echo: پین گیرنده. قابل اتصال به پین شماره 5 آردوینو. این پین برای دریافت امواج صوتی ارسال شده توسط پین محرک استفاده میشود.
- GND: پین اتصال به زمین. قابل اتصال به خط آبی روی برد بورد با سیم جامپر مشکی.
اتصال لوازم پروژه کنترل نور اتاق با ماژول SRF04 به آردوینو و برد بورد
در اولین مرحله از این پروژه و با استفاده از آردوینو و برد بورد، میان لوازم گفته شده اتصال برقرار میکنیم.
برای انجام این کار، میتوانید از سیم جامپر قرمز برای وصل کردن پین 5 ولتی آردوینو به خط قرمز برد بورد بهره ببرید و از سیم جامپر مشکی نیز استفاده کنید تا پین اتصال به زمین (GND) آردوینو را به خط آبی برد بورد بزنید.
برای اینکه موضوع را بهتر متوجه شوید، تصویر زیر را مشاهده کنید.
اتصال ماژول اولتراسونیک SRF04 به آردوینو و برد بورد
مطابق تصویر زیر، ماژول SRF04 را به گونهای روی برد بورد بگذارید که سنسورهای آن به طرف لبهها قرار گرفتهاند.
اتصال رله پاور به آردوینو و برد بورد
رلهای که برای انجام این پروژه آردوینو استفاده شده، سه پین در یک طرف و سه پیچ ترمینال در طرف دیگر دارد. این پینها با علائم s، + و – قابل مشاهده هستند.
پین s همان پین سیگنال است و به پین شماره 9 آردوینو وصل میشود. پین + نیز همان پین 5 ولت یا VCC است و با یک سیم جامپر قرمز به خط قرمز روی برد بورد وصل میشود. در نهایت، پین – نیز همان پین GND یا اتصال به زمین است که با سیم مشکی به خط آبی روی برد بورد وصل میشود.
در آن طرف رله که پیچ ترمینال وجود دارد، شاهد علائم left NC، middle nothing و right NO هستیم. شما در اینجا میتوانید سیمی که با استفاده از آن میخواهید چراغ را مستقیماً به برق بزنید را وصل کنید. توجه داشته باشید که یک سر سیم به پیچ وسط و سر دیگر آن به پیچ NO متصل گردد.
- NO: مخفف واژههای Naturally Open و به معنای باز بودن مدار و نداشتن جریان میباشد.
- NC: مخفف واژههای Naturally Close و به معنای بسته بودن مدار و داشتن جریان میباشد.
در این مرحله کار خود را با مدار باز شروع میکنیم که در این حالت چراغ خاموش است. در سمت دیگر، وقتی رله از آردوینو روی پین s سیگنال دریافت میکند، چراغ را روشن خواهد کرد و ما میتوانیم نوعی صدای کلیک را از رله پاور بشنویم.
کدنویسی پروژه کنترل نور اتاق با ماژول SRF04
کدهایی که در ادامه آمدهاند را میبایست در نرمافزار Arduino IDE آپلود کنید.
#define trigPin 6 //Define the HC-SE04 triger on pin 6 on the arduino
#define echoPin 5 //Define the HC-SE04 echo on pin 5 on the arduino
#define bulb 9 //Define the relay signal on pin 9 on the arduino
void setup()
{
Serial.begin (9600); //Start the serial monitor
pinMode(trigPin, OUTPUT); //set the trigpin to output
pinMode(echoPin, INPUT); //set the echopin to input
pinMode (bulb, OUTPUT); //set the bulb on pin 9 to output
}
void loop()
{
int duration, distance; //Define two intregers duration and distance to be used to save data
digitalWrite(trigPin, HIGH); //write a digital high to the trigpin to send out the pulse
delayMicroseconds(500); //wait half a millisecond
digitalWrite(trigPin, LOW); //turn off the trigpin
duration = pulseIn(echoPin, HIGH); //measure the time using pulsein when the echo receives a signal set it to high
distance = (duration/2) / 29.1; //distance is the duration devided by 2 becasue the signal traveled from the trigpin then back to the echo pin, then divide by 29.1 to convert to centimeters
if (distance < 13) //if the distance is less than 13 CM
{
Light(); //execute the Light subroutine below
}
Serial.print(distance); //Dispaly the distance on the serial monitor
Serial.println(" CM"); //in centimeters
delay(500); //delay half a second
}
void Light() //Start the Light subroutine
{ digitalWrite(bulb, HIGH); //turn on the light
delay (15000); //wait 15 seconds
digitalWrite(bulb, LOW); //turn off the light
}
توضیحات کدهای پروژه کنترل نور اتاق با ماژول SRF04
در ابتدا شاهد حضور سه متغیر که به پینهای محرک و اکو ماژول SRF04 و رله پاور مربوط میشوند، هستیم.
در بخش void setup، سریال مانیتور را آغاز و پینهای Trig و رله را به عنوان خروجی مشخص میکنیم زیرا آنها خروجی را به ما میدهند که پین Echo دریافت کرده و این پین به عنوان ورودی تعیین شده است.
اتفاقات قابل مشاهده، در بخش void loop رخ دادهاند.
در این مرحله ابتدا برای مدت زمان و فاصله دو عدد صحیح تعریف میکنیم تا اطلاعات به دست آمده توسط پین محرک ذخیره گردند. سپس به این پین فرمان داده میشود تا با تابع digitalWrite(trigPin, HIGH) یک موج صوتی بفرستد و بعد به مدت نیم میلیثانیه منتظر بماند و در آخر با تابع digitalWrite(trigPin, LOW) خاموش شود.
وقتی موج صوتی بازمیگردد، اطلاعات مربوط به مدت زمان در قالب عدد صحیح ذخیره و پین اکو با تابع pulseIn(echoPin, HIGH) فعال میشود. حالا با استفاده از فرمول زیر، فاصله را تعیین میکنیم:
(مدت زمان ÷ 2) ÷ 29.1 = فاصله بر واحد سانتیمتر
قدم بعدی، تأیید نتیجه به دست آمده است. اگر نتیجه کمتر از 13 سانتیمتر شد، چراغ روشن میشود و اگر بیشتر شد، چراغ روشن نمیشود و نتایج در سریال مانیتور پخش میگردند.
در پایان اشاره کنیم که دستور مربوط به چراغ به گونهای است که اگر فعال شود، رله را فعال و چراغ را روشن خواهد کرد و 15 ثانیه منتظر میماند و سپس چراغ را خاموش میکند.