Sensor buatan sendiri untuk Arduino. Robo-hand dengan remote control dari sarung tangan dan Arduino. Modul periferal untuk Arduino

Ingatlah bahwa dasar dari proyek ini adalah Arduino. Ia melakukan sejumlah fungsi penting: membaca data dari sensor IR, memproses sinyal, merespons gerakan, dan USB memberi tahu komputer tentang perlunya mengirim pesan. Pada artikel ini kita akan membahas dua pertanyaan:

  1. Menghubungkan sensor PIR ke Arduino;
  2. Cara mengkonfigurasi hubungan antara sensor dan pengiriman email otomatis .
Diperlukan untuk proyek ini:
  • Arduino UNO (Anda dapat memilih dari Aliexpress).
  • sensor PIR.
  • papan brad.
  • Sekelompok kabel.

Semua elemen perakitan yang terdaftar dapat dilihat di foto:

Pertama-tama, Anda memerlukan PC dengan koneksi Internet. Kami menggunakan Raspberry Pi.

Kami menghubungkan sensor PIR ke kit Arduino:

Untuk melakukan tahap ini, Anda perlu mengambil kabel yang berasal dari sensor dan memasangnya ke platform. Selanjutnya Anda akan diberikan foto dengan diagram:

Bekerja dengan sketsa

Ketika terjadi gerakan, Arduino melalui USB Serial harus mengirim email. Tentu saja, jika Anda mengirim email setiap kali terjadi perpindahan, kotak surat Anda akan penuh. Oleh karena itu, kami memperbaikinya sehingga jika ada jeda waktu yang singkat antara dua sinyal, email akan dikirim dengan teks berikut:

Int pirPin = 7; int minSecsBetweenEmail = 60; // 1 menit lamanya lastSend = -minSecsBetweenEmails * 1000; void setup() ( pinMode(pirPin, INPUT); Serial.begin(9600); ) void loop() ( lama sekarang = millis(); if (digitalRead(pirPin) == HIGH) ( if (sekarang > (lastSend + minSecsBetweenEmails * 1000)) ( Serial.println("MOVEMENT"); lastSend = sekarang; ) else ( Serial.println("Terlalu cepat"); ) ) penundaan(500);

« Mdi DetikAntaraEmail" – variabel ini dapat dialihkan ke nilai lain yang nyaman bagi pengguna. Misalnya, Anda dapat mengatur interval satu menit - ini berarti email berikutnya hanya akan dikirim setelah 60 detik.

"Kirim Terakhir" akan membantu Anda melacak waktu pengiriman pesan terakhir. Variabel ini diinisialisasi dengan angka negatif yang sama dengan milidetik yang ditentukan dalam "MinSecsAntaraEmail" . Hasilnya, kami mendapat jaminan bahwa setelah menjalankan sketsa di Arduino, sensor PIR akan langsung menyala.

Bagaimana cara menghitung milidetik dan membandingkan jumlahnya dengan waktu terakhir kali sensor dipicu? Semua berkat fitur bawaan bernama Millis. Jika gerakan terdeteksi, tetapi waktu telah berlalu sejak pengaktifan terakhir sensor, surat berisi teks akan dikirim "Terlalu cepat".

Fungsi ini perlu diuji terlebih dahulu. Untuk ini terbuka Pemantau Serial. Selanjutnya mari kita lihat tampilannya:

Setelah Anda yakin bahwa ini berfungsi dengan baik, Anda dapat menulis program dengan Python yang digunakan untuk memproses sinyal dari platform.

Cara menginstal PySerial dan Python:

Sistem operasi Linux telah menginstal Python secara otomatis. Sistem Windows tidak memiliki fitur ini, jadi Anda harus menginstal programnya sendiri. PySerial bertindak sebagai perpustakaan, itu akan membantu berkomunikasi dengan Arduino.

Menginstal Python:

Python 3 sering menimbulkan kesulitan saat bekerja dengan PySerial, terutama jika Anda menggunakan Windows. Untuk menghindari hal ini, Anda dapat mengunduh versi ketiga ular piton 2 .

Setelah menyelesaikan instalasi program, Anda dapat menemukan grup khusus di menu Start. Saat kita melanjutkan ke proses instalasi perpustakaan, kita perlu berkolaborasi dengan Python menggunakan baris perintah. Oleh karena itu, lebih baik segera menambahkan direktori yang diinginkan ke PATH. Di bawah ini Anda dapat melihat foto pendukung:

Untuk menambahkan katalog yang kita perlukan: buka panel kontrol, temukan bagian "System Properties" di dalamnya. Kemudian kita tekan tombol yang disebut “Variabel Lingkungan”, sebuah jendela akan muncul di depan kita. Di bagian bawahnya harus ada “Jalur” yang perlu Anda pilih. Sekarang klik “Edit” – Ubah dan selesaikan proses dengan mengklik “nilai variabel”. Anda tidak dapat menghapus teks yang Anda terima; Anda harus menambahkan tulisan berikut ke dalamnya: “;C:\Python27”. Jangan lupa untuk memberi tanda “;” setelah setiap folder yang ditunjukkan dalam teks. Sekarang kita periksa apakah entri "Jalur" telah dimasukkan dengan benar. Untuk melakukan ini, masukkan kata “python” ke dalam baris perintah. Jika tidak terjadi kesalahan, gambar berikut akan muncul di layar:

Instal PySerial:

Terlepas dari sistem operasi yang Anda gunakan, unduh paket instalasi .tar.gz untuk PySerial 2.6. Situs ini dapat membantu Anda melakukan itu - //pypi.python.org/pypi/pyserial . Kami mendapatkan file bernama pyserial-2.6.tar.gz. Jika Anda menggunakan Windows, Anda perlu membongkar file ke dalam folder yang dipilih. Ini bukan file ZIP standar, Anda harus melakukan langkah tambahan - unduh 7-zip (Anda dapat melakukannya di sini - //www.7-zip.org/ ). Untuk sistem Linux, Anda perlu menggunakan sesi terminal, memberikan perintah “CD” di dalamnya, dan menunjukkan nama folder tempat Anda mengunduh pyserial-2.6.tar.gz. Untuk membongkar Anda harus memasukkan:

$ tar -xzf pyserial-2.6.tar.gz

Setelah ini, Anda perlu menjalankan perintah:

Sudo python setup.py instal

ular piton

Anda perlu membuat program terpisah untuk bekerja dengan Python. Anda perlu menyalin kode ke dalam file dengan nama yang sama – “movement.py”. Di Linux Anda dapat menggunakan editor "nano", tetapi pada sistem Windows Anda perlu membuat file menggunakan editor Python "IDLE". Ini tersedia di menu Mulai.

Impor waktu impor serial impor smtplib TO = " [dilindungi email]"GMAIL_USER=" [dilindungi email]" GMAIL_PASS = "letakkan kata sandi Anda di sini" SUBJECT = "Intrusi!!" TEXT = "Sensor PIR Anda mendeteksi pergerakan" ser = serial.Serial("COM4", 9600) def send_email(): print("Mengirim Email") smtpserver = smtplib. SMTP("smtp.gmail.com",587) smtpserver.ehlo() smtpserver.starttls() smtpserver.ehlo smtpserver.login(GMAIL_USER, GMAIL_PASS) header = "Kepada:" + KE + "\n" + "Dari: " + GMAIL_USER header = header + "\n" + "Subject:" + SUBJECT + "\n" print header msg = header + "\n" + TEXT + " \n\n" smtpserver.sendmail(GMAIL_USER, TO, pesan) smtpserver.close() while True: message = ser.readline() print(message) if message == "M" : send_email() time.sleep(0.5)

Hal ini terlihat pada gambar berikut:

Setelah perubahan, program dapat diluncurkan menggunakan baris perintah:

Gerakan Python.py

Jadi, instalasi sudah selesai.

Kemungkinannya tidak hanya sampai di situ; ada ekstensi yang memungkinkan Anda menerima pesan berisi laporan suhu atau informasi lainnya.

File terlampir :

Sensor suhu dan kelembaban buatan sendiri DHT11 dan DHT22 - koneksi ke Arduino Kunci biometrik - perakitan papan kontrol dan pemrograman mikrokontroler

Saat ini, sistem seperti “rumah pintar” telah berubah dari sistem yang sangat eksotik, hanya dapat diakses oleh orang-orang terkaya, menjadi sistem yang lumrah dan dapat diikuti oleh siapa saja. Ada banyak pilihan: banyak pengembang telah menguasai produksi sistem perangkat keras dan perangkat lunak tersebut. Salah satu yang paling terkenal adalah perusahaan Arduino, yang produknya sekarang akan kita kenali.

Apa itu “rumah pintar”

Istilah ini memiliki analogi yang lebih mudah dipahami - "otomatisasi rumah". Inti dari solusi tersebut adalah untuk memastikan pelaksanaan otomatis berbagai proses yang terjadi di rumah, kantor, atau fasilitas khusus. Contoh paling sederhana adalah penyalaan lampu secara otomatis pada saat salah satu penghuni memasuki ruangan.

Sistem rumah pintar Arduino adalah seperangkat peralatan untuk mengendalikan pengoperasian berbagai perangkat menggunakan telepon seluler berbasis OS Android

Dalam sistem “rumah pintar” mana pun, komponen-komponen berikut dapat dibedakan:

  1. Bagian sensorik. Ini adalah seperangkat perangkat, yang bagian utamanya diwakili oleh semua jenis sensor yang memungkinkan sistem merekam berbagai jenis peristiwa. Contohnya termasuk sensor suhu dan gerak. Perangkat lain dari bagian sentuh digunakan untuk mengirimkan perintah pengguna ke sistem. Ini adalah tombol jarak jauh dan kendali jarak jauh dengan penerima.

    Salah satu elemen rumah pintar yang paling umum digunakan adalah sensor gerak.

  2. Bagian eksekutif. Ini adalah perangkat yang dapat dikontrol oleh sistem, sehingga bereaksi terhadap peristiwa tertentu sesuai dengan skenario yang ditentukan pengguna. Pertama-tama, ini adalah relai, yang melaluinya pengontrol rumah pintar dapat menyuplai daya ke perangkat listrik apa pun, yaitu menghidupkan dan mematikannya. Misalnya, dengan bertepuk tangan (sistem akan “mendengarnya” menggunakan mikrofon), Anda dapat mengatur relai agar menyala, menyuplai daya ke kipas. Harap diperhatikan: dalam contoh ini kipasnya bisa apa saja. Namun Anda juga dapat menggunakan perangkat yang diproduksi khusus untuk bekerja sebagai bagian dari sistem tertentu. Misalnya, perusahaan Arduino memproduksi motor listrik untuk sistemnya, yang dengannya Anda dapat, katakanlah, menutup atau membuka jendela, dan perusahaan Xiaomi (produsen sistem serupa di China) memproduksi perangkat kontrol pembersih udara. Perangkat semacam itu sepenuhnya dikontrol oleh sistem, artinya tidak hanya dapat menyalakannya, tetapi juga mengubah pengaturannya.

    Motor listrik adalah aktuator yang diaktifkan oleh sinyal dari pengontrol sistem dan menggerakkan mekanisme yang terhubung dengannya.

  3. CPU. Bisa juga disebut pengontrol. Ini adalah “otak” dari sistem, yang mengkoordinasikan dan mengkoordinasikan kerja semua komponennya.

    Papan prosesor (atau pengontrol) mengontrol aktuator berdasarkan program bawaan dan data yang diterima dari sensor

  4. Perangkat lunak. Ini adalah serangkaian instruksi yang memandu prosesor. Dalam sistem dari beberapa produsen, termasuk Arduino, pengguna dapat menulis program secara mandiri; di sistem lain, solusi siap pakai digunakan, di mana hanya skenario standar yang tersedia bagi pengguna.

Sistem rumah pintar modern dibagi menjadi beberapa jenis:

  1. Dilengkapi dengan pengontrolnya sendiri.
  2. Menggunakan prosesor komputer pengguna (tablet, smartphone) dalam kapasitas ini.
  3. Memproses informasi menggunakan server jarak jauh milik perusahaan pengembang (layanan cloud).

Sistem tidak hanya dapat mengaktifkan perangkat tertentu, tetapi juga memberi tahu pengguna tentang peristiwa yang terjadi dengan mengirimkan pesan ke telepon atau dengan cara lain. Dengan demikian, dapat ditetapkan fungsi alarm, termasuk alarm kebakaran.

Skenario bisa jadi jauh lebih kompleks daripada yang kami jelaskan dalam contoh. Misalnya, Anda dapat mengajarkan sistem untuk menyalakan boiler dan mentransfer pasokan air panas ke sana ketika pasokan terpusat dimatikan, jika keberadaan salah satu penghuni di rumah terdeteksi (inframerah, sensor ultrasonik, dan sensor gerak membantu).

Mengenal Arduino

Arduino adalah perusahaan Italia yang didedikasikan untuk pengembangan dan produksi komponen dan perangkat lunak untuk sistem rumah pintar sederhana yang ditujukan untuk non-spesialis. Patut dicatat bahwa pengembang ini membuat arsitektur sistem yang ia buat sepenuhnya terbuka, yang memungkinkan produsen pihak ketiga untuk mengembangkan perangkat baru dan menyalin perangkat yang kompatibel dengan Arduino, serta merilis perangkat lunak untuk perangkat tersebut.

Kit Arduino Uno berisi komponen-komponen yang diperlukan untuk mengimplementasikan perangkat yang dijelaskan dalam buku yang disertakan

Pendekatan ini telah memastikan popularitas tinggi untuk sistem perusahaan Italia, tetapi juga memiliki kelemahan: karena fakta bahwa, bisa dikatakan, setiap orang yang tidak terlalu malas melakukan produksi komponen untuk sistem Arduino, tidak selalu memungkinkan untuk membeli produk berkualitas tinggi untuk pertama kalinya. Kita sering kali harus menghadapi masalah kompatibilitas komponen dari produsen yang berbeda.

Calon pengguna perlu mengetahui bahwa sejak tahun 2008 telah ada dua perusahaan yang memproduksi produk dengan merek Arduino. Yang pertama, yang memulai arah ini, memiliki situs resmi di www.arduino.cc; yang kedua, yang baru dibentuk - di www.arduino.org. Apa yang dikembangkan sebelum pemisahan disajikan secara identik di kedua situs, namun rangkaian produk barunya sudah berbeda.

Perangkat lunak untuk sistem rumah pintar Arduino berbentuk cangkang perangkat lunak (disebut IDE) tempat Anda dapat menulis dan mengkompilasi program. Didistribusikan secara gratis. Program ditulis dalam C++.

Versi program Arduino IDE yang disajikan di situs-situs ini juga sangat berbeda, meskipun tidak hanya memiliki nama, tetapi juga nomor versi yang sama. Karena itu, mereka mudah bingung. Perbedaannya adalah setiap perangkat lunak mendukung perpustakaan dan papannya sendiri.

“Perangkat keras” sistem terdiri dari papan dengan mikrokontroler (papan prosesor) dan kartu ekspansi terpasang di atasnya, yang biasa disebut pelindung. Menghubungkan pelindung ke papan prosesor memungkinkan Anda menambahkan komponen baru ke rumah pintar. Sistem yang dirakit dapat sepenuhnya otonom atau bekerja bersama dengan komputer melalui antarmuka kabel atau nirkabel standar.


Anda dapat memasang ekstensi khusus (pelindung) pada papan prosesor, yang meningkatkan fungsionalitas sistem

Keuntungan dari sistem Arduino

Kompleks perangkat keras dan perangkat lunak ini menarik pengguna dengan keuntungan sebagai berikut:

  • kemungkinan operasi otonom karena kehadiran pengontrolnya sendiri;
  • banyak peluang untuk menyesuaikan pengoperasian sistem (pengguna sendiri yang menulis program yang dapat berisi skenario kompleksitas apa pun);
  • kesederhanaan proses memuat program ke dalam pengontrol: tidak diperlukan programmer untuk ini, cukup memiliki kabel USB (mikrokontroler memiliki firmware Bootloader);
  • biaya komponen yang terjangkau karena tidak adanya hak monopoli dari satu produsen atau lainnya (arsitekturnya terbuka).

Jika Bootloader mulai tidak berfungsi, atau mikrokontroler yang dibeli tidak memilikinya, pengguna memiliki kesempatan untuk mem-flash-nya secara mandiri. Cangkang perangkat lunak IDE menyediakan dukungan untuk sejumlah pemrogram yang paling mudah diakses dan populer untuk tujuan ini. Selain itu, hampir semua papan prosesor Arduino memiliki header yang memungkinkan untuk pemrograman dalam sirkuit.

Program Arduino IDE yang disajikan di situs arduino.cc memiliki kemampuan untuk membuat platform perangkat keras dan perangkat lunak khusus, sedangkan versi program di arduino.org tidak memiliki fungsi seperti itu.

Solusi apa yang ditawarkan Arduino?

Karena banyak perusahaan yang memproduksi sensor dan perangkat yang kompatibel dengan Arduino, jangkauan produk ini cukup luas. Inilah yang paling sering digunakan:

  1. Sensor yang memantau parameter iklim:
  2. Sensor yang memungkinkan Anda menentukan posisi spasial objek yang dipasang:
  3. Sensor yang memungkinkan Anda mendaftarkan keberadaan berbagai objek:
  4. Sensor darurat:
  5. Perangkat lain, misalnya:
    • mikropon;
    • jam tangan;
    • sensor pembuka pintu;
    • kendali jarak jauh (frekuensi radio dan inframerah) dengan penerima;
    • tombol jarak jauh.

Beberapa perangkat ini termasuk dalam kit dasar Arduino Start, yang disebut StarterKit oleh beberapa produsen.


Starter kit Arduino mencakup papan prosesor dan beberapa perangkat yang umum digunakan.

Bagian eksekutif berisi sejumlah besar perangkat, misalnya:

  • motor listrik;
  • relay dan berbagai saklar;
  • peredup (memungkinkan Anda mengubah intensitas pencahayaan dengan lancar);
  • penutup pintu;
  • katup dan katup 3 arah dengan penggerak servo.

Jika Anda berencana menghubungkan penerangan melalui relay Arduino, maka lebih baik menggunakan lampu LED sebagai lampu. Lampu pijar menyala dengan cepat bila dihubungkan melalui relay tersebut.

Video: memulai Arduino - mengontrol LED melalui antarmuka web

Membuat proyek di Arduino

Kami akan menunjukkan proses pembuatan dan pengaturan “rumah pintar” Arduino menggunakan contoh sistem yang mencakup fungsi-fungsi berikut:

  • pemantauan suhu luar dan dalam ruangan;
  • pelacakan keadaan jendela (terbuka/tertutup);
  • memantau kondisi cuaca (cerah/hujan);
  • pembangkitan sinyal suara ketika sensor gerak dipicu jika fungsi alarm diaktifkan.

Kami akan mengkonfigurasi sistem sedemikian rupa sehingga data dapat dilihat menggunakan aplikasi khusus, serta browser web, yaitu pengguna dapat melakukan ini dari mana saja di mana terdapat akses Internet.

Singkatan yang digunakan:

  1. "GND" - landasan.
  2. "VCC" - catu daya.
  3. "PIR" - sensor gerak.

Komponen yang diperlukan untuk membuat sistem rumah pintar

Untuk sistem rumah pintar Arduino Anda memerlukan yang berikut ini:

  • Papan mikroprosesor Arduino;
  • Modul Ethernet ENC28J60;
  • dua sensor suhu merek DS18B20;
  • mikropon;
  • sensor hujan dan salju;
  • sensor gerak;
  • saklar buluh;
  • menyampaikan;
  • resistor dengan resistansi 4,7 kOhm;
  • kabel pasangan terpilin;
  • kabel ethernet.

Semua komponen berharga sekitar $90.


Untuk menghasilkan sistem dengan fungsi yang kita perlukan, kita memerlukan seperangkat perangkat yang berharga sekitar $90

Merakit "rumah pintar": petunjuk langkah demi langkah

Ini adalah urutan di mana Anda perlu bertindak.

Menghubungkan aktuator dan perangkat sensor

Kami menghubungkan semua komponen sesuai diagram.


Merakit sistem terutama dilakukan dengan menghubungkan aktuator ke kontak yang sesuai pada papan prosesor

Pengembangan kode program

Pengguna menulis seluruh program ke dalam cangkang Arduino IDE, yang dilengkapi dengan editor teks, manajer proyek, kompiler, praprosesor, dan alat untuk mengunggah kode program ke mikroprosesor papan Arduino. Versi IDE telah dikembangkan untuk sistem operasi Mac OS X, Windows dan Linux. Bahasa pemrogramannya adalah C++ dengan beberapa penyederhanaan. Program pengguna untuk Arduino biasanya disebut sketsa atau garis besar; program IDE menyimpannya dalam file dengan ekstensi “.ino”.

Fungsi main(), yang wajib di C++, dibuat secara otomatis oleh shell IDE, menentukan sejumlah tindakan standar di dalamnya. Pengguna harus menulis fungsi setup() (dieksekusi satu kali saat startup) dan loop() (dieksekusi dalam loop tanpa akhir). Kedua fungsi ini diperlukan untuk Arduino.

Tidak perlu memasukkan file header perpustakaan standar ke dalam program - IDE melakukan ini secara otomatis. Ini tidak berlaku untuk perpustakaan pengguna - perpustakaan harus ditentukan.

Menambahkan perpustakaan ke Manajer Proyek IDE dilakukan dengan cara yang agak tidak biasa. Sebagai sumber yang ditulis dalam C++, mereka ditambahkan ke folder khusus di direktori kerja shell IDE. Setelah ini, nama perpustakaan tersebut akan muncul di menu IDE yang sesuai. Yang dipilih pengguna akan dimasukkan dalam daftar kompilasi.

IDE menyediakan pengaturan minimum, dan tidak ada kemampuan untuk menyesuaikan kompiler sama sekali. Dengan demikian, seorang programmer pemula terlindungi dari kesalahan.

Berikut adalah contoh program paling sederhana yang membuat LED yang terhubung ke pin 13 board berkedip setiap 2 detik:

void setup() ( pinMode (13, OUTPUT); // Tetapkan Arduino pin 13 sebagai output)

void loop() ( digitalWrite(13, HIGH); // Aktifkan pin 13, parameter untuk memanggil fungsi digitalWrite HIGH - tanda level logika tinggi

penundaan(1000); // Penundaan loop selama 1000 ms - 1 detik

digitalWrite(13, RENDAH); // Matikan pin 13, panggil parameter LOW - tanda level logika rendah

penundaan(1000); // Penundaan loop selama 1 detik)

Namun, saat ini, pengguna tidak selalu dihadapkan pada kebutuhan untuk menulis program secara pribadi: banyak perpustakaan dan sketsa siap pakai yang diposting di Internet (lihat di sini: http://arduino.ru/Reference). Ada program siap pakai untuk sistem yang dibahas dalam contoh ini. Itu perlu diunduh, dibongkar dan diimpor ke IDE. Teks program ini dilengkapi dengan komentar yang menjelaskan prinsip pengoperasiannya.


Semua program Arduino bekerja dengan prinsip yang sama: pengguna mengirimkan permintaan ke prosesor, dan memuat kode yang diperlukan ke layar komputer atau ponsel cerdas.

Ketika pengguna menekan tombol “Refresh” di browser atau aplikasi yang diinstal pada smartphone, mikrokontroler Arduino mengirimkan data ke klien ini. Dari setiap halaman, yang ditandai sebagai “/tempin”, “/tempout”, “/rain”, “/window”, “/alarm”, kode program diterima, yang ditampilkan di layar.

Menginstal aplikasi klien pada smartphone (untuk OS Android)

Untuk menerima data dari sistem rumah pintar secara online, Anda dapat mendownload aplikasi yang sudah jadi.

Berikut yang perlu dilakukan pemilik gadget:


Dengan menggunakan aplikasi ini, Anda tidak hanya dapat menerima informasi dari sistem rumah pintar, tetapi juga mengontrolnya - menyalakan dan mematikan alarm. Jika diaktifkan, pemberitahuan akan dikirim ke aplikasi saat sensor gerak dipicu. Aplikasi ini melakukan polling pada sistem Arduino untuk aktivasi sensor gerak satu menit sekali.

Dengan mengaktifkan ikon “Pengaturan”, Anda dapat mengedit alamat IP Anda.

Mengonfigurasi browser Anda agar berfungsi dengan rumah pintar

Di bilah alamat browser Anda, masukkan XXX.XXX.XXX.XXX/all, dengan “XXX.XXX.XXX.XXX” adalah alamat IP Anda. Setelah ini, data dari sistem dapat diterima dan dikelola.

Kode program yang disajikan di sini memungkinkan Anda menyalakan dan mematikan lampu melalui browser, sedangkan fungsi tersebut tidak diterapkan pada aplikasi smartphone Android.

Bekerja dengan router


Menyiapkan akun di noip.com

Langkah ini opsional, tetapi diperlukan jika Anda ingin menetapkan nama domain ke alamat tersebut. Untuk melakukan ini, Anda perlu mendaftar di situs web https://www.noip.com/, buka bagian “Tambahkan host” dan masukkan alamat IP sistem.


Setelah mendaftar di situs noip.com, Anda dapat mengakses sistem tidak hanya berdasarkan alamat IP, tetapi juga dengan nama domain lengkap

Pembuatan proyek selesai, Anda dapat memeriksa fungsionalitas sistem.

Video: rumah pintar menggunakan Arduino

Fitur beberapa perangkat keras Arduino

Karena komponen yang kompatibel dengan Arduino diproduksi oleh banyak perusahaan pihak ketiga, yang kualitas produknya tidak dikontrol oleh Arduino itu sendiri, kemungkinan besar pengguna akan membeli komponen yang tidak berfungsi sepenuhnya dengan benar.

Situasi serupa juga terjadi di bidang pengembangan komputer pribadi. Pada suatu waktu, IBM membuat arsitektur komputernya terbuka, akibatnya banyak perusahaan mulai memproduksi komputer dan komponen individual yang kompatibel dengan IBM. Akibatnya, “peralatan pribadi” jenis ini tersebar luas di seluruh dunia, namun kualitas komponen dan tingkat kompatibilitasnya dalam banyak kasus tidak berada pada level tertinggi. Apple mengikuti taktik sebaliknya. Hal ini membatasi jumlah pengembang yang memiliki akses terhadap arsitektur, dan menerapkan kebijakan yang sama di bidang pengembangan perangkat lunak. Akibatnya, komputer Apple menjadi lebih jarang digunakan dan lebih mahal, tetapi kualitasnya jauh lebih unggul daripada perangkat kompatibel IBM yang menjalankan Windows.

Pengguna telah memperhatikan hal berikut mengenai beberapa komponen untuk sistem Arduino:

  1. Sensor suhu DHT11, yang disertakan dengan kit dasar (StarterKit), memberikan kesalahan signifikan sebesar 2-3 derajat. Disarankan untuk menggunakan sensor suhu DHT22 di dalam ruangan, yang memberikan pembacaan lebih akurat, dan untuk pemasangan di luar ruangan - DHT21, yang mampu beroperasi pada suhu di bawah nol dan terlindung dari kerusakan mekanis.
  2. Pada beberapa papan mikroprosesor Arduino, ketika relay yang terhubung mengalami korsleting, port COM gagal. Oleh karena itu, sketsa tidak dapat dimuat ke mikrokontroler: segera setelah pengunggahan dimulai, prosesor akan melakukan boot ulang. Pada saat yang sama, relai berbunyi klik, port COM dimatikan dan proses pemuatan sketsa berhenti.
  3. Sensor jendela/pintu terkadang memberikan kejutan berupa alarm palsu. Mengingat hal ini, sketsa ditulis sehingga sistem melakukan tindakan yang diperlukan hanya setelah menerima beberapa sinyal berturut-turut.
  4. Untuk mengatur kontrol proses menggunakan tepukan, beberapa pengguna, karena kurangnya pengalaman, memesan detektor suara dengan penyesuaian ambang batas manual alih-alih mikrofon. Komponen ini tidak cocok untuk tujuan tersebut, karena jangkauannya terlalu pendek: Anda harus bertepuk tangan tidak lebih dari 10 cm dari detektor. Selain itu, sensor ini mentransmisikan sinyal dalam bentuk pulsa dengan durasi pendek, sehingga jika ada sketsa berukuran besar yang pemrosesannya memakan waktu relatif lama, mikrokontroler tidak punya waktu untuk merekamnya.
  5. Perangkat alarm kebakaran sebaiknya menggunakan detektor asap, bukan detektor kebakaran. Yang terakhir mencatat nyala api tidak lebih dari 30 cm dari dirinya sendiri.
  6. Jika terjadi kerusakan pada mikrokontroler atau kesalahan kode, lebih baik menggunakan relai yang biasanya tertutup dengan sakelar manual yang dihubungkan secara seri.

Untuk menghindari pembelian komponen berkualitas rendah, pengguna berpengalaman menyarankan untuk mempelajari terlebih dahulu ulasan tentang komponen tersebut yang dipublikasikan di Internet. Sensor murah dapat dibeli dalam beberapa jenis untuk menguji sendiri mana yang paling berhasil.

Mungkin sistem rumah pintar dari perusahaan Arduino bukanlah kualitas tertinggi, tetapi pilihan komponen terluas dan biayanya yang terjangkau menjadikannya salah satu yang paling populer. Dengan menggunakan tips kami, Anda akan dengan cepat mempelajari cara membuat proyek Arduino, mengotomatiskan berbagai proses rumah.

Saya lewat, saya melihat, dan di sini mereka menulis hal-hal menarik tentang berbagai produk buatan sendiri. Saya juga baru-baru ini membuat sesuatu, izinkan saya menulis, saya pikir, mungkin itu akan berguna bagi seseorang, atau hanya akan menarik. Kita berbicara tentang perangkat keras sensor anggaran DIY untuk ditanamkan ke panel sakelar dan soket.

Tapi mari kita bereskan semuanya.

Saya sudah lama tertarik dengan sistem otomasi untuk Rumah Pintar. Sekarang saya memiliki beberapa sistem berbeda yang terhubung menjadi satu kesatuan. Ada komponen industri dan buatan sendiri. Saya ingin bercerita tentang produk buatan sendiri yang terakhir.

Beberapa waktu lalu, di Internet, saya menemukan sistem otomasi rumah MySensors. Sistem nirkabel yang cukup berkembang (dan terus dikembangkan lebih lanjut) berdasarkan Arduino dan nRF24L01+. Namun, ini bukan tentang siapa yang tertarik - lihat sumbernya.

Keuntungan utama sistem ini bagi saya adalah dukungan perangkat lunak yang baik, komunikasi dua arah, ketersediaan komponen dan biaya rendah.

Setelah cukup bermain-main dengan papan pengembangan, saya memutuskan untuk mengembangkan perangkat yang dapat diintegrasikan secara memadai ke dalam interior rumah (WAF tidak dapat diabaikan). Hasilnya adalah perangkat yang, bersama dengan perangkat lainnya, dapat disembunyikan di dinding dalam kotak standar 63mm.

Ini perakitan pertama, saya akan coba membuat perakitan berikutnya lebih hati-hati. Lubang besar (untuk sensor cahaya) akan ditutup dengan batang kaca plexiglass.

Dalam bentuk setengah rakitan tampilannya seperti ini:

Lihat dari sisi lain:

Semuanya terdiri dari Arduino Pro Mini (Cina) 8MHz/3.3V, modul radio nRF24L01+, sensor gerak HC-SR510, sensor DHT22 (suhu dan kelembaban), sensor cahaya BH1750 dan colokan JUNG standar (Anda mungkin dapat menggunakan yang lain, seperti Gira , Berker, dll. Saya hanya menggunakan apa yang ada). Total biaya sekitar $15.

PCB dirancang oleh Eagle. Sumber. Dipesan dari ITEADStudio, pengerjaannya bagus (kecuali sutranya, tulisannya ternyata biasa-biasa saja).



Mungkin fontnya terlalu kecil dan tipis. Kelihatannya bagus di gerbera.



Selama proses perakitan, beberapa ketidaknyamanan kecil ditemukan; beberapa hal dapat diperbaiki, tetapi secara keseluruhan papan ini cukup dapat digunakan.

Sistem manajemen utilitas rumah terintegrasi, yang dikenal sebagai “Rumah Pintar,” semakin populer. Implementasi sistem ini secara luas terhambat oleh keterbatasan yang ada biaya komponen yang tinggi elemen dan pekerjaan instalasi. Rumah pintar berbasis Arduino merupakan solusi yang cukup mudah diakses oleh semua orang yang setidaknya memiliki sedikit pengetahuan di bidang elektronik.

Apa itu Arduino

Arduino adalah merek tempat mereka memproduksi perangkat keras dan perangkat lunak untuk pembangunan independen sistem otomasi dan telekontrol.

Intinya, ini adalah konstruktor modular dengan kemampuan luas. Perangkat keras Arduino terdiri dari berbagai macam papan sirkuit tercetak di mana berbagai sensor, aktuator, dan kartu ekspansi disusun. Inti dari sistem ini adalah papan dengan mikrokontroler yang dapat diprogram dari berbagai tingkat kompleksitas dari Arduino Pro Mini hingga Arduino Mega. Kartu ekspansi memungkinkan Anda menggunakan banyak perangkat eksternal.

Papan sirkuit tercetak kecil berisi mikrokontroler, beberapa elemen diskrit, kuarsa, dan berbagai jenis konektor, termasuk pin vertikal, yang dengannya struktur rak dirakit dengan penambahan kartu ekspansi. Chip keluarga Atmega digunakan sebagai mikrokontroler. Jenis pengontrol menentukan fungsionalitas papan, bergantung pada jumlah input dan output.

Modul yang tersebar luasArduino Tidakdengan mikrokontrolerAtmega328 memiliki ciri-ciri sebagai berikut:

  • Masukan/keluaran digital – 14
  • Dari jumlah tersebut, 6 adalah PWM
  • Masukan analog – 6
  • Memori – 32 KB
  • Catu daya – 7-12 V
  • Harga – 950 rubel

Kontak digital dapat diprogram untuk melakukan fungsi tertentu. Itu bisa berupa masukan atau keluaran. Input/output ini dapat bekerja dengan perangkat yang hanya memerlukan dua level untuk beroperasi. Ini adalah level logis atau level yang dekat dengan tegangan suplai dan level rendah logis yang berhubungan dengan nol. Sensor dua tingkat dapat dihubungkan ke input digital. Ini termasuk sepasang saklar buluh magnet. Sensor ini bereaksi terhadap pembukaan pintu dan jendela. Banyak sensor keamanan dan alarm kebakaran beroperasi berdasarkan prinsip ini.

Output digital dapat mengontrol pengoperasian relai elektromagnetik, yang pada gilirannya menghidupkan dan mematikan stopkontak yang menghubungkan berbagai peralatan rumah tangga. Perangkat pintar dari Arduino harganya jauh lebih murah daripada perangkat industri yang sudah jadi.

Input analog, melalui konverter analog-ke-digital, mengirimkan informasi tentang status sensor suhu, sensor cahaya, dan beberapa perangkat lain ke pengontrol. Dengan membandingkan pembacaan sensor dengan perintah yang disimpan dalam memori, unit pusat sistem dapat mengontrol perangkat yang memerlukan perubahan daya secara lancar. Enam output yang terhubung ke modulator lebar pulsa memungkinkan kontrol daya beban yang lancar. Misalnya mengatur kecerahan lampu, mengatur suhu pemanas, atau mengontrol kecepatan motor listrik.

Paling papan yang kuat dan multifungsi baris ini adalah Arduino Mega. Dipasang pada papan sirkuit tercetak pengontrolPADA mega 2560 , elemen diskrit, port USB untuk sambungan daya. Papan ini memiliki 54 pin universal yang dapat diprogram untuk menjalankan fungsi I/O. 14 di antaranya dapat mengontrol perangkat analog menggunakan modulasi lebar pulsa. 16 input analog dirancang untuk menghubungkan perangkat analog apa pun.

Papan pengontrol Arduino Mega biayanya sekitar 1.500 rubel. Cara termudah untuk memprogramnya adalah menggunakan komputer pribadi melalui port USB.

Modul periferal untuk Arduino

Papan pengontrol adalah inti dari sistem, tetapi Anda tidak dapat menghubungkan perangkat apa pun ke dalamnya. Outputnya memiliki kapasitas beban kecil dan arus terbatas. Untuk mengatur sistem kontrol peralatan rumah tangga, Anda memerlukan modul daya eksternal, perangkat komunikasi, dan perangkat lainnya. Ini bukan masalah karena ada banyak modul periferal yang dirancang untuk pengontrol Arduino.

Berikut ini beberapa di antaranya:

  • Alat analisa gas – MQ-2
  • Sensor cahaya – 2CH-Cahaya-2
  • Sensor suhu eksternal – DS18B20-PL
  • Sensor suhu dan kelembaban ruangan – DHT-11
  • Pengemudi Motor – L298N, L9110
  • Modul relai – 1ch5V, 4ch5V
  • Modul kendali jarak jauh IC2262/2272

Sensor yang mendeteksi kebocoran gas di dalam ruangan bereaksi terhadap propana dan butana yang merupakan komponen gas rumah tangga. Modul ini memiliki penyesuaian sensitivitas dan output analog/digital. Sensor cahaya dapat menjadi bagian dari sistem kontrol cahaya otomatis. Ini terdiri dari dua saluran independen dengan penyesuaian sensitivitas individual. Sensor suhu luar ruangan dirancang untuk beroperasi pada suhu dari -55 hingga +125 derajat. Sensor suhu dan kelembaban ruangan dirancang. Kisaran suhu dari 0 hingga +55 0 C dan kelembapan dari 20 hingga 90%.

Karena tegangan suplai modul Arduino berkisar antara 7 hingga 12 volt, sensor standar apa pun yang memiliki tingkat operasi yang sama dapat digunakan untuk mengatur alarm keamanan atau kebakaran.

Pengemudi Bermotor memungkinkan Anda mengontrol motor satu fase, dua fase, empat fase, dan stepper. Dengan bantuan perangkat tersebut Anda dapat membuka dan menutup tirai atau gorden. Penggerak servo yang terhubung ke driver memungkinkan Anda mengatur aliran cairan pendingin di radiator pemanas. Kunci relai sangat diperlukan dalam sistem Smart Home. Dikendalikan oleh potensi unit logis +5 volt, relai memungkinkan pengalihan beban di sirkuit AC hingga 10 ampere pada tegangan hingga 250 volt.

Mereka dapat digunakan untuk menghidupkan dan mematikan stopkontak listrik, pompa listrik, dan sistem lainnya.

Modul kendali jarak jauh terdiri dari kendali jarak jauh dan perangkat penerima. Remote control dilengkapi dengan empat tombol dan mengirimkan perintah ke unit penerima pada jarak hingga 100 meter. Semua modul periferal memiliki tegangan suplai yang sama dan kompatibel dengan mikrokontroler Arduino apa pun.

Organisasi sistem Rumah Pintar

Tanpa keterampilan tertentu, pengetahuan tentang diagram sirkuit dan dasar-dasar elektronika, lebih baik tidak menggunakan sistem “Rumah Pintar” secara penuh.

Pemrograman mikrokontroler dari jalur Arduino dilakukan dalam bahasa C/C++.

Untuk memulainya, Anda dapat menulis program sederhana yang dapat menghidupkan dan mematikan LED atau mengontrol pengoperasian motor mikroelektrik. Ada banyak contoh program semacam itu. Mereka menggunakan operator sederhana seperti: if, while,then dan lain-lain. Mereka bahkan mengizinkan anak sekolah untuk menulis program. Ketika program pertama dijalankan dengan benar, Anda dapat mencoba merakit perangkat yang lebih kompleks yang akan menggunakan output PWM untuk kontrol cahaya yang lancar.

Untuk membuat "Rumah Pintar" menggunakan Arduino dengan tangan Anda sendiri, Anda perlu membuat proyek teknis, yang akan menunjukkan jumlah sensor dan aktuator untuk setiap ruangan. Anda bisa memulai dengan satu ruangan di mana beberapa fungsi sederhana akan diterapkan. Beberapa di antaranya akan dijalankan berdasarkan sinyal dari sensor eksternal, dan beberapa lagi berdasarkan sinyal pengatur waktu. Ketika seseorang bangun kerja di pagi hari, pengontrol Arduino akan menyalakan ketel listrik atau pembuat kopi berdasarkan sinyal timer. Jika di luar gelap, yang terdeteksi oleh sensor eksternal, lampu di dalam ruangan akan menyala secara bertahap. Suhu ruangan yang nyaman juga dapat diatur baik untuk tidur maupun bangun tidur.

Untuk sejumlah kecil fungsi, mikrokontroler Arduino Uno dan satu set modul periferal cocok.

Untuk mengontrol peralatan rumah tangga, Anda memerlukan kunci relai yang dapat menghidupkan dan mematikan stopkontak. Untuk mengontrol cahaya, Anda memerlukan detektor gerakan. Jika sistem pintar dipasang di dapur, maka perlu disediakan aktivasi otomatis kap mesin, sensor kebocoran gas rumah tangga, dan sensor kebocoran air. Sebagai elemen alarm kebakaran, detektor asap harus dipasang di dalam ruangan.

Kesimpulan

Pengontrol Arduino akan memungkinkan Anda menyelesaikan proyek rumah pintar dan dalam jumlah yang relatif kecil. Jika kita menghitung semua biaya untuk melengkapi apartemen tiga kamar, jumlahnya tidak mungkin melebihi 30-40 ribu rubel. Jika Anda mengurangi jumlah fungsi, anggarannya akan lebih hemat.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat