Kazalo:

EF 230: Domači sistem 3000 Navodila: 4 koraki
EF 230: Domači sistem 3000 Navodila: 4 koraki

Video: EF 230: Domači sistem 3000 Navodila: 4 koraki

Video: EF 230: Domači sistem 3000 Navodila: 4 koraki
Video: Процесс построения жизни | Монтаж системы освещения с помощью гидротурбины|| ЭП.05 2024, Julij
Anonim
EF 230: Domači sistem 3000, ki ga je mogoče naročiti
EF 230: Domači sistem 3000, ki ga je mogoče naročiti

Home System 3000 je naprava, ki uporablja Arduino, temperaturni senzor, piezo zvočni signal, optični detektor/fototranzistor in servo za prikaz načinov za izboljšanje energetske učinkovitosti doma.

Korak: Temperaturni senzor

Temperaturni senzor
Temperaturni senzor

· Napajalne in ozemljitvene žice napeljite od

mikro krmilnik na strani plošče za kruh

· Temperaturno tipalo postavite v ploščo za kruh in ustrezno napeljite ustrezne napajalne in ozemljitvene žice

· Upoštevajte, da ima temperaturni senzor tri robove, srednji pa žico, ki vodi od vrat "A0".

· Koda za temperaturni senzor:

answer = questdlg ('Zaženite arduino in servo zagonsko kodo', 'response', 'Ok', 'Ok')

prompt = 'Za začetek pritisnite katero koli tipko'

pavza

prompt1 = 'Nastavi minimalno temperaturo'

x = vnos (poziv1)

prompt2 = 'Nastavi najvišjo temperaturo'

y = vnos (poziv2)

prompt3 = 'za začetek pritisnite katero koli tipko'

pavza

slika

h = animirana linija;

sekira = gca;

ax. YGrid = 'vklopljeno';

sekira. YLim = [65 85];

stop = napačno;

startTime = datetime ('zdaj');

medtem ko ~ stop

% Preberite vrednost trenutne napetosti

v = readVoltage (a, 'A0');

% Izračunajte temperaturo iz napetosti (na podlagi podatkovnega lista)

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

TempF = 9/5*TempC + 32;

% Pridobite trenutni čas

t = datetime ('now') - startTime;

% Animaciji dodajte točke

dodane točke (h, datumska številka (t), TempF)

% Posodobi osi

ax. XLim = datumska številka ([t-sekunde (15) t]);

datetick ('x', 'keeplimits')

drawnow

% Preverite stanje zaustavitve

stop = readDigitalPin (a, 'D12');

2. korak: Zvočni signal

Zvočni signal
Zvočni signal

· Žica v zvočniku, ki bo uporabljena za signaliziranje ekstremno visokih ali ekstremno nizkih temperaturnih odčitkov

· Nobena žica ne vodi od pozitivnega stolpca do pozitivne strani zvočnika

· Namesto tega je žica speljana s pozitivne strani zvočnika do vrat z oznako "11"

To bo kasneje uporabljeno za klicanje lokacije brenčalca v pisni kodi.

· Koda za zvočni signal:

če je TempF> = y

disp ('zaprite vrata, vroče je')

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

drugače če je TempF <= x

disp ('zaprite vrata, hladno je')

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

konec

konec

3. korak: Optični detektor/fototranzistor

Optični detektor/fototranzistor
Optični detektor/fototranzistor

· Ta senzor za razliko od drugih zahteva upore

· Prepričajte se, da so po priključitvi žic v zanko vključeni vsi štirje ročki senzorja

· Senzor zazna spremembo svetlobe, ki predstavlja gibanje, in jo zabeleži kot vhod

· Koda za optični detektor/fototranzistor:

počistite a

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

prompt = 'Nastavi prag ravni svetlobe'

z = vnos (poziv)

lightLevel = 0

medtem ko je lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

če je lightLevel> = z

answer = questdlg ('bi rad spremenil AC?', 'Da', 'Ne')

preklopi odgovor

primer 'da'

answer2 = questdlg ('Vklopi AC gor ali dol?', 'response', 'Down', 'Up', 'Up')

preklopi odgovor 2

etui "navzdol"

s = servo (a, 'D10');

za kot = 0:.1:.5

writePosition (s, kot);

current_position = readPosition (s);

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

% trenutni položaj tiskanja servo motorja

fprintf ('Trenutni položaj je %d / n', trenutna_pozicija);

% je potrebna majhna zamuda, da se lahko servo postavi na

% kota.

premor (2);

konec

% motor vrnite v 0 kotni položaj

writePosition (s, 0);

jasno s

prompt = 'Za nadaljevanje pritisnite katero koli tipko'

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

primer 'gor'

s = servo (a, 'D10');

za kot =.5:.1: 1

writePosition (s, kot);

current_position = readPosition (s);

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

% tiskanja trenutnega položaja servo motorja

fprintf ('Trenutni položaj je %d / n', trenutna_pozicija);

% je potrebna majhna zamuda, da se lahko servo postavi na

% kota.

premor (2);

konec

4. korak: Servo

Servo
Servo

· Servo predstavlja

klimatsko napravo in je izhod vhoda za zaznavanje gibanja

· Potrebuje pozitivno žico, ozemljitveno žico in žico od vrat "D9" do servomotorja

· Koda za servo:

% motor vrnite v 0 kotni položaj

writePosition (s, 0);

jasno s

prompt = 'Za nadaljevanje pritisnite katero koli tipko'

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

konec

konec

pavza

prekiniti

konec

konec

*Posebna opomba: nekatere kode za servo so integrirane s kodo za optični detektor/fototranzistor.

Priporočena: