جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
Home System 3000 هو جهاز يستخدم Arduino ، ومستشعر درجة الحرارة ، وجرس بيزو ، وكاشف ضوئي / ترانزستور ضوئي ، ومؤازرة لعرض طرق لتحسين كفاءة الطاقة المنزلية.
الخطوة 1: مستشعر درجة الحرارة
· قم بتشغيل الأسلاك الكهربائية والأرضية الخاصة بك من
وحدة التحكم الصغيرة على جانب لوح الخبز
· ضع مستشعر درجة الحرارة في لوح الخبز ، وقم بتشغيل أسلاك الطاقة والأرض المقابلة وفقًا لذلك
· لاحظ أن مستشعر درجة الحرارة له ثلاث شوكات وأن الشق الأوسط به سلك يمتد من المنفذ "A0".
· كود مستشعر درجة الحرارة:
الجواب =
موجه = 'اضغط على أي مفتاح للبدء'
وقفة
موجه 1 = "ضبط درجة الحرارة الدنيا"
س = الإدخال (موجه 1)
موجه 2 = "ضبط درجة الحرارة القصوى"
y = إدخال (موجه 2)
موجه 3 = "اضغط على أي مفتاح للبدء"
وقفة
الشكل
ح = خط متحرك ؛
الفأس = gca ؛
ax. YGrid = 'on' ؛
ax. YLim = [65 85] ،
توقف = خطأ ؛
startTime = datetime ('now') ؛
بينما ~ توقف
٪ قراءة قيمة الجهد الحالي
v = readVoltage (أ ، 'A0') ؛
٪ حساب درجة الحرارة من الجهد (على أساس ورقة البيانات)
درجة الحرارة = (v - 0.5) * 100 ؛
درجة الحرارة = 9/5 * درجة الحرارة + 32 ؛
٪ احصل على الوقت الحالي
t = datetime ('now') - startTime ؛
٪ إضافة نقاط إلى الرسوم المتحركة
النقاط الإضافية (h ، datenum (t) ، TempF)
٪ محاور التحديث
ax. XLim = datenum ([t-seconds (15) t]) ؛
datetick ('x'، 'keeplimits')
سحبناو
٪ تحقق من حالة التوقف
stop = readDigitalPin (a، 'D12') ؛
الخطوة 2: الجرس
· سلك في الجرس الذي سيُستخدم للإشارة إلى قراءة درجة حرارة شديدة الارتفاع أو الانخفاض الشديد
· لم يتم تشغيل أي سلك من العمود الموجب إلى الجانب الموجب للجرس
· بدلاً من ذلك ، يتم تشغيل سلك من الجانب الموجب للجرس إلى منفذ يسمى "11"
سيتم استخدام هذا لاحقًا للاتصال بموقع الجرس في الكود المكتوب.
· كود الجرس:
إذا كان TempF> = y
disp ("أغلق الباب إنه ساخن")
playTone (a، 'D11'، 500، 1)
elseif درجة الحرارة <= x
disp ("أغلق الباب إنه بارد")
playTone (a، 'D11'، 250، 1)
نهاية
نهاية
الخطوة 3: الكاشف البصري / الترانزستور الضوئي
· يتطلب هذا المستشعر مقاومات على عكس الآخرين
· تأكد من أن جميع شوكات المستشعر الأربعة مضمنة في الحلقة بعد توصيل الأسلاك
· يكتشف المستشعر تغيرًا في الضوء يمثل الحركة ويسجلها كمدخل
· كود الكاشف البصري / الترانزستور الضوئي:
مسح أ
a = arduino ('/ dev / tty.usbserial-DN01DVI2'، 'Uno'، 'Libraries'، 'Servo') ؛
موجه = "تعيين عتبة مستوى الضوء"
ض = الإدخال (موجه)
مستوى الضوء = 0
بينما lightLevel ~ = -1
lightLevel = readVoltage (a، 'A1')
إذا كان lightLevel> = z
answer = Questdlg ('would to like to change AC؟'، 'Yes'، 'No')
تبديل الجواب
الحالة "نعم"
answer2 = Questdlg ('Turn up or down؟'، 'response'، 'Down'، 'Up'، 'Up')
تبديل الجواب 2
حالة "أسفل"
s = مؤازرة (a، 'D10') ؛
للزاوية = 0:.1:.5
الكتابة الموقف (الزاوية) ؛
Current_position = readPosition (s) ؛
Current_position = Current_position * 180 ؛
٪ طباعة الوضع الحالي لمحرك سيرفو
fprintf ('الموضع الحالي هو٪ d / n' ، Current_position) ؛
مطلوب تأخير بسيط في المائة حتى يمكن وضع المؤازرة في
قال زاوية ٪ لذلك.
وقفة (2) ؛
نهاية
٪ يعيد المحرك إلى وضع زاوية 0
الكتابة الوظيفة (الوظائف ، 0) ؛
واضح s
موجه = "اضغط على أي مفتاح للمتابعة"
Questdlg ("AC تم رفضه" ، "استجابة" ، "موافق" ، "موافق")
حالة "Up"
s = مؤازرة (a، 'D10') ؛
للزاوية =.5:.1: 1
موقع الكتابة (الزاوية ، الزاوية) ؛
Current_position = readPosition (s) ؛
Current_position = Current_position * 180 ؛
٪ طباعة الوضع الحالي لمحرك سيرفو
fprintf ('الموضع الحالي هو٪ d / n' ، Current_position) ؛
مطلوب تأخير بسيط في المائة حتى يمكن وضع المؤازرة في
قال زاوية ٪ لذلك.
وقفة (2) ؛
نهاية
الخطوة 4: المؤازرة
· المؤازرة تمثل
مكيف هواء ، وهو ناتج لمدخل كشف الحركة
· يتطلب سلكًا موجبًا وسلكًا أرضيًا وسلكًا من المنفذ "D9" إلى المؤازرة
· رمز المؤازرة:
٪ يعيد المحرك إلى وضع زاوية 0
الكتابة الوظيفة (الوظائف ، 0) ؛
واضح s
موجه = "اضغط على أي مفتاح للمتابعة"
Questdlg ("تم ظهور AC" ، "response" ، "Ok" ، "Ok")
نهاية
نهاية
وقفة
استراحة
نهاية
نهاية
* ملاحظة خاصة: تم دمج بعض الكود الخاص بالمؤازرة مع الكود الخاص بالكاشف البصري / الترانزستور الضوئي.