
Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02

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

· 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

· 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

· 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 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:
Cube Sat Instruktaż: 7 kroków

Cube Sat Instructable: Caden Howard
TAD 130 Instruktaż: 20 kroków

TAD 130 Instruktaż: Przegląd
Instruktaż w komorze sałaty kosmicznej - robotyka w liceum lotniczym: 8 kroków

Space Lettuce Chamber Instructable - Airline High School Robotics: Jest to instrukcja stworzona przez trzech uczniów szkół średnich zapisanych na zajęcia z robotyki. Stworzymy komorę do uprawy sałaty w kosmosie na konkurs Growing Beyond Earth organizowany przez NASA. Pokażemy Ci, jak stworzyć kontener. Chodźmy
Instruktaż ECI: 4 kroki

ECI Instructable: Elektro Chemical Industry, stacja ECI w Roermond, ma bogatą historię. Stacja została wybudowana w 1920 roku. Od 1926 stacja należy do ECI. Tuż przed końcem II wojny światowej stacja została zbombardowana, a duża część miasta straciła swoje
Pokaz światła laserowego z diamentowym pierścionkiem - SKYlasers Instruktaż: 3 kroki

Laserowy pokaz świetlny z diamentowym pierścieniem - SKYlasers Instructable: Jest to bardzo prosta instrukcja tworzenia własnego pokazu światła laserowego! Oczywiście nie mówimy o żadnym zwykłym pokazie świetlnym. Jesteśmy tutaj, aby pochwalić się pokazem światła laserowego odbitego od pierścionka z brylantem. Czy zastanawiałeś się kiedyś, dlaczego diament jest