Daftar Isi:

EF 230: Sistem Rumah 3000 Dapat Diinstruksikan: 4 Langkah
EF 230: Sistem Rumah 3000 Dapat Diinstruksikan: 4 Langkah

Video: EF 230: Sistem Rumah 3000 Dapat Diinstruksikan: 4 Langkah

Video: EF 230: Sistem Rumah 3000 Dapat Diinstruksikan: 4 Langkah
Video: Тест инвертора 12 В 3000 Вт с максимальным током непрерывной разрядки батареи 200 Ач 2024, Juli
Anonim
EF 230: Sistem Rumah 3000 Dapat Diinstruksikan
EF 230: Sistem Rumah 3000 Dapat Diinstruksikan

Home System 3000 adalah perangkat yang menggunakan Arduino, sensor suhu, buzzer piezo, detektor optik/fototransistor, dan servo untuk menampilkan cara meningkatkan efisiensi energi rumah.

Langkah 1: Sensor Suhu

Sensor temperatur
Sensor temperatur

· Jalankan kabel daya dan arde Anda dari

pengontrol mikro ke sisi papan roti

· Tempatkan sensor suhu ke dalam papan roti, dan jalankan kabel daya dan arde yang sesuai

· Perhatikan bahwa sensor suhu memiliki tiga cabang, dan cabang tengah memiliki kabel yang mengalir dari port "A0".

· Kode untuk sensor suhu:

answer = questdlg('Please run arduino and servo start code', 'response', 'Ok', 'Ok')

prompt = 'Tekan sembarang tombol untuk memulai'

berhenti sebentar

prompt1 = 'Setel suhu minimum'

x = masukan(prompt1)

prompt2 = 'Setel suhu maksimum'

y = masukan(prompt2)

prompt3 = 'tekan sembarang tombol untuk memulai'

berhenti sebentar

angka

h = garis animasi;

kapak = gca;

ax. YGrid = 'aktif';

kapak. YLim = [65 85];

berhenti = salah;

startTime = datetime('sekarang');

sementara ~berhenti

% Baca nilai tegangan saat ini

v = readVoltage(a, 'A0');

% Hitung suhu dari tegangan (berdasarkan lembar data)

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

TempF = 9/5*TempC + 32;

% Dapatkan waktu saat ini

t = datetime('sekarang') - startTime;

% Tambahkan poin ke animasi

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

% Perbarui sumbu

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

datetick('x', 'keeplimits')

ditarik

% Periksa kondisi berhenti

berhenti = readDigitalPin(a, 'D12');

Langkah 2: Buzzer

Bel
Bel

· Kawat di bel yang akan digunakan untuk menandakan pembacaan suhu yang sangat tinggi atau sangat rendah

· Tidak ada kabel yang mengalir dari kolom positif ke sisi positif bel

· Sebagai gantinya kabel dijalankan dari sisi positif buzzer ke port berlabel "11"

Ini akan digunakan nanti untuk memanggil lokasi buzzer dalam kode tertulis.

· Kode untuk bel:

jika TempF >= y

disp('tutup pintunya panas')

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

elseif TempF <= x

disp('tutup pintu karena dingin')

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

akhir

akhir

Langkah 3: Detektor Optik / Fototransistor

Detektor Optik/Fototransistor
Detektor Optik/Fototransistor

· Sensor ini membutuhkan resistor tidak seperti yang lain

· Pastikan keempat cabang sensor disertakan dalam loop setelah mencolokkan kabel

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

· Kode untuk Detektor Optik/Fototransistor:

jelas

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

prompt = 'Setel ambang batas tingkat cahaya'

z = masukan(cepat)

tingkat cahaya = 0

sementara lightLevel ~= -1

lightLevel = readVoltage (a, 'A1')

jika lightLevel >= z

answer = questdlg('mau ganti AC?', 'Ya', 'Tidak')

ganti jawaban

kasus 'Ya'

answer2 = questdlg('Naik atau Turunkan AC?', 'respons', 'Turun', 'Naik', 'Naik')

ganti jawaban2

kasus 'Turun'

s = servo(a, 'D10');

untuk sudut = 0:.1:.5

writePosition(s, sudut);

posisi_saat ini = readPosition(s);

posisi_saat ini = posisi_saat ini * 180;

% cetak posisi motor servo saat ini

fprintf('Posisi saat ini adalah %d\n', posisi_saat ini);

% penundaan kecil diperlukan agar servo dapat diposisikan pada

% sudut diberitahu untuk itu.

jeda (2);

akhir

% mengembalikan motor ke posisi sudut 0

writePosition(s, 0);

jelas s

prompt = 'Tekan sembarang tombol untuk melanjutkan'

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

kasus 'Naik'

s = servo(a, 'D10');

untuk sudut =.5:.1:1

writePosition(s, sudut);

posisi_saat ini = readPosition(s);

posisi_saat ini = posisi_saat ini * 180;

% cetak posisi motor servo saat ini

fprintf('Posisi saat ini adalah %d\n', posisi_saat ini);

% penundaan kecil diperlukan agar servo dapat diposisikan pada

% sudut diberitahu untuk itu.

jeda (2);

akhir

Langkah 4: Servo

Servo
Servo

· Servo mewakili

AC, dan merupakan output dari input deteksi gerakan

· Membutuhkan kabel positif, kabel ground, dan kabel dari port "D9" ke servo

· Kode untuk servo:

% mengembalikan motor ke posisi sudut 0

writePosition(s, 0);

jelas s

prompt = 'Tekan sembarang tombol untuk melanjutkan'

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

akhir

akhir

berhenti sebentar

merusak

akhir

akhir

*Catatan khusus: beberapa kode untuk servo terintegrasi dengan kode untuk detektor optik/fototransistor.

Direkomendasikan: