Turinys:

EF 230: namų sistema 3000 Instrukcija: 4 žingsniai
EF 230: namų sistema 3000 Instrukcija: 4 žingsniai

Video: EF 230: namų sistema 3000 Instrukcija: 4 žingsniai

Video: EF 230: namų sistema 3000 Instrukcija: 4 žingsniai
Video: Частотный преобразователь как правильно подключить частотник 2024, Liepa
Anonim
EF 230: „Home System 3000 Instructable“
EF 230: „Home System 3000 Instructable“

„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

Temperatūros jutiklis
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

Garsinis signalas
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

Optinis detektorius/fototransistorius
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
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: