Mündəricat:

EF 230: Ev Sistemi 3000 Təlimat: 4 Addım
EF 230: Ev Sistemi 3000 Təlimat: 4 Addım

Video: EF 230: Ev Sistemi 3000 Təlimat: 4 Addım

Video: EF 230: Ev Sistemi 3000 Təlimat: 4 Addım
Video: 12v 90 Amperdən 220v AC Avtomobil Alternatoru 1000W DIY 2024, Iyul
Anonim
EF 230: Ev Sistemi 3000 Təlimatlıdır
EF 230: Ev Sistemi 3000 Təlimatlıdır

Home System 3000, Arduino, bir temperatur sensoru, bir piezo səs siqnalı, bir optik detektor/fototransistor və bir evin enerji səmərəliliyinin artırılması yollarını göstərmək üçün istifadə edən bir cihazdır.

Addım 1: Temperatur Sensoru

Temperatur Sensoru
Temperatur Sensoru

· Gücünüzü və torpaq tellərinizi işə salın

çörək taxtasının yan tərəfindəki mikro nəzarətçi

· İstilik sensörünü çörək taxtasına yerləşdirin və müvafiq olaraq elektrik və torpaq tellərini çəkin

· Diqqət yetirin ki, temperatur sensorunun üç ucu var, orta ucunda isə "A0" limanından keçən tel var.

· İstilik sensoru kodu:

answer = questdlg ('Arduino və servo başlanğıc kodunu işlədin', 'cavab', 'Ok', 'Ok')

prompt = 'Başlamaq üçün hər hansı bir düyməni basın'

fasilə

prompt1 = 'Minimum temperaturu təyin et'

x = giriş (istək1)

prompt2 = 'Maksimum temperaturu təyin et'

y = giriş (istək2)

prompt3 = 'Başlamaq üçün hər hansı bir düyməni basın'

fasilə

rəqəm

h = cizgi xətti;

ax = gca;

ax. YGrid = 'açıq';

ax. YLim = [65 85];

stop = yalan;

startTime = datetime ('indi');

while ~ stop

% Cari gərginlik dəyərini oxuyun

v = readVoltage (a, 'A0');

% İstiliyi gərginlikdən hesablayın (məlumat vərəqinə əsasən)

TempC = (v - 0.5)*100;

TempF = 9/5*TempC + 32;

Cari vaxt alın

t = datetime ('indi') - startTime;

Animasiyaya bal əlavə edin

əlavə nöqtələr (h, datenum (t), TempF)

Oxları yeniləyin

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

məlumat seçimi ('x', 'keeplimits')

çəkilmiş

Stop vəziyyətini yoxlayın

stop = readDigitalPin (a, 'D12');

Addım 2: Buzzer

Buzzer
Buzzer

· Həddindən artıq yüksək və ya həddindən artıq aşağı temperaturun oxunması üçün istifadə ediləcək səs siqnalı

Pozitiv sütundan siqnalın müsbət tərəfinə heç bir tel çəkilmir

· Bunun əvəzinə siqnalın müsbət tərəfindən "11" etiketli bir limana bir tel çəkilir.

Bu, yazılı kodda səs siqnalının yerini çağırmaq üçün daha sonra istifadə ediləcək.

· Zəng kodu:

TempF> = y olarsa

disp ('yaxın qapı isti')

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

başqa TempF <= x

disp ('qapını bağla soyuq')

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

bitmək

bitmək

Addım 3: Optik Detektor/Fototransistor

Optik Detektor/Fototransistor
Optik Detektor/Fototransistor

· Bu sensor digərlərindən fərqli olaraq müqavimətçilər tələb edir

· Telləri bağladıqdan sonra sensorun bütün dörd ucunun döngəyə daxil olduğundan əmin olun

· Sensor, hərəkəti əks etdirən işıqda bir dəyişiklik algılar və onu giriş olaraq qeyd edir

· Optik Detektor/Fototransistor Kodu:

aydın a

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

prompt = 'İşıq səviyyəsi eşikini təyin et'

z = giriş (istək)

işıq səviyyəsi = 0

yüngülLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

lightLevel> = z olarsa

answer = questdlg ('AC -ni dəyişmək istərdinizmi?', 'Bəli', 'Xeyr')

cavabı dəyişdirin

hal 'Bəli'

answer2 = questdlg ('AC -ni yuxarı və ya aşağı çevirin?', 'cavab', 'Aşağı', 'Yuxarı', 'Yuxarı')

cavabı dəyişdir 2

dava 'aşağı'

s = servo (a, 'D10');

bucaq üçün = 0:.1:.5

yazma mövqeyi (lər, bucaq);

current_position = readPosition (s);

current_position = current_position * 180;

% servo motorun cari vəziyyətini çap edin

fprintf ('Cari mövqe %d / n', current_position);

% gecikmə tələb olunur, belə ki servo mövqeyə yerləşdirilə bilər

% bucaq ona deyildi.

fasilə (2);

bitmək

% motoru 0 açılı vəziyyətə qaytarın

yazma mövqeyi (lər, 0);

aydın s

prompt = 'Davam etmək üçün hər hansı bir düyməyə basın'

questdlg ('AC geri çevrildi', 'cavab', 'Ok', 'Ok')

dava 'yuxarı'

s = servo (a, 'D10');

bucaq üçün =.5:.1: 1

yazma mövqeyi (lər, bucaq);

current_position = readPosition (s);

current_position = current_position * 180;

% servo motorun cari vəziyyətini çap edin

fprintf ('Cari mövqe %d / n', current_position);

% gecikmə tələb olunur, belə ki servo mövqeyində yerləşdirilə bilər

% bucaq ona deyildi.

fasilə (2);

bitmək

Addım 4: Servo

Servo
Servo

· Servo təmsil edir

bir kondisioner və hərəkət algılama girişinin çıxışıdır

· Müsbət bir tel, topraklama teli və "D9" limanından servoya qədər bir tel tələb olunur

· Servo kodu:

% motoru 0 açı vəziyyətinə qaytarın

yazma mövqeyi (lər, 0);

aydın s

prompt = 'Davam etmək üçün hər hansı bir düyməyə basın'

questdlg ('AC açıldı', 'cavab', 'Ok', 'Ok')

bitmək

bitmək

fasilə

fasilə

bitmək

bitmək

*Xüsusi qeyd: servo kodunun bir hissəsi optik detektor/fototransistor kodu ilə birləşdirilmişdir.

Tövsiyə: