Turinys:
- 1 žingsnis: temperatūros jutiklis
- 2 žingsnis: garsinis signalas
- 3 žingsnis: optinis detektorius/fototransistorius
- 4 žingsnis: Servo
Video: EF 230: namų sistema 3000 Instrukcija: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
„Home System 3000“yra įrenginys, kuriame naudojamas „Arduino“, temperatūros jutiklis, pjezo garsinis signalas, optinis detektorius/fototransistorius ir servo, kad būtų rodomi būdai, kaip pagerinti namų energijos vartojimo efektyvumą.
1 žingsnis: temperatūros jutiklis
· Išjunkite maitinimo ir įžeminimo laidus
mikrovaldiklį prie duonos lentos
· Įdėkite temperatūros jutiklį į duonos lentą ir atitinkamai prijunkite maitinimo ir įžeminimo laidus
· Atkreipkite dėmesį, kad temperatūros jutiklis turi tris kištukus, o vidurinis - laidą, einantį iš „A0“prievado.
· Temperatūros jutiklio kodas:
answer = questdlg ('Prašome paleisti arduino ir servo pradžios kodą', 'atsakymas', 'Gerai', 'Gerai')
prompt = 'Norėdami pradėti, paspauskite bet kurį klavišą'
Pauzė
prompt1 = 'Nustatyti mažiausią temperatūrą'
x = įvestis (eilutė1)
prompt2 = 'Nustatyti maksimalią temperatūrą'
y = įvestis (eilutė2)
prompt3 = 'Norėdami pradėti, paspauskite bet kurį klavišą'
Pauzė
figūra
h = animuota linija;
kirvis = gca;
ax. YGrid = 'įjungtas';
ax. YLim = [65 85];
stop = klaidinga;
startTime = datetime ('dabar');
o ~ sustok
% Skaityti dabartinės įtampos vertę
v = skaitymo įtampa (a, 'A0');
% Apskaičiuokite temperatūrą pagal įtampą (remiantis duomenų lapu)
TempC = (v - 0,5)*100;
TempF = 9/5*TempC + 32;
% Gaukite dabartinį laiką
t = datetime ('dabar') - startTime;
% Pridėti taškų prie animacijos
priedai (h, datenum (t), TempF)
% Atnaujinti ašis
ax. XLim = datenum ([t-sekundės (15) t]);
duomenų žyma ('x', 'keeplimits')
ištrauktas
% Patikrinkite sustabdymo būseną
stop = readDigitalPin (a, 'D12');
2 žingsnis: garsinis signalas
· Viela garsiakalbyje, kuri bus naudojama signalizuoti apie itin aukštą ar labai žemą temperatūrą
· Iš teigiamo stulpelio į teigiamą garsinio signalo pusę laidas nevedamas
· Vietoj to viela iš teigiamos garsinio signalo pusės nuvedama į prievadą, pažymėtą „11“
Tai vėliau bus naudojama skambinančiojo skambučio vietai parašytame kode paskambinti.
· Garso signalo kodas:
jei TempF> = y
disp („uždarykite duris, karšta“)
playTone (a, „D11“, 500, 1)
elseif TempF <= x
disp („uždarykite duris, šalta“)
„playTone“(a, „D11“, 250, 1)
galas
galas
3 žingsnis: optinis detektorius/fototransistorius
· Šiam jutikliui reikalingi rezistoriai, skirtingai nuo kitų
· Įsitikinkite, kad prijungę laidus, visi keturi jutiklio kištukai yra įtraukti į kilpą
· Jutiklis aptinka šviesos pasikeitimą, vaizduojantį judesį, ir įrašo jį kaip įvestį
· Optinio detektoriaus/fototransistoriaus kodas:
aišku a
a = arduino ('/dev/tty.usbserial-DN01DVI2', 'Uno', 'Bibliotekos', 'Servo');
prompt = 'Nustatyti šviesos lygio slenkstį'
z = įvestis (raginimas)
„LightLevel“= 0
o lightLevel ~ = -1
lightLevel = readVoltage (a, 'A1')
jei lightLevel> = z
atsakymas = questdlg ('norėtų pakeisti AC?', 'Taip', 'Ne')
perjungti atsakymą
atvejis „Taip“
answer2 = questdlg („Pasukti AC aukštyn arba žemyn?“, „atsakymas“, „Žemyn“, „aukštyn“, „aukštyn“)
perjungti atsakymą2
atvejis „žemyn“
s = servo (a, 'D10');
kampu = 0:.1:.5
writePosition (s, kampas);
current_position = readPosition (s);
dabartinė_ pozicija = dabartinė_ pozicija * 180;
% spausdinama dabartinė servo variklio padėtis
fprintf ('Dabartinė padėtis yra %d / n', dabartinė_pozicija);
% mažo delsos reikia, kad servo būtų galima nustatyti
% kampas, pasakytas.
pauzė (2);
galas
% grąžinkite variklį į 0 kampo padėtį
writePosition (s, 0);
aišku s
prompt = 'Norėdami tęsti, paspauskite bet kurį klavišą'
questdlg („AC atmestas“, „atsakymas“, „Gerai“, „Gerai“)
byla „aukštyn“
s = servo (a, 'D10');
kampu =.5:.1: 1
writePosition (s, kampas);
current_position = readPosition (s);
dabartinė_ pozicija = dabartinė_ pozicija * 180;
% spausdinama dabartinė servo variklio padėtis
fprintf ('Dabartinė padėtis yra %d / n', dabartinė_pozicija);
% mažo delsos reikia, kad servo būtų galima nustatyti
% kampas, pasakytas.
pauzė (2);
galas
4 žingsnis: Servo
· Servo simbolis
oro kondicionierius ir yra judesio aptikimo įvesties išvestis
· Tam reikia teigiamo laido, įžeminimo laido ir laido nuo „D9“prievado iki servo
· Servo kodas:
% grąžinkite variklį į 0 kampo padėtį
writePosition (s, 0);
aišku s
prompt = 'Norėdami tęsti, paspauskite bet kurį klavišą'
questdlg („AC pasirodė“, „atsakymas“, „Gerai“, „Gerai“)
galas
galas
Pauzė
pertrauka
galas
galas
*Speciali pastaba: dalis servo kodo yra integruota su optinio detektoriaus/fototransistoriaus kodu.
Rekomenduojamas:
„Veedooo“programavimo robotų automobilių surinkimo instrukcija: 7 žingsniai
„Veedooo“programavimo robotų automobilio surinkimo instrukcija: paketų sąrašas
Kaip paskelbti instrukciją: 7 žingsniai
Kaip paskelbti instrukciją: Taigi nusprendėte nuo skaitymo pereiti prie instrukcijų kūrimo? Bet … jūs neturite idėjos, kaip ką nors padaryti? Na, tai labai paprasta, todėl žingsnis po žingsnio išmokysiu sukurti instrukciją
Sukurkite instrukciją: 5 žingsniai
Sukurkite instrukciją: atsidūrėte svetainėje Instructables.com ir norite sukurti savo instrukcijų rinkinį. Norėdami tai padaryti, atlikite šią instrukciją
Sukurkite savo instrukciją: 7 žingsniai
Sukurkite savo instrukciją: Sveiki, vaikinai, šioje pamokoje aš jums padėsiu atlikti kelis paprastus veiksmus, kaip pradėti nurodomą profilį ir pasidalyti savo kūryba bei idėjomis
Namų prietaisų valdymas per LoRa - „LoRa“namų automatikoje - „LoRa“nuotolinio valdymo pultas: 8 žingsniai
Valdykite buitinius prietaisus per LoRa | „LoRa“namų automatikoje | „LoRa“nuotolinis valdymas: valdykite ir automatizuokite savo elektros prietaisus iš didelių atstumų (kilometrų) be interneto. Tai įmanoma per LoRa! Ei, kas, vaikinai? Akarsh čia iš CETech. Šioje PCB taip pat yra OLED ekranas ir 3 relės, kurios