Orodha ya maudhui:

EF 230: Mfumo wa Nyumbani 3000 Unaoweza kufundishwa: Hatua 4
EF 230: Mfumo wa Nyumbani 3000 Unaoweza kufundishwa: Hatua 4

Video: EF 230: Mfumo wa Nyumbani 3000 Unaoweza kufundishwa: Hatua 4

Video: EF 230: Mfumo wa Nyumbani 3000 Unaoweza kufundishwa: Hatua 4
Video: ТРЕКОВЫЕ светильники для дома. Освещение в квартире. 2024, Julai
Anonim
EF 230: Mfumo wa Nyumbani 3000 Unafundishwa
EF 230: Mfumo wa Nyumbani 3000 Unafundishwa

Mfumo wa Nyumbani 3000 ni kifaa kinachotumia Arduino, sensor ya joto, buzzer ya piezo, detector ya macho / phototransistor, na servo kuonyesha njia za kuboresha ufanisi wa nishati nyumbani.

Hatua ya 1: Sensorer ya joto

Sensorer ya joto
Sensorer ya joto

· Tumia umeme na waya wa ardhini kutoka

mdhibiti mdogo kwa upande wa bodi ya mkate

· Weka sensorer ya joto ndani ya ubao wa mkate, na utumie nguvu zinazolingana na waya za ardhini ipasavyo

· Angalia kuwa sensa ya joto ina vidonge vitatu, na prong ya kati ina waya ambao hutoka kutoka bandari "A0".

· Nambari ya sensorer ya joto:

jibu = questdlg ('Tafadhali endesha arduino na nambari ya kuanza ya servo', 'majibu', 'Ok', 'Ok')

haraka = 'Bonyeza kitufe chochote kuanza'

sitisha

haraka1 = 'Weka kiwango cha chini cha joto'

x = pembejeo (haraka1)

haraka2 = 'Weka kiwango cha juu cha joto'

y = pembejeo (haraka2)

haraka3 = 'bonyeza kitufe chochote kuanza'

sitisha

takwimu

h = mstari wa uhuishaji;

shoka = gca;

ax. YGrid = 'juu ya';

shoka. Lim = [65 85];

kuacha = uwongo;

startTime = wakati wa saa ('sasa');

while ~ simama

Soma thamani ya sasa ya voltage

v = somaVoltage (a, 'A0');

Mahesabu ya joto kutoka kwa voltage (kulingana na karatasi ya data)

TempC = (v - 0.5) * 100;

TempF = 9/5 * TempC + 32;

Pata wakati wa sasa

t = wakati wa saa ('sasa') - Wakati wa kuanza;

Ongeza alama kwenye uhuishaji

nyongeza (h, datenum (t), TempF)

Sasisha shoka

ax. XLim = datenum ([t-sekunde (15) t]);

takwimu ('x', 'keeplimits')

onyesha

Angalia hali ya kuacha

kuacha = kusomaDigitalPin (a, 'D12');

Hatua ya 2: Buzzer

Buzzer
Buzzer

· Waya katika buzzer ambayo itatumika kuashiria usomaji wa joto la juu sana au la chini sana

· Hakuna waya unaoendeshwa kutoka kwa safu nzuri hadi upande mzuri wa buzzer

· Badala yake waya huendeshwa kutoka upande mzuri wa buzzer hadi bandari iliyoandikwa "11"

Hii itatumika baadaye kupiga eneo la buzzer katika nambari iliyoandikwa.

Msimbo wa buzzer:

ikiwa TempF> = y

disp ('mlango wa karibu' ni moto ')

cheza Toni (a, 'D11', 500, 1)

vingine ikiwa TempF <= x

disp ('karibu mlango ni baridi')

cheza Toni (a, 'D11', 250, 1)

mwisho

mwisho

Hatua ya 3: Detector Optical / Phototransistor

Detector ya macho / Phototransistor
Detector ya macho / Phototransistor

· Sensorer hii inahitaji rejista tofauti na zingine

· Hakikisha prongs zote nne za sensorer zimejumuishwa kwenye kitanzi baada ya kuziba waya

· Sensorer hugundua mabadiliko ya nuru, inayowakilisha mwendo, na kuirekodi kama pembejeo

Msimbo wa Kigunduzi cha Macho / Phototransistor:

wazi a

a = arduino ('/ dev / tty.usbserial-DN01DVI2', 'Uno', 'Maktaba', 'Servo');

haraka = 'Weka kizingiti cha kiwango cha mwanga'

z = pembejeo (haraka)

MwangazaLevel = 0

wakati mwangaLevel ~ = -1

lightLevel = kusomaVoltage (a, 'A1')

ikiwa mwangaLevel> = z

jibu = questdlg ('ungependa kubadilisha AC?', 'Ndio', 'Hapana')

badilisha jibu

kesi 'Ndio'

answer2 = questdlg ('Geuza AC juu au chini?', 'response', 'Down', 'Up', 'Up')

badilisha jibu2

kesi 'Chini'

s = servo (a, 'D10');

kwa pembe = 0:.1:.5

nafasi ya kuandika (pembe, pembe);

nafasi ya sasa = kusomaPosition (s);

nafasi ya sasa = nafasi ya sasa * 180;

Kuchapisha nafasi ya sasa ya servo motor

fprintf ('Nafasi ya sasa ni% d / n', nafasi ya sasa);

Ucheleweshaji mdogo unahitajika ili servo iweze kuwekwa kwenye

% angle aliiambia.

pause (2);

mwisho

% kurudisha motor kwenye msimamo wa pembe 0

nafasi ya kuandika (s, 0);

wazi s

prompt = 'Bonyeza kitufe chochote ili uendelee'

questdlg ('AC imekataliwa', 'majibu', 'Ok', 'Ok')

kesi 'Juu'

s = servo (a, 'D10');

kwa pembe =.5:.1: 1

nafasi ya kuandika (pembe, pembe);

nafasi ya sasa = kusomaPosition (s);

nafasi ya sasa = nafasi ya sasa * 180;

Kuchapisha nafasi ya sasa ya servo motor

fprintf ('Nafasi ya sasa ni% d / n', nafasi ya sasa);

Ucheleweshaji mdogo unahitajika ili servo iweze kuwekwa kwenye

% angle aliiambia.

pause (2);

mwisho

Hatua ya 4: Servo

Servo
Servo

· Servo inawakilisha

kiyoyozi, na ni pato la pembejeo ya kugundua mwendo

· Inahitaji waya mzuri, waya wa ardhini, na waya kutoka bandari "D9" hadi servo

Msimbo wa servo:

% kurudisha motor kwenye msimamo wa pembe 0

nafasi ya kuandika (s, 0);

wazi s

prompt = 'Bonyeza kitufe chochote ili uendelee'

questdlg ('AC imejitokeza', 'majibu', 'Ok', 'Ok')

mwisho

mwisho

sitisha

kuvunja

mwisho

mwisho

* Ujumbe maalum: baadhi ya nambari ya servo imejumuishwa na nambari ya upelelezi wa macho / phototransistor.

Ilipendekeza: