Spisu treści:

EF 230: Home System 3000 Instruktaż: 4 kroki
EF 230: Home System 3000 Instruktaż: 4 kroki

Wideo: EF 230: Home System 3000 Instruktaż: 4 kroki

Wideo: EF 230: Home System 3000 Instruktaż: 4 kroki
Wideo: Fotowoltaika na Działkę. Gotowy Zestaw 1440pln. panel, sterownik Mppt, pelen sinus, akumulator agm 2024, Lipiec
Anonim
EF 230: Home System 3000 Instruktaż
EF 230: Home System 3000 Instruktaż

Home System 3000 to urządzenie, które wykorzystuje Arduino, czujnik temperatury, brzęczyk piezoelektryczny, detektor optyczny/fototranzystor i serwo do wyświetlania sposobów poprawy efektywności energetycznej domu.

Krok 1: czujnik temperatury

Czujnik temperatury
Czujnik temperatury

· Poprowadź przewody zasilające i uziemiające z

mikrokontroler z boku deski do krojenia chleba

· Umieść czujnik temperatury w płytce do krojenia chleba i odpowiednio poprowadź odpowiednie przewody zasilające i uziemiające

· Zauważ, że czujnik temperatury ma trzy bolce, a środkowy bolec ma przewód wychodzący z portu „A0”.

· Kod czujnika temperatury:

answer = questdlg('Proszę uruchomić kod startowy arduino i serwomechanizmu', 'odpowiedź', 'Ok', 'Ok')

monit = 'Naciśnij dowolny klawisz, aby rozpocząć'

pauza

prompt1 = 'Ustaw minimalną temperaturę'

x = wejście(podpowiedź1)

prompt2 = 'Ustaw maksymalną temperaturę'

y = wejście(podpowiedź2)

prompt3 = 'naciśnij dowolny klawisz, aby rozpocząć'

pauza

postać

h = animowana linia;

topór = gca;

topór. YGrid = 'włączony';

topór. YLim = [65 85];

stop = fałsz;

startTime = datetime('teraz');

podczas ~stop

% Odczyt aktualnej wartości napięcia

v = odczytaj napięcie(a, 'A0');

% Oblicz temperaturę z napięcia (na podstawie arkusza danych)

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

TempF = 9/5*TempC + 32;

% Uzyskaj aktualny czas

t = datetime('teraz') - startTime;

% Dodaj punkty do animacji

punkty dodania(h, datanum(t), TempF)

% Aktualizuj osie

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

datetick('x', 'przechowaj limity')

narysowany

% Sprawdź warunek zatrzymania

stop = odczytajPinCyfrowy(a, 'D12');

Krok 2: Brzęczyk

Brzęczyk
Brzęczyk

· Przewód w brzęczyku, który będzie używany do sygnalizowania ekstremalnie wysokiej lub ekstremalnie niskiej temperatury

· Żaden przewód nie jest prowadzony od dodatniej kolumny do dodatniej strony brzęczyka

· Zamiast tego przewód biegnie od dodatniej strony brzęczyka do portu oznaczonego „11”

Będzie to później używane do wywołania lokalizacji brzęczyka w napisanym kodzie.

· Kod dla brzęczyka:

jeśli TempF >= y

disp('zamknij drzwi, jest gorąco')

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

elseif TempF <= x

disp('zamknij drzwi, jest zimno')

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

kończyć się

kończyć się

Krok 3: Detektor optyczny/fototranzystor

Detektor optyczny/fototranzystor
Detektor optyczny/fototranzystor

· Ten czujnik wymaga rezystorów w przeciwieństwie do innych

· Upewnij się, że wszystkie cztery wtyki czujnika znajdują się w pętli po podłączeniu przewodów

· Czujnik wykrywa zmianę światła reprezentującą ruch i rejestruje ją jako dane wejściowe

· Kod dla detektora optycznego/fototranzystora:

jasne

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

monit = „Ustaw próg poziomu światła”

z = wejście (podpowiedź)

poziom światła = 0

podczas gdy poziom światła ~= -1

lightLevel = readVoltage (a, 'A1')

jeśli poziom światła >= z

answer = questdlg('chcesz zmienić AC?', 'Tak', 'Nie')

zmień odpowiedź

przypadek „Tak”

answer2 = questdlg('Włącz lub wyłącz klimatyzator?', 'odpowiedź', 'W dół', 'W górę', 'W górę')

zmień odpowiedź2

przypadek „Dół”

s = serwo(a, 'D10');

dla kąta = 0:.1:.5

pozycja(y, kąt);

bieżąca pozycja = odczytajPozycję(-e);

bieżąca pozycja = bieżąca pozycja * 180;

% wydrukuj aktualną pozycję serwomotoru

fprintf('Aktualna pozycja to %d\n', aktualna_pozycja);

% małe opóźnienie jest wymagane, aby serwo mogło być ustawione na

Podano mu % kąta.

pauza(2);

kończyć się

% przywrócić silnik do pozycji kątowej 0

pozycja(y, 0);

jasne s

monit = 'Naciśnij dowolny klawisz, aby kontynuować'

questdlg('Odrzucono AC', 'odpowiedź', 'Ok', 'Ok')

wielkość liter „W górę”

s = serwo(a, 'D10');

dla kąta = 0,5:.1:1

pozycja(e, kąt);

bieżąca pozycja = odczytajPozycję(-e);

bieżąca pozycja = bieżąca pozycja * 180;

% wydrukuj aktualną pozycję serwomotoru

fprintf('Aktualna pozycja to %d\n', aktualna_pozycja);

% małe opóźnienie jest wymagane, aby serwo mogło być ustawione na

Podano mu % kąta.

pauza(2);

kończyć się

Krok 4: Serwo

Serwo
Serwo

· Serwo reprezentuje

klimatyzator i jest wyjściem wejścia detekcji ruchu

· Wymaga przewodu dodatniego, przewodu uziemiającego i przewodu od portu „D9” do serwomechanizmu

· Kod dla serwa:

% przywrócić silnik do pozycji kątowej 0

pozycja(y, 0);

jasne s

monit = 'Naciśnij dowolny klawisz, aby kontynuować'

questdlg('Włączono AC', 'odpowiedź', 'Ok', 'Ok')

kończyć się

kończyć się

pauza

przerwa

kończyć się

kończyć się

*Uwaga szczególna: część kodu dla serwomechanizmu jest zintegrowana z kodem dla detektora optycznego/fototranzystora.

Zalecana: