Obsah:

EF 230: Home System 3000, návod: 4 kroky
EF 230: Home System 3000, návod: 4 kroky

Video: EF 230: Home System 3000, návod: 4 kroky

Video: EF 230: Home System 3000, návod: 4 kroky
Video: Easy-Plan EP-uni The smart handscreeding system 2024, Júl
Anonim
EF 230: Home System 3000, návod
EF 230: Home System 3000, návod

Home System 3000 je zariadenie, ktoré používa Arduino, teplotný senzor, piezoelektrický bzučiak, optický detektor/fototranzistor a servo na zobrazenie spôsobov, ako zlepšiť energetickú účinnosť domácnosti.

Krok 1: Snímač teploty

Teplotný senzor
Teplotný senzor

· Spustite napájacie a uzemňovacie vodiče z

mikroovládača na boku dosky na chlieb

· Umiestnite teplotný senzor do dosky na chlieb a zapojte zodpovedajúce napájacie a uzemňovacie vodiče

· Všimnite si, že snímač teploty má tri hroty a stredný hrot má vodič, ktorý vedie z portu „A0“.

· Kód pre snímač teploty:

answer = questdlg ('Spustite arduino a štartovací kód serva', 'odpoveď', 'Ok', 'Ok')

prompt = 'Začnite stlačením ľubovoľného klávesu'

pauza

prompt1 = 'Nastaviť minimálnu teplotu'

x = vstup (výzva1)

prompt2 = 'Nastaviť maximálnu teplotu'

y = vstup (výzva2)

prompt3 = 'Začnite stlačením ľubovoľného klávesu'

pauza

obrázok

h = animovaná čiara;

sekera = gca;

ax. YGrid = 'zapnuté';

ax. YLim = [65 85];

stop = nepravda;

startTime = datetime ('teraz');

zatiaľ čo ~ zastaviť

% Prečítajte si hodnotu aktuálneho napätia

v = readVoltage (a, 'A0');

% Vypočítajte teplotu z napätia (na základe technického listu)

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

TempF = 9/5*TempC + 32;

% Získajte aktuálny čas

t = datetime ('teraz') - startTime;

% Pridajte body do animácie

body pridania (h, dátum (t), TempF)

% Aktualizovať osi

ax. XLim = dátum ([t-sekúnd (15) t]);

datetick ('x', 'keeplimits')

sťahovať

% Skontrolujte stav zastavenia

stop = čítaťDigitalPin (a, 'D12');

Krok 2: Bzučiak

Bzučiak
Bzučiak

· Drôt v bzučiaku, ktorý bude použitý na signalizáciu extrémne vysokých alebo extrémne nízkych teplôt

· Z kladného stĺpca na kladnú stranu bzučiaka neprechádza žiadny drôt

· Namiesto toho je drôt vedený z kladnej strany bzučiaka do portu označeného „11“

Toto sa neskôr použije na vyvolanie polohy bzučiaka v napísanom kóde.

· Kód pre bzučiak:

ak TempF> = r

disp („zatvorte dvere, je horúce“)

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

elseif TempF <= x

disp („zavri dvere, je zima“)

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

koniec

koniec

Krok 3: Optický detektor/fototranzistor

Optický detektor/fototranzistor
Optický detektor/fototranzistor

· Tento senzor vyžaduje na rozdiel od ostatných odpory

· Po zapojení káblov skontrolujte, či sú v slučke zahrnuté všetky štyri hroty senzora

· Senzor detekuje zmenu svetla, predstavujúcu pohyb, a zaznamenáva ho ako vstup

· Kód pre optický detektor/fototranzistor:

jasné a

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

prompt = 'Nastaviť prah úrovne svetla'

z = vstup (výzva)

lightLevel = 0

zatiaľ čo lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

ak lightLevel> = z

answer = questdlg ('chceli by ste zmeniť AC?', 'áno', 'nie')

prepnúť odpoveď

prípad „áno“

answer2 = questdlg ('Turn AC up or down?', 'response', 'Down', 'Up', 'Up')

prepnúť odpoveď2

prípad „dole“

s = servo (a, 'D10');

pre uhol = 0:.1:.5

writePosition (s, uhol);

current_position = readPosition (s);

aktuálna_pozícia = aktuálna_pozícia * 180;

% tlač aktuálnej polohy servomotora

fprintf ('Aktuálna pozícia je %d / n', aktuálna_pozícia);

Je potrebné % malé oneskorenie, aby bolo možné servo umiestniť na

% uhol na to povedané.

pauza (2);

koniec

% vrátiť motor do polohy 0 uhla

writePosition (s, 0);

jasné s

prompt = 'Pokračujte stlačením ľubovoľného klávesu'

questdlg ('AC odmietnuté', 'odpoveď', 'Ok', 'Ok')

prípad „hore“

s = servo (a, 'D10');

pre uhol =.5:.1: 1

writePosition (s, uhol);

current_position = readPosition (s);

current_position = aktuálna_pozícia * 180;

% tlač aktuálnej polohy servomotora

fprintf ('Aktuálna pozícia je %d / n', aktuálna_pozícia);

Je potrebné % malé oneskorenie, aby bolo možné servo umiestniť na

% uhol na to povedané.

pauza (2);

koniec

Krok 4: Servo

Servo
Servo

· Servo predstavuje

klimatizácia a je výstupom zo vstupu na detekciu pohybu

· Vyžaduje kladný vodič, uzemňovací vodič a vodič z portu „D9“do serva

· Kód pre servo:

% vrátiť motor do polohy 0 uhla

writePosition (s, 0);

jasné s

prompt = 'Pokračujte stlačením ľubovoľného klávesu'

questdlg ('AC zapnuté', 'odpoveď', 'Ok', 'Ok')

koniec

koniec

pauza

prestávka

koniec

koniec

*Zvláštna poznámka: časť kódu pre servo je integrovaná s kódom pre optický detektor/fototranzistor.

Odporúča: