Isi kandungan:

EF 230: Sistem Rumah 3000 Diajar: 4 Langkah
EF 230: Sistem Rumah 3000 Diajar: 4 Langkah

Video: EF 230: Sistem Rumah 3000 Diajar: 4 Langkah

Video: EF 230: Sistem Rumah 3000 Diajar: 4 Langkah
Video: Cara Menentukan Ampere MCB Instalasi Rumah 2024, November
Anonim
EF 230: Sistem Rumah 3000 Boleh Diajar
EF 230: Sistem Rumah 3000 Boleh Diajar

Home System 3000 adalah peranti yang menggunakan Arduino, sensor suhu, buzzer piezo, pengesan optik / fototransistor, dan servo untuk menunjukkan cara untuk meningkatkan kecekapan tenaga di rumah.

Langkah 1: Sensor Suhu

Pengesan suhu
Pengesan suhu

· Jalankan wayar kuasa dan wayar dari

pengawal mikro ke sisi papan roti

· Letakkan sensor suhu ke papan roti, dan jalankan kabel daya dan kabel tanah yang sesuai

· Perhatikan bahawa sensor suhu mempunyai tiga cengkeraman, dan prong tengah mempunyai kawat yang mengalir dari port "A0".

· Kod untuk sensor suhu:

answer = questdlg ('Sila jalankan kod permulaan arduino dan servo', 'respons', 'Ok', 'Ok')

prompt = 'Tekan sebarang kekunci untuk memulakan'

berhenti seketika

prompt1 = 'Tetapkan suhu minimum'

x = input (prompt1)

prompt2 = 'Tetapkan suhu maksimum'

y = input (prompt2)

prompt3 = 'tekan sebarang kekunci untuk memulakan'

berhenti seketika

angka

h = garis animasi;

kapak = gca;

ax. YGrid = 'on';

ax. YLim = [65 85];

berhenti = palsu;

startTime = datetime ('sekarang');

sementara ~ berhenti

% Baca nilai voltan semasa

v = readVoltage (a, 'A0');

% Hitung suhu dari voltan (berdasarkan lembaran data)

TempC = (v - 0.5) * 100;

TempF = 9/5 * TempC + 32;

% Dapatkan masa semasa

t = datetime ('sekarang') - startTime;

% Menambah mata ke animasi

titik tambah (h, datenum (t), TempF)

Kemas kini paksi

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

datetick ('x', 'keeplimits')

penarikan

Periksa keadaan berhenti

berhenti = readDigitalPin (a, 'D12');

Langkah 2: Buzzer

Buzzer
Buzzer

· Kawat di bel yang akan digunakan untuk menandakan bacaan suhu rendah yang tinggi atau melampau

· Tiada wayar dijalankan dari lajur positif ke sisi positif buzzer

· Sebaliknya wayar dijalankan dari sisi positif bel ke port berlabel "11"

Ini akan digunakan kemudian untuk memanggil lokasi buzzer dalam kod bertulis.

· Kod untuk buzzer:

jika TempF> = y

disp ('tutup pintu itu panas')

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

lain jika TempF <= x

disp ('tutup pintu itu sejuk')

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

akhir

akhir

Langkah 3: Pengesan Optik / Phototransistor

Pengesan Optik / Phototransistor
Pengesan Optik / Phototransistor

· Sensor ini memerlukan pencetak tidak seperti yang lain

· Pastikan keempat-empat prong sensor dimasukkan ke dalam gelung setelah memasang wayar

· Sensor mengesan perubahan cahaya, mewakili gerakan, dan merekamnya sebagai input

· Kod untuk Pengesan Optik / Phototransistor:

jelas a

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

prompt = 'Tetapkan ambang tahap cahaya'

z = input (prompt)

lightLevel = 0

sambil lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

jika lightLevel> = z

answer = questdlg ('ingin menukar AC?', 'Ya', 'Tidak')

tukar jawapan

kes 'Ya'

answer2 = questdlg ('Hidupkan AC ke atas atau ke bawah?', 'respons', 'Bawah', 'Naik', 'Naik')

tukar jawapan2

kes 'Down'

s = servo (a, 'D10');

untuk sudut = 0:.1:.5

writePosition (s, angle);

current_position = readPosition (s);

current_position = current_position * 180;

% mencetak kedudukan semasa motor servo

fprintf ('Kedudukan semasa adalah% d / n', kedudukan_ semasa);

% kelewatan kecil diperlukan supaya servo dapat diletakkan di

% sudut diberitahu kepadanya.

berhenti seketika (2);

akhir

% mengembalikan motor ke kedudukan 0 sudut

writePosition (s, 0);

jelas s

prompt = 'Tekan sebarang kekunci untuk meneruskan'

questdlg ('AC ditolak', 'respons', 'Ok', 'Ok')

kes 'Naik'

s = servo (a, 'D10');

untuk sudut =.5:.1: 1

writePosition (s, angle);

current_position = readPosition (s);

current_position = current_position * 180;

% mencetak kedudukan semasa motor servo

fprintf ('Kedudukan semasa adalah% d / n', kedudukan_ semasa);

% kelewatan kecil diperlukan supaya servo dapat diposisikan di

% sudut diberitahu kepadanya.

berhenti seketika (2);

akhir

Langkah 4: Servo

Servo
Servo

· Servo mewakili

penghawa dingin, dan merupakan output dari input pengesanan gerakan

· Ia memerlukan wayar positif, kawat tanah, dan kawat dari port "D9" ke servo

· Kod untuk servo:

% mengembalikan motor ke kedudukan sudut 0

writePosition (s, 0);

jelas s

prompt = 'Tekan sebarang kekunci untuk meneruskan'

questdlg ('AC muncul', 'respons', 'Ok', 'Ok')

akhir

akhir

berhenti seketika

rehat

akhir

akhir

* Catatan khas: beberapa kod untuk servo disatukan dengan kod untuk pengesan optik / fototransistor.

Disyorkan: