Tartalomjegyzék:

EF 230: Home System 3000 Utasítható: 4 lépés
EF 230: Home System 3000 Utasítható: 4 lépés

Videó: EF 230: Home System 3000 Utasítható: 4 lépés

Videó: EF 230: Home System 3000 Utasítható: 4 lépés
Videó: Возможна ли свободная энергия? Мы тестируем этот двигатель бесконечной энергии. 2024, Július
Anonim
EF 230: 3000 otthoni rendszer
EF 230: 3000 otthoni rendszer

A Home System 3000 egy olyan eszköz, amely Arduino -t, hőmérséklet -érzékelőt, piezo -zümmögőt, optikai érzékelőt/fototranzisztorot és szervót használ az otthoni energiahatékonyság javításának módjainak megjelenítésére.

1. lépés: Hőmérséklet -érzékelő

Hőmérséklet szenzor
Hőmérséklet szenzor

· Futtassa a táp- és földvezetékeket

a mikrovezérlőt a kenyértábla oldalához

· Helyezze a hőmérséklet -érzékelőt a kenyértáblába, és ennek megfelelően futtassa a megfelelő táp- és földelővezetéket

· Vegye figyelembe, hogy a hőmérséklet -érzékelőnek három szára van, a középső pedig az „A0” portból.

· A hőmérséklet -érzékelő kódja:

answer = questdlg ('Futtassa az arduino és a szervo indítási kódját', 'response', 'Ok', 'Ok')

prompt = 'Nyomja meg bármelyik gombot a kezdéshez'

szünet

prompt1 = 'Állítsa be a minimális hőmérsékletet'

x = bemenet (prompt1)

prompt2 = 'Állítsa be a maximális hőmérsékletet'

y = bemenet (prompt2)

prompt3 = 'nyomja meg bármelyik gombot a kezdéshez'

szünet

ábra

h = animatedline;

ax = gca;

ax. YGrid = 'be';

ax. YLim = [65 85];

stop = hamis;

startTime = dátum / idő ('most');

míg ~ megáll

% Olvassa el az aktuális feszültségértéket

v = olvasási feszültség (a, 'A0');

% Hőmérséklet kiszámítása feszültségből (adatlap alapján)

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

TempF = 9/5*TempC + 32;

% Az aktuális idő lekérése

t = dátum / idő ('most') - startTime;

% Pontok hozzáadása az animációhoz

addpoints (h, datenum (t), TempF)

% Tengelyek frissítése

ax. XLim = dátum ([t-másodperc (15) t]);

datetick ('x', 'keeplimits')

vontatott

% Ellenőrizze a leállási állapotot

stop = readDigitalPin (a, 'D12');

2. lépés: Hangjelző

Berregő
Berregő

· Vegye be a zümmögőt a szélsőségesen magas vagy extrém alacsony hőmérséklet jelzésére

· A pozitív oszloptól a zümmögő pozitív oldaláig nem vezetnek vezetéket

· Ehelyett vezetéket vezetnek a zümmögő pozitív oldaláról a "11" feliratú porthoz

Ezt a későbbiekben hívják fel a zümmögő helyét az írott kódban.

· Zümmögő kódja:

ha TempF> = y

disp ('csukja be az ajtót, forró')

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

elseif TempF <= x

disp ('csukd be az ajtót, hideg van')

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

vége

vége

3. lépés: Optikai érzékelő/fototranzisztor

Optikai érzékelő/fototranzisztor
Optikai érzékelő/fototranzisztor

· Ez az érzékelő a többihez képest ellenállásokat igényel

· Győződjön meg arról, hogy a vezetékek csatlakoztatása után az érzékelő mind a négy szára benne van a hurokban

· Az érzékelő mozgást jelző fényváltozást észlel, és bemenetként rögzíti

· Optikai érzékelő/fototranzisztor kódja:

tiszta a

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

prompt = 'Fényszint küszöb beállítása'

z = bemenet (prompt)

lightLevel = 0

míg a lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

ha lightLevel> = z

answer = questdlg ('szeretné megváltoztatni az AC -t?', 'Igen', 'Nem')

váltás válasz

„igen” eset

answer2 = questdlg ('Kapcsolja fel vagy le az AC -t?', 'válasz', 'Le', 'Fel', 'Fel')

kapcsolóválasz2

tok „le”

s = szervo (a, 'D10');

szög esetén = 0:.1:.5

writePosition (s, szög);

current_position = readPosition (s);

aktuális_helyzet = aktuális_helyzet * 180;

A szervomotor aktuális pozíciójának % nyomtatása

fprintf ('Jelenlegi pozíció %d / n', aktuális_helyzet);

% kis késleltetés szükséges ahhoz, hogy a szervó a

% szög mondta meg.

szünet (2);

vége

% a motor visszaállítása 0 szögbe

writePosition (s, 0);

tiszta s

prompt = 'Nyomja meg bármelyik gombot a folytatáshoz'

questdlg ('AC elutasítva', 'válasz', 'Ok', 'Ok')

tok „fel”

s = szervo (a, 'D10');

szög esetén =.5:.1: 1

writePosition (s, szög);

current_position = readPosition (s);

aktuális_helyzet = aktuális_helyzet * 180;

A szervomotor aktuális pozíciójának % nyomtatása

fprintf ('Jelenlegi pozíció %d / n', aktuális_helyzet);

% kis késleltetés szükséges ahhoz, hogy a szervó a

% szög mondta meg.

szünet (2);

vége

4. lépés: Szervo

Szervo
Szervo

· A szervó képviseli

légkondicionáló, és a mozgásérzékelő bemenet kimenete

· Pozitív vezetéket, földelővezetéket és vezetéket igényel a „D9” porttól a szervóig

· Szervó kódja:

% állítsa vissza a motort 0 szögbe

writePosition (s, 0);

tiszta s

prompt = 'Nyomja meg bármelyik gombot a folytatáshoz'

questdlg ('AC bekapcsolva', 'válasz', 'Ok', 'Ok')

vége

vége

szünet

szünet

vége

vége

*Külön megjegyzés: a szervó kódjának egy része integrálva van az optikai érzékelő/fototranzisztor kódjához.

Ajánlott: