Isi kandungan:
- Langkah 1: Sensor Suhu
- Langkah 2: Buzzer
- Langkah 3: Pengesan Optik / Phototransistor
- Langkah 4: Servo
Video: EF 230: Sistem Rumah 3000 Diajar: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:08
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
· 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
· 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
· 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 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:
Cube Sat Diajar: 7 Langkah
Cube Sat Instructable: Oleh Caden Howard
TAD 130 Boleh Diajar: 20 Langkah
TAD 130 Boleh Diajar: Gambaran keseluruhan
Mr Birch Bumper Diajar: 9 Langkah
Mr Birch Bumper Instructable: Tujuan bumper ini adalah untuk membolehkan BoeBot melakukan manuver di sekitarnya. Apabila sesuatu menabrak kedua-dua sisi bumper, tongkat Popsicle yang dibalut kertas timah menyentuh dan membuat sambungan yang menyuruh robot berhenti, mundur, dan
Robot Bumpers Diajar: 5 Langkah
Robot Bumpers Instructable: Saya telah memutuskan untuk membuat instruksional yang menunjukkan cara membuat Robot Bumpers dan cara meletakkannya di Robot yang Dikendalikan Bateri. Pertama, anda ingin memastikan bahawa kabel anda disambungkan di tempat yang betul. Litar tidak akan
Rumah Kunci Balisong (Boleh Diajar Sebenar): 37 Langkah
House Key Balisong (Instructable Sebenar): Ini akhirnya adalah cara sebenar untuk bagaimana membuat kunci rumah saya sebagai balisong. Ini juga merupakan Instructable pertama yang pernah saya buat supaya mudah pada saya. Baiklah, mulakan: - Saya merosakkan pencetak saya semasa projek baru-baru ini kerana kereta