Sadržaj:

EF 230: Kućni sustav 3000 Instrukcije: 4 koraka
EF 230: Kućni sustav 3000 Instrukcije: 4 koraka

Video: EF 230: Kućni sustav 3000 Instrukcije: 4 koraka

Video: EF 230: Kućni sustav 3000 Instrukcije: 4 koraka
Video: WhiteOut Survival State Transfer Event Live Thoughts 2024, Studeni
Anonim
EF 230: Kućni sustav 3000 s uputama
EF 230: Kućni sustav 3000 s uputama

Home System 3000 je uređaj koji koristi Arduino, temperaturni senzor, piezo zujalicu, optički detektor/fototranzistor i servo za prikaz načina za poboljšanje energetske učinkovitosti kuće.

Korak 1: Senzor temperature

Senzor temperature
Senzor temperature

· Provedite žice za napajanje i uzemljenje od

mikro upravljač sa strane ploče za kruh

· Stavite osjetnik temperature na ploču za kruh i provucite odgovarajuće žice napajanja i uzemljenja u skladu s tim

· Uočite da temperaturni osjetnik ima tri zupca, a srednji zub ima žicu koja vodi od priključka "A0".

· Kod senzora temperature:

answer = questdlg ('Molimo pokrenite arduino i servo početni kôd', 'odgovor', 'U redu', 'U redu')

prompt = 'Pritisnite bilo koju tipku za početak'

pauza

prompt1 = 'Postavi minimalnu temperaturu'

x = ulaz (prompt1)

prompt2 = 'Postavi maksimalnu temperaturu'

y = ulaz (prompt2)

prompt3 = 'pritisnite bilo koju tipku za početak'

pauza

lik

h = animirana linija;

sjekira = gca;

ax. YGrid = 'uključeno';

sjekira. YLim = [65 85];

stop = lažno;

startTime = datetime ('sad');

while ~ stop

% Očitavanje trenutne vrijednosti napona

v = readVoltage (a, 'A0');

% Izračunajte temperaturu iz napona (na temelju podatkovnog lista)

TempC = (v - 0,5)*100;

TempF = 9/5*TempC + 32;

% Dobijte trenutno vrijeme

t = datetime ('now') - startTime;

% Dodajte bodove animaciji

dodane točke (h, datumnum (t), TempF)

% Ažuriranje osi

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

datetick ('x', 'keeplimits')

izvlačenje

% Provjerite stanje zaustavljanja

stop = readDigitalPin (a, 'D12');

Korak 2: Zvučni signal

Zvučni signal
Zvučni signal

· Žica u zujalici koja će se koristiti za signaliziranje ekstremno visokih ili ekstremno niskih temperatura

· Ne vodi se žica od pozitivnog stupca do pozitivne strane zujalice

· Umjesto toga, žica se vodi s pozitivne strane zujalice do priključka s oznakom "11"

To će se kasnije koristiti za pozivanje mjesta zujalice u pisanom kodu.

· Kôd za zujalicu:

ako je TempF> = y

disp ('zatvori vrata vruće je')

playTone (a, 'D11', 500, 1)

inače TempF <= x

disp ('zatvori vrata hladno je')

playTone (a, 'D11', 250, 1)

kraj

kraj

Korak 3: Optički detektor/fototranzistor

Optički detektor/fototranzistor
Optički detektor/fototranzistor

· Ovaj senzor zahtijeva otpornike za razliku od ostalih

· Provjerite jesu li sva četiri zupca senzora uključena u petlju nakon uključivanja žica

· Senzor detektira promjenu svjetlosti koja predstavlja kretanje i bilježi je kao ulaz

· Kôd za optički detektor/fototranzistor:

očistiti a

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

prompt = 'Postavi prag razine svjetlosti'

z = ulaz (upit)

svjetlosna razina = 0

dok je LightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

ako je LightLevel> = z

answer = questdlg ('želite promijeniti AC?', 'Da', 'Ne')

prebaci odgovor

slučaj 'Da'

answer2 = questdlg ('Uključivanje AC -a gore ili dolje?', 'odgovor', 'Dolje', 'Gore', 'Gore')

prebaci odgovor2

slučaj 'Dolje'

s = servo (a, 'D10');

za kut = 0:.1:.5

writePosition (s, angle);

trenutna_polozba = readPosition (s);

trenutni položaj = trenutni položaj * 180;

% ispis trenutnog položaja servo motora

fprintf ('Trenutna pozicija je %d / n', trenutna_pozicija);

% potrebno je malo kašnjenje tako da se servo može postaviti na

% kuta koji mu je rečeno.

stanka (2);

kraj

% motor vratiti u položaj 0 kuta

writePosition (s, 0);

jasno s

prompt = 'Pritisnite bilo koju tipku za nastavak'

questdlg ('AC isključen', 'odgovor', 'U redu', 'U redu')

slučaj "Gore"

s = servo (a, 'D10');

za kut =.5:.1: 1

writePosition (s, angle);

trenutni_položaj = readPosition (s);

trenutni položaj = trenutni položaj * 180;

% ispis trenutnog položaja servo motora

fprintf ('Trenutna pozicija je %d / n', trenutna_pozicija);

% potrebno je malo kašnjenje tako da se servo može postaviti na

% ugla koji mu je izrečen.

stanka (2);

kraj

Korak 4: Servo

Servo
Servo

· Servo predstavlja

klima uređaj i izlaz je iz ulaza za detekciju pokreta

· Potrebna je pozitivna žica, žica za uzemljenje i žica od priključka "D9" do serva

· Kôd za servo:

% motor vratiti u položaj 0 kuta

writePosition (s, 0);

jasno s

prompt = 'Pritisnite bilo koju tipku za nastavak'

questdlg ('AC gore', 'response', 'Ok', 'Ok')

kraj

kraj

pauza

pauza

kraj

kraj

*Posebna napomena: neki od kodova za servo integrirani su sa kodom za optički detektor/fototranzistor.

Preporučeni: