Obsah:

EF 230: Home System 3000 Instructable: 4 kroky
EF 230: Home System 3000 Instructable: 4 kroky

Video: EF 230: Home System 3000 Instructable: 4 kroky

Video: EF 230: Home System 3000 Instructable: 4 kroky
Video: 220 В переменного тока от 12 В 90 А Автомобильный генератор переменного тока 1000 Вт DIY 2024, Červenec
Anonim
EF 230: Home System 3000 Instructable
EF 230: Home System 3000 Instructable

Home System 3000 je zařízení, které používá Arduino, teplotní senzor, piezoelektrický bzučák, optický detektor/fototranzistor a servo k zobrazení způsobů, jak zlepšit energetickou účinnost domácnosti.

Krok 1: Snímač teploty

Senzor teploty
Senzor teploty

· Spusťte napájecí a uzemňovací vodiče z

mikrokontroléru na straně desky chleba

· Umístěte teplotní senzor do desky chleba a podle toho spusťte odpovídající napájecí a uzemňovací vodiče

· Všimněte si, že teplotní senzor má tři hroty a střední hrot má vodič, který vede z portu „A0“.

· Kód pro teplotní čidlo:

answer = questdlg ('Spusťte arduino a startovací kód servo', 'odpověď', 'Ok', 'Ok')

prompt = 'Začněte stisknutím libovolné klávesy'

pauza

prompt1 = 'Nastavit minimální teplotu'

x = vstup (výzva1)

prompt2 = 'Nastavit maximální teplotu'

y = vstup (výzva2)

prompt3 = 'Začněte stisknutím libovolné klávesy'

pauza

postava

h = animovaná linka;

sekera = gca;

ax. YGrid = 'zapnuto';

ax. YLim = [65 85];

stop = false;

startTime = datetime ('now');

zatímco ~ zastavit

% Přečtěte aktuální hodnotu napětí

v = readVoltage (a, 'A0');

% Vypočítejte teplotu z napětí (na základě datového listu)

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

TempF = 9/5*TempC + 32;

% Získejte aktuální čas

t = datetime ('now') - startTime;

% Přidejte body do animace

body přidání (h, datenum (t), TempF)

% Aktualizovat osy

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

datetick ('x', 'keeplimits')

táhnout

% Zkontrolujte stav zastavení

stop = readDigitalPin (a, 'D12');

Krok 2: Bzučák

Bzučák
Bzučák

· Vodič v bzučáku, který bude použit k signalizaci extrémně vysokých nebo extrémně nízkých teplot

· Z kladného sloupku na kladnou stranu bzučáku nevede žádný vodič

· Místo toho je vodič veden z kladné strany bzučáku do portu označeného „11“

To bude použito později k volání polohy bzučáku v napsaném kódu.

· Kód pro bzučák:

pokud TempF> = y

disp ('zavřít dveře, je to horké')

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

elseif TempF <= x

disp („zavři dveře, je zima“)

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

konec

konec

Krok 3: Optický detektor/fototranzistor

Optický detektor/fototranzistor
Optický detektor/fototranzistor

· Tento senzor vyžaduje na rozdíl od ostatních odpory

· Po zapojení vodičů zkontrolujte, zda jsou ve smyčce zahrnuty všechny čtyři hroty senzoru

· Senzor detekuje změnu světla, představující pohyb, a zaznamenává jej jako vstup

· Kód pro optický detektor/fototranzistor:

jasné a

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

prompt = 'Nastavit práh úrovně osvětlení'

z = vstup (výzva)

lightLevel = 0

zatímco lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

if lightLevel> = z

answer = questdlg ('Chtěli byste změnit AC?', 'Ano', 'Ne')

přepnout odpověď

případ 'Ano'

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

přepnout odpověď 2

případ 'Down'

s = servo (a, 'D10');

pro úhel = 0:.1:.5

writePosition (s, úhel);

current_position = readPosition (s);

aktuální_pozice = aktuální_pozice * 180;

% aktuální poloha tisku servomotoru

fprintf ('Aktuální pozice je %d / n', aktuální_pozice);

Je vyžadováno % malé zpoždění, aby bylo možné servo umístit na

% úhlu k tomu řečeno.

pauza (2);

konec

% vrátit motor do polohy 0 úhlu

writePosition (s, 0);

jasné s

prompt = 'Pokračujte stisknutím libovolné klávesy'

questdlg ('AC odmítnuto', 'odpověď', 'Ok', 'Ok')

případ 'Up'

s = servo (a, 'D10');

pro úhel =.5:.1: 1

writePosition (s, úhel);

current_position = readPosition (s);

aktuální_pozice = aktuální_pozice * 180;

% aktuální poloha tisku servomotoru

fprintf ('Aktuální pozice je %d / n', aktuální_pozice);

Je vyžadováno % malé zpoždění, aby bylo možné servo umístit na

% úhlu k tomu řečeno.

pauza (2);

konec

Krok 4: Servo

Servo
Servo

· Servo představuje

klimatizace a je výstupem vstupu pro detekci pohybu

· Vyžaduje kladný vodič, zemnící vodič a vodič z portu „D9“do serva

· Kód pro servo:

% vrátit motor do polohy 0 úhlu

writePosition (s, 0);

jasné s

prompt = 'Pokračujte stisknutím libovolné klávesy'

questdlg ('AC zapnuto', 'odpověď', 'Ok', 'Ok')

konec

konec

pauza

přestávka

konec

konec

*Zvláštní poznámka: část kódu pro servo je integrována s kódem pro optický detektor/fototranzistor.

Doporučuje: