Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Komponen dan Perlengkapan

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
Arduino UNO
×1
Lampu Hemat Energi
×1
Adapter 5v DC
×1
Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
Kabel Jumper (generik)
×1
Relay (generik)
×1
Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
UTSOURCE Electronic Parts
×1

Alat dan Mesin yang Diperlukan

Obeng

Aplikasi dan Layanan Online

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
Microsoft Visual Studio 2015
Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
Arduino IDE

Tentang Proyek Ini

Lampu Rumah Pintar

Dalam proyek ini kita akan mempelajari cara menggunakan relay dengan sensor ultrasonik dan Arduino untuk membuat lampu rumah (atau perangkat apa pun) lebih cerdas.

Target kami adalah membuat lampu hemat energi mati saat Anda keluar dari ruangan dan menyala saat Anda kembali. Ini sangat mudah untuk diimplementasikan dan membutuhkan waktu yang kecil.

Tutorial ini mengasumsikan pengetahuan dasar Arduino. Jika Anda pernah menggunakan Arduino sebelumnya, Anda siap melanjutkan.

Hati-hati : proyek ini menggunakan suplangan listrik AC tegangan tinggi, jika Anda berumur di bawah 16 atau tidak memiliki cukup pengalaman Anda harus memiliki orang yang berpengalaman untuk membantu Anda pada bagian AC.

Namun, Anda dapat menyelesaikan proyek menggunakan perangkat DC yang berjalan pada tegangan rendah dan akan membuktikan konsep yang sama. Saya akan menyebutkan peringatan dengan jelas saat mulai berbahaya.

Komponen

1) Arduino Uno

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

2) Multimeter

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

3) Kabel Jumper

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

4) Breadboard

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

5) Modul Relay

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

6) Sensor ultrasonik (HC-SR04) dan library ultrasonik untuk Arduino yang dapat Anda temukan di sini disebut (New Ping) library, jika ini pertama kalinya Anda menginstal library eksternal ke Arduino periksa tautan ini.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

7) Sumber daya DC (opsional)

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

8) Obeng (tipe + untuk modul relay)

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

9) Lampu hemat energi dengan pemasangannya dan kolam dinding yang terpasang (Saya menggunakan kabel daya radio lama untuk mendapatkan kolam dinding).

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Saya juga menggunakan pistol lem untuk melekatkan ujung kabel, Anda harus menggunakan pita isolasi.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

10) Visual Studio untuk menulis kode Arduino, ingin tahu bagaimana? periksa tautan ini, ini sepenuhnya gratis atau Anda dapat menggunakan Arduino IDE.

Mari kita mulai.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Menyiapkan Sensor Ultrasonik

Pertama, kita akan mengetahui cara memasang sensor ultrasonik ke Arduino yang diilustrasikan dalam gambar di bawah, Kami akan nanti menjelaskan cara menguji sensor ultrasonik.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Modul Relay

Kemudian kita akan menghubungkan satu channel modul relay (karena modul saya memiliki 2 channel), pin Vcc ke 5v dan IN1 ke Pin 8 Arduino (atau pin apa pun yang Anda pilih).

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Lampu

Kemudian siapkan lampu untuk dihubungkan ke kolam dinding dan relay satu terminal akan dihubungkan langsung ke kolam dinding, terminal lainnya akan memiliki potongan di tengah jalan, satu ujung potongan akan pergi ke pin Normally Open (NO1) di modul relay, yang lainnya akan pergi ke pin COM1 dan kemudian ke kolam dinding.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis
Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Rangkaian akhir menjadi (Lampu disederhanakan :))

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Sekarang kami selesai dengan hardware.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Kode melakukan hal berikut

  • Mengukur jarak dari ultrasonik
  • Memeriksa apakah seseorang melewati pintu
  • Mengubah status lampu

Membaca Nilai dari Sensor Ultrasonik

Sekarang mari kita coba sensor ultrasonik, ini adalah contoh dari library, sangat sederhana dan mudah karena hanya mencetak jarak yang dibacanya.

Anda dapat mendapatkan jarak dalam Centimeter atau Inci menggunakan (sonar adalah nama instance ultrasonik).

sonar.ping_cm();
// Or
sonar.ping_inch();

Seperti yang dapat kita lihat ini juga mengatur pin dari sensor ultrasonik dan jangkauan maksimum yang diinginkan.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Sayangnya, kadang-kadang sensor ultrasonik membaca jarak yang salah sesekali.

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Yang dapat menyebabkan lampu menyala dan mati secara tidak disengaja, untuk memperbaiki masalah ini kita harus mendapatkan sejumlah pembacaan dan memilih rata-ratanya, cara lain untuk memperbaikinya adalah menggunakan median filter yang secara sederhana mengambil sejumlah pembacaan, mengurutkannya dalam array dan memilih nilai di tengah yang sangat keren untuk menghilangkan kebisingan jika sering terjadi.

Untungnya library NewPing memiliki filter ini yang diimplementasikan dalam fungsi yang disebut

sonar.ping_median(unsigned byte numReadings);

Anda cukup memberikan jumlah pembacaan yang ingin Anda pertimbangkan sebagai sampel maksimum 512 karena mereka menggunakan unsigned byte.

fungsi ini mengembalikan waktu yang digunakan gema untuk kembali yang harus dikonversi ke satuan panjang yang Anda gunakan, ini juga sudah diimplementasikan dalam library dengan menggunakan

sonar.convert_cm(unsigned int echoTime);
// Or
sonar.convert_in(unsigned int echoTime);

Tangkap terakhir tentang ultrasonik adalah membaca 0 jika tidak ada sesuatu di depannya, ini secara sederhana diselesaikan dengan memberitahukannya untuk mengatur jarak ke MAX_DISTANCE jika membaca 0, akhirnya kode untuk membaca sensor menjadi (jarak adalah variabel global) :

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Mendeteksi Sesuatu yang Melewati

Sekarang mari kita mulai coding, untuk mengetahui bahwa seseorang telah melewati ultrasonik harus membaca jarak kritis yang dapat dengan mudah setengah dari lebar pintu. jadi kita selalu yakin bahwa seseorang melewati pintu.

Satu hal lain yang ingin saya perhatikan adalah lampu akan hanya beralih saat sesuatu telah melewati di depan ultrasonik, ini berarti jika seseorang berdiri diam di depannya, tidak akan terjadi apa-apa. Kode untuk melakukan ini adalah sebagai berikut

Penerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Selamat !! Anda sekarang selesai, Saya akan melampirkan seluruh proyek Visual Studio karena saya telah melakukan perubahan kecil pada library ( menggunakan alokasi memori dinamis alih-alih array ukuran variabel -karena Visual Studio tidak mengizinkannya- ) dan menambahkan beberapa dokumentasi.

Periksa komponen elektronik di utsource.net

Tolong hormati proyek ini jika Anda menemukannya berguna, proyek lain:

Mixer warna Arduino

Mobil RC menggunakan 1Sheeld

Artikel

Mengembangkan Arduino menggunakan Visual Studio

Kode

  • Lampu Rumah Pintar
  • Tes Ultrasonik
Lampu Rumah PintarArduino

Kode ini mengambil input pembacaan dari ultrasonik dan mengontrol relay sesuai dengan itu

#define TRIGGER_PIN 12 // Pin Arduino yang terhubung ke pin trigger pada sensor ultrasonik. #define ECHO_PIN 11 // Pin Arduino yang terhubung ke pin echo pada sensor ultrasonik. #define MAX_DISTANCE 200 // Jarak maksimum yang ingin kita ping (dalam sentimeter). Jarak maksimum sensor berukuran 400-500cm. [ini adalah angka sembarangan] #define RELAY_LINE1_PIN 8 #include "NewPing.h" NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup pin dan jarak maksimum. unsigned int critical_distance_cms = 50; // Jarak kritis di mana lampu akan beralih [ini adalah angka sembarangan] bool state = 0; void setup() { Serial.begin(9600); // Buka serial monitor pada 115200 baud untuk melihat hasil ping. pinMode(RELAY_LINE1_PIN, OUTPUT); digitalWrite(RELAY_LINE1_PIN, HIGH); // Matikan lampu } void loop() { delay(50); // Tunggu 50ms antara ping (sekitar 20 ping/detik). 29ms haruslah penundaan terpendek antara ping. unsigned int distance = readDistance(); // Jarak saat ini dari objek yang menghadap sensor ultrasonik Serial.print("Ultrasonic: "); Serial.print(distance); // Kirim ping, dapatkan jarak dalam cm dan cetak hasil (0 = di luar jangkauan yang ditentukan) Serial.println("cm"); // Seseorang di dekat pintu if (distance < critical_distance_cms) { while (distance < critical_distance_cms) { // Periksa apakah mereka bergerak jauh distance = readDistance(); delay(5); // Tidak lakukan apa-apa sampai orang bergerak jauh dari pintu } state = !state; // Ubah status relay if (state) { Serial.println("Door Open!"); digitalWrite(RELAY_LINE1_PIN, LOW); // Nyalakan lampu } else { Serial.println("Door Closed!"); digitalWrite(RELAY_LINE1_PIN, HIGH); // Matikan lampu } } } // Perbarui nilai pembacaan Ultrasonik unsigned int readDistance() { // Baca 7 nilai dari ultrasonik dan dapatkan nilai median (median filter) // Menghilangkan pembacaan yang berisik unsigned int distance = sonar.convert_cm(sonar.ping_median(7)); // Nilai 0 menunjukkan bahwa sensor ultrasonik tidak membaca apa-apa di depannya // Set jarak ini ke jarak maksimum sehingga lampu tidak beralih secara tidak perlu if (distance == 0) { distance = MAX_DISTANCE; } return distance; } 
Tes UltrasonikArduino

Kode untuk membuat ultrasonik mencetak nilai yang dibacanya

// --------------------------------------------------------------------------- // Contoh sketsa library NewPing yang melakukan ping sekitar 20 kali per detik. // --------------------------------------------------------------------------- #include <NewPing.h> #define TRIGGER_PIN 12 // Pin Arduino yang terhubung ke pin trigger pada sensor ultrasonik. #define ECHO_PIN 11 // Pin Arduino yang terhubung ke pin echo pada sensor ultrasonik. #define MAX_DISTANCE 200 // Jarak maksimum yang ingin kita ping (dalam sentimeter). Jarak maksimum sensor berukuran 400-500cm. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup pin dan jarak maksimum. void setup() { Serial.begin(115200); // Buka serial monitor pada 115200 baud untuk melihat hasil ping. } void loop() { delay(50); // Tunggu 50ms antara ping (sekitar 20 ping/detik). 29ms haruslah penundaan terpendek antara ping. Serial.print("Ping: "); Serial.print(sonar.ping_cm()); // Kirim ping, dapatkan jarak dalam cm dan cetak hasil (0 = di luar jangkauan yang ditentukan) Serial.println("cm"); } 
Lampu Rumah Pintar

Ini adalah proyek lengkap untuk Visual Studio dengan library yang diedithttps://github.com/shakram02/Arduino_SmartHouseLights.git

Skematik

Ini adalah skematik lengkap yang menggambarkan seluruh proyekPenerangan AC Cerdas dengan Arduino UNO dan Relay – Kontrol Otomatis

Proses manufaktur

  1. Detektor Bahasa TinyML dengan Edge Impulse pada Arduino Nano 33 BLE Sense
  2. Buat Game Gyroskop Real-Time dengan Arduino Nano & Sensor MPU-6050
  3. Proyek Dadu Digital Arduino: Buat Generator Angka Acak berbasis LCD
  4. Pencatat Suhu & Kelembaban Arduino dengan DHT11 dan Ethernet Shield
  5. Sistem Penyiraman Otomatis Tanaman Berbasis Arduino
  6. Find Me: Pelacak Item Cerdas dengan Arduino dan Bluetooth
  7. Sepatu Smart Self-Lacing dengan Penambahan Energi Terpadu
  8. Pengukuran Jarak Real-Time dengan Sonar Arduino & Visualisasi Processing
  9. Rayakan dengan Cahaya dan Suara: Proyek Arduino Ulang Tahun DIY
  10. Pengendalian Kecerahan LED Lancar Menggunakan Bolt IoT dan Arduino UNO