Mundarija:
Video: EF 230: Uy tizimi 3000 ko'rsatma: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Home System 3000 - bu Arduino, harorat sensori, piezo -signal, optik detektor/fototransistor va servo yordamida uy energiya samaradorligini oshirish usullarini aks ettiruvchi qurilma.
1 -qadam: harorat sensori
· Quvvat va er simlarini ishlating
non taxtasi yonidagi mikrokontroller
· Harorat sezgichini non taxtasiga joylashtiring va shunga mos ravishda quvvat va topraklama simlarini o'tkazing
· E'tibor bering, harorat sensori uchta tishli, o'rta tirgakda esa "A0" portidan o'tadigan sim bor.
· Harorat sensori kodi:
answer = questdlg ('Iltimos, arduino va servo start kodini ishga tushiring', 'javob', 'Ok', 'Ok')
prompt = 'Boshlash uchun istalgan tugmani bosing'
pauza
prompt1 = 'Minimal haroratni o'rnatish'
x = kirish (tezkor1)
prompt2 = 'Maksimal haroratni o'rnatish'
y = kirish (tezkor 2)
prompt3 = 'boshlash uchun istalgan tugmani bosing'
pauza
raqam
h = animatsion chiziq;
ax = gca;
ax. YGrid = 'yoqilgan';
ax. YLim = [65 85];
to'xtatish = noto'g'ri;
startTime = datetime ("hozir");
while ~ stop
% Hozirgi kuchlanish qiymatini o'qing
v = o'qish voltaji (a, 'A0');
% Haroratni kuchlanishdan hisoblang (ma'lumotlar varag'i asosida)
TempC = (v - 0,5)*100;
TempF = 9/5*TempC + 32;
% Joriy vaqtni oling
t = datetime ('hozir') - startTime;
% Animatsiyaga nuqta qo'shing
qo'shilish nuqtalari (h, ma'lumotlar (t), TempF)
% O'qlarini yangilang
ax. XLim = datenum ([t-soniya (15) t]);
ma'lumotlar tanlovi ('x', 'keeplimits')
chizilgan
% To'xtash holatini tekshiring
stop = readDigitalPin (a, 'D12');
2 -qadam: Buzzer
· Pastki yoki yuqori harorat ko'rsatkichlarini bildirish uchun ishlatiladigan signal signal simlari
· Ijobiy ustundan signalning ijobiy tomoniga sim o'tkazilmaydi
· Buning o'rniga, signal signalining ijobiy tarafidan "11" deb nomlangan portga o'tkaziladi.
Bu keyinchalik yozilgan kodda ovozli signal joyini chaqirish uchun ishlatiladi.
· Buzzer kodi:
agar TempF> = y bo'lsa
disp ("eshik yaqin", bu issiq)
playTone (a, 'D11', 500, 1)
boshqa TempF <= x
disp ("eshikni yoping, sovuq")
playTone (a, 'D11', 250, 1)
oxiri
oxiri
3 -qadam: optik detektor/fototransistor
· Bu sensor boshqalardan farqli o'laroq qarshilik ko'rsatishni talab qiladi
· Simlarni ulaganingizdan so'ng, datchikning barcha to'rtta tishi halqaga kiritilganligiga ishonch hosil qiling
· Sensor harakatni ifodalovchi yorug'lik o'zgarishini aniqlaydi va uni kirish sifatida qayd qiladi
· Optik detektor/fototransistor kodi:
aniq a
a = arduino ('/dev/tty.usbserial-DN01DVI2', 'Uno', 'Kutubxonalar', 'Servo');
prompt = 'Yorug'lik darajasi chegarasini o'rnatish'
z = kirish (tezkor)
yorug'lik darajasi = 0
lightLevel ~ = -1 bo'lsa
lightLevel = readVoltage (a, 'A1')
agar lightLevel> = z bo'lsa
answer = questdlg ('AC ni o'zgartirmoqchimisiz?', 'Ha', 'Yo'q')
javobni almashtirish
"Ha" holati
answer2 = questdlg ("ACni yuqoriga yoki pastga aylantiring?", "javob", "Pastga", "Yuqoriga", "Yuqoriga")
javobni almashtirish 2
"pastga" holati
s = servo (a, 'D10');
burchak uchun = 0:.1:.5
yozish pozitsiyasi (lar, burchak);
current_position = readPosition (lar);
joriy_pozitsiya = joriy_pozitsiya * 180;
% bosma servo dvigatelning joriy holati
fprintf ('Joriy holat - %d / n', joriy_pozitsiya);
% kichik kechikish talab qilinadi, shunda servo joylashishi mumkin
% burchak aytilgan.
pauza (2);
oxiri
% dvigatelni 0 burchak holatiga qaytaring
yozish pozitsiyasi (lar, 0);
aniq s
prompt = 'Davom etish uchun istalgan tugmani bosing'
questdlg ("AC rad etildi", "javob", "Ok", "Ok")
"yuqoriga" holati
s = servo (a, 'D10');
burchak uchun =.5:.1: 1
yozish pozitsiyasi (lar, burchak);
current_position = readPosition (lar);
joriy_pozitsiya = joriy_pozitsiya * 180;
% bosma servo dvigatelning joriy joylashuvi
fprintf ('Joriy holat - %d / n', joriy_pozitsiya);
servo joylashishi uchun % kichik kechikish kerak
% burchak aytilgan.
pauza (2);
oxiri
4 -qadam: Servo
· Servo vakili
konditsioner va harakatni aniqlash kirishining chiqishi
· Buning uchun musbat sim, tuproqli sim va "D9" portidan servoga uzatiladigan sim kerak
· Servo kodi:
% dvigatelni 0 burchak holatiga qaytaring
yozish pozitsiyasi (lar, 0);
aniq s
prompt = 'Davom etish uchun istalgan tugmani bosing'
questdlg ("AC yoqilgan", "javob", "Ok", "Ok")
oxiri
oxiri
pauza
tanaffus
oxiri
oxiri
*Maxsus eslatma: servo kodining bir qismi optik detektor/fototransistor kodi bilan birlashtirilgan.
Tavsiya:
Dizayner uchun qiziqarli dasturiy ko'rsatma-Rasmingizni ishga tushiring (Ikkinchi qism): 8 qadam
Dizayner uchun qiziqarli dasturiy ko'rsatma-Rasmingizni ishga tushiring (Ikkinchi qism): Matematika, ko'pchiligingiz uchun foydasiz bo'lib tuyuladi. Kundalik hayotimizda eng ko'p ishlatiladigan - qo'shish, ayirish, ko'paytirish va bo'lish. Ammo, agar siz dastur yordamida yaratishingiz boshqacha. Qancha ko'p bilsangiz, shunchalik ajoyib natijaga erishasiz
Uch karnay sxemasi -- Bosqichma-bosqich ko'rsatma: 3 qadam
Uch karnay sxemasi || Bosqichma-bosqich ko'rsatma: Karnay davri atrof-muhitdan qabul qilinayotgan audio signallarni MIKga kuchaytiradi va uni ovoz kuchaytiriladigan joydan Karnayga yuboradi.
Yangi Neopixel oldingizmi? Bu erda tez boshlash bo'yicha ko'rsatma !: 5 qadam
Yangi Neopixel oldingizmi? Mana, tezkor qo'llanma !: Bilaman, men oxirgi ko'rsatmamda men muntazam bo'lishni aytganman, lekin unday emas. Xo'sh, men urinib ko'rdim, lekin menda yaxshi fikrlar yo'q edi: Mum bilan qoplangan o'yin: KABOOM!*Qalamli sham: Fissssssss … KABOOOM! ** Matematikaning badiiy san'ati: burchaklari noto'g'ri! Men baribir qaytdim
O'z -o'zidan boshqariladigan mashinangizni yarating - (Bu ko'rsatma ishlayapti): 7 qadam
O'z -o'zidan haydovchi mashinangizni yarating - (Bu ko'rsatma ishlayapti): Salom, agar siz masofadan boshqariladigan USB -gamepadli haydovchiga ko'rsatma beradigan boshqa robotimni ko'rib chiqsangiz, bu loyiha o'xshash, lekin kichikroq miqyosda. Shuningdek, siz Robototexnika, uy sharoitida ovozni tanib olish yoki o'z-o'zini tanishtirish yoki ilhom olishingiz mumkin
TAD 130 ko'rsatma: 20 qadam
TAD 130 ko'rsatma: umumiy nuqtai