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

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Komponen dan Perlengkapan

Arduino Nano R3×1
Dongle Bluetooth ke USB mbientLab×1
PCB Kustom JLCPCB×1

Tentang Proyek Ini

Berkebun di era modern berarti membuat hal-hal menjadi lebih rumit dan sulit, dengan elektron, bit, dan byte. Menggabungkan mikrokontroler dan berkebun adalah ide yang sangat populer. Saya pikir itu karena taman memiliki input dan output yang sangat sederhana yang mudah dipahami. Saya duga orang (saya sendiri termasuk) melihat hobi yang terkenal sederhana dan santai dan tidak bisa menahan diri untuk tidak merasa terpaksa mempersulitnya.

Dalam proyek ini saya akan menunjukkan kepada Anda cara membuat versi yang lebih sederhana dari taman indoor menggunakan papan pengembangan Arduino.

Saya memberikan panduan langkah demi langkah penuh untuk menunjukkan kepada Anda cara membuat taman indah Anda sendiri, dan saya menjelaskan secara detail baik bagian perangkat keras maupun perangkat lunak untuk mengubah panduan ini menjadi cara termudah yang membawa Anda untuk mencoba keterampilan Anda dalam pembuatan elektronik. Proyek ini sangat praktis untuk dibuat terutama setelah mendapatkan PCB kustom yang telah kami pesan dari JLCPCB untuk memperbaiki penampilan mobil kami dan juga ada cukup dokumen dan kode dalam panduan ini untuk memungkinkan Anda menciptakan sistem taman otomatis Anda sendiri.

Kami telah membuat proyek ini hanya dalam 7 hari, hanya tiga hari untuk menyelesaikan pembuatan perangkat keras dan pemasangan, lalu 4 hari untuk menyiapkan kode dan aplikasi android. untuk mengontrol taman melalui itu. Sebelum memulai mari kita lihat terlebih dahulu

Apa yang akan Anda pelajari dari tutorial ini :

Langkah 1: Apa itu Taman Indoor!

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Sebagian besar tanaman memiliki kebutuhan sederhana. Seperti tamu, mereka relatif tidak terlalu mengharuskan. Hanya ada tiga hal dasar yang perlu Anda pahami sebelum Anda memutuskan untuk mengundang tanaman ke rumah: cahaya, air, dan udara. Jika Anda dapat menguasai empat elemen ini, dari perspektif tanaman, Anda dapat membuat taman indoor hampir di mana saja di dunia dan selama setiap musim tahun.

Saya akan membuat sistem berbasis Arduino untuk memantau status suhu dan kelembaban tanaman saya dan secara otomatis menyediakan kebutuhan yang diperlukan seperti intensitas cahaya, air, dan udara segar murni dan untuk melakukan ini saya butuh beberapa sensor untuk mengontrol beberapa aktuator. Misalnya saya akan mengontrol intensitas cahaya tergantung pada sinyal yang diterima dari sensor kecerahan cahaya yang sama untuk penyiraman saya menggunakan sensor kelembaban tanah untuk menyalakan dan mematikan pompa air dan sensor suhu/kelembaban untuk mengontrol on dan off kipas DC 12V.

Langkah 2: Sensor dan Aktuator

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Membuat sistem ini adalah Pengumpulan beberapa sensor dan aktuator untuk mengakses data fisik di sekitar tanaman dan dapat menemukan hal apa yang diminta oleh tanaman dan kapan harus Anda sediakan.

Ini adalah alasan mengapa Anda harus menggunakan beberapa sensor dan aktuator yang semuanya terhubung ke satu papan Arduino:

Sensor

Aktuator

Langkah 3: Pembuatan PCB (Dihasilkan oleh JLCPCB)

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Tentang JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.), adalah perusahaan prototipe PCB terbesar di Cina dan produsen teknologi tinggi yang khusus dalam prototipe PCB cepat dan produksi PCB kecil.

Dengan lebih dari 10 tahun pengalaman dalam pembuatan PCB, JLCPCB memiliki lebih dari 200.000 pelanggan di dalam dan luar negeri, dengan lebih dari 8.000 pesanan online untuk prototipe PCB dan produksi PCB kecil per hari. Kapasitas produksi tahunan adalah 200.000 sq.m. untuk berbagai PCB 1 lapis, 2 lapis, atau multi-lapis. JLC adalah produsen PCB profesional dengan skala besar, peralatan yang baik, manajemen yang ketat, dan kualitas superior.

Kembali ke proyek kami

Untuk memproduksi PCB, saya telah membandingkan harga dari banyak produsen PCB dan saya memilih JLCPCB sebagai penyedia PCB terbaik dan penyedia PCB termurah untuk memesan rangkaian ini. Semua yang perlu saya lakukan adalah beberapa klik sederhana untuk mengunggah berkas gerber dan mengatur beberapa parameter seperti ketebalan PCB warna dan kuantitas, lalu saya telah membayar hanya 2 Dollar untuk mendapatkan PCB saya setelah 3 hari saja dan saya perhatikan bahwa ada beberapa tawaran pengiriman gratis dari waktu ke waktu di platform pemesanan online ini.

Anda dapat mendapatkan berkas Rangkaian (PDF) dari sini.

Seperti yang Anda lihat di gambar di atas PCB sangat diproduksi dengan baik dan saya mendapatkan bentuk daun PCB yang sama yang telah kami desain dan semua label dan logo ada untuk memandu saya selama langkah penyolengan.

Langkah 4: Bahan-bahan

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Sekarang mari kita tinjau komponen yang diperlukan untuk proyek ini dan Anda dapat menemukan semua tautan terkait untuk pemesanan online jadi kita akan membutuhkan:

Langkah 5: Pemasangan

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Tampilkan Semua 9 Item

Kami siap sekarang jadi mari kita mulai menyoleng komponen dan jangan lupa untuk mengikuti label untuk menghindari kesalahan penyolengan. Kami memulai dengan menyoleng konektor Arduino untuk menguji suplai daya dan Anda juga dapat menulis beberapa kode uji dasar untuk memverifikasi koneksi yang benar untuk setiap sensor seperti sensor cahaya dan hal yang sama untuk LED karena semuanya terhubung langsung ke papan (Arduino) jadi Anda memiliki akses penuh ke mereka.

Catatan: Anda perlu menjaga pengoleng logam Anda tetap bersih dan rapi. Artinya mengosongkan ia pada spons setiap kali Anda menggunakannya. Ujung pengoleng logam Anda harus bersih dan bersinar. Setiap kali Anda melihat ujung menjadi kotak dengan flux atau oksidasi, artinya kehilangan kilauannya, Anda harus membersihkannya. Bahkan jika Anda di tengah-tengah penyolengan. Memiliki ujung pengoleng yang bersih membuatnya BANYAK lebih mudah untuk mentransfer panas ke target penyolengan.

PCB yang kami pesan dari JLCPCB akan memandu Anda untuk menempatkan semuanya di tempat yang benar jadi jangan ragu untuk mengunjungi tautan ini jika Anda ingin melihat PCB yang telah kami buat dan memesan online.

Seperti yang Anda lihat, menggunakan PCB ini sangat praktis karena kualitasnya dan untuk itu semua label yang ada memberikan panduan terbaik untuk Anda, jadi Anda akan 100% yakin bahwa Anda tidak akan membuat kesalahan penyolengan.

Saya telah menyoleng setiap komponen ke tempatnya dan Anda dapat menggunakan kedua sisi PCB untuk menyoleng bagian elektronik Anda.

Sekarang kami memiliki PCB yang siap dan semua komponen disoleng dengan sangat baik, setelah itu saya menyiapkan desain ini untuk pemotongan laser CNC untuk memasukkan bagian elektronik dan tanaman dalam satu sokongan, jadi jika Anda ingin membuat desain yang sama dengan saya temukan berkas (DXF) di sini

Langkah 6: Aplikasi Android.

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Aplikasi ini akan memungkinkan Anda untuk terhubung ke Arduino Anda melalui Bluetooth, dan menggunakan mode Manual Anda dapat memiliki akses ke kipas, lampu dan juga pompa air untuk mengontrol ON dan OFF, tanpa lupa sensor yang dapat Anda baca datanya dengan menekan tombol “get data” dan semua data yang sesuai akan ditampilkan pada layar smartphone Anda.

Anda dapat mendapatkan aplikasi android ini secara gratis dari tautan ini

Langkah 7: Kode Arduino dan Validasi Pengujian

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

Taman Rumahan Berbasis Arduino: Perawatan Tanaman Cerdas dan Otomatis

kode tersedia dan seperti biasa Anda dapat mengunduhnya dari tautan ini. Dan seperti yang Anda lihat di foto kode sangat sederhana dan sangat baik dikomentari sehingga Anda dapat memahaminya sendiri.

Seperti yang Anda lihat para sahabat setiap tombol memiliki fungsionalitas dengan sistem tetapi apa yang saya sangat hargai adalah mode otomatis untuk kontrol kecerahan cahaya saya meletakkan sensor cahaya di dasar bawah rumah lalu ketika kita memilih mode ini sistem akan mengontrol kecerahan lampu LED depan tergantung pada sinyal sensor. Juga kita dapat membaca nilai suhu dan kelembaban langsung pada layar ponsel pintar yang sangat mengesankan.

Kode

Kode sumber ArduinoArduino
/************************************************************************************************************************************************************************ * - Author : BELKHIR Mohamed * * - Profession : (Developer) MEGA DAS owner * * - Main purpose : Industrial Application * * - Copyright (c) holder : All rights reserved * * - License : BSD 2-Clause License * * - Date : 20/11/2017 * * ***********************************************************************************************************************************************************************/ /*********************************** NOTE **************************************/ // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: // * Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above copyright notice, // this list of conditions and the following disclaimer in the documentation // and/or other materials provided with the distribution. // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED /* ________________________________________________________________________________________________ (`v) ________________________________________________________________________________________________(`())__(`v) _________________________________________________________________________________________________(_.^._)__(`()) ___________________________________________________________________________________________________(`v)(_.^._) __________________________________________________________________________________________________(`())(`v) ___________________________________________________________________________________________________(_.^._)(`()) ______________________________________________________________________________________________(`v)_____ (_.^._)(`v) _____________________________________________________________________________________________ (`())_ (`v)___(`()) ______________________________________________________________________________________________ (_.^._)_(`())___(_.^._) ______________________________________________________________________________________________ (`v) (_.^._) (`v) ______________________________________________________________________________________________(`())____(`()) _______________________________________________________________________________________________(_.^._)_____(_.^._) _____________________________________________________________________________________________________ ___________________________________________________________________________________________________ _____________________________________________________________________________________________________. ___________________________________________________________________________________________________ ___________________________________________________________________________________________________ ____________________________________________________________________________________________________ ______________________________________________________________________________________________________ _______________________________________________________________________________________________________ ____________________________________________________________________________________________________________ ____________________________________________________________________________________________.________ _________________________________________________________________________________________________ __________________________________________________________________________________________________ ___________________________________________________________________________________________ ___________ ___________________________________________________________________________________________________________ ____________________________________________________________________________________________________ ______________________________________________________________________________________________ __________________________________________________________________________________________(`v) __________________________________________________________________________________________(`()) __________________________________________________________________________________________ (_.^._) ___________________________________________________________________________________________ (`v) ____________________________________________________________________________________________ (`()) ______________________________________________________________________________________________ (_.^._) ________________________________________________________________________________________________(`v) __________________________________________________________________________________________________(`()) __________________________________________________________________________________________________(_.^._)______ _____________________________________________________________________________________________ _______________________________________________________________________________________________ */ #include "DHT.h" // Include the dht library to interface with the DHT sensor #include <Wire.h> // IC library to use the light sensor #include <BH1750.h> // Import BH1750 library in order to be able to use the light sensor //------------------------------------------------ Define the control pins -------------------------------------------------------- const int Pump=4; // We've used this pin to control the motor pump const int Fan=5; // Use this pin as a PWM output to control the Fan speed const int Light=6; // Use this pin in order to control the LED brightness const int TempHum=7; // Input pin for DHT sensor const int Moisture=8; // Digital Input pin to read the moisture command signals const int TestLED=9; // Use this output pin to test the right soldering on your PCB by turning on and off the test LEDs const int Brightness=12; // Input pin to read the light sensor signals const int analogMoistue=0; // Analog Input to read the analog signal from moisture sensor //--------------------------------------------------------------------------------------------------------------------------------- #define DHTTYPE DHT11 // DHT 22 (AM2302), AM2321 DHT dht(TempHum, DHTTYPE); // Temperature and humidity sensor constructor BH1750 lightMeter; // Light sensor constructor char Data='x'; // Store Serial data in this variable String cmd=""; // Read the full instruction sent from the android app int flagModeAuto=0; // flag to activate the auto mode int sprayCMD=0; // CMD limit spray int LightCMD=0; // CMD limit brightness int lightLevelPlus=0; // Variable to control the light brightness float temperature=0; // Variable to store the temperature value float humidity=0; // Variable to store the humidity value uint16_t lux=0; // Variable to read light brightness from the light sensor //------------------------------------------------ Start the pin configuration -------------------------------------------------------- void setup() { Wire.begin(); // Initialize the I2C bus (BH1750 library doesn't do this automatically) dht.begin(); // Start the temperature and humidity sensor reading lightMeter.begin(); // Start the light sensor reading Serial.begin(9600); // Set the baudrate up to 9600 BPS to comunicate with the android app through Bluetooth Serial.setTimeout(100); // Set the time to wait for data before closing the Serial port (after 100 ms) pinMode(Pump,OUTPUT); pinMode(Fan,OUTPUT); pinMode(Light,OUTPUT); pinMode(Moisture,INPUT); pinMode(TestLED,INPUT); delay(1000); digitalWrite(Pump,LOW); digitalWrite(Fan,LOW); digitalWrite(Light,LOW); } //------------------------------------------------ Start the Process code -------------------------------------------------------- void loop() { while(Serial.available()) // Read the serial data once available { delay(10); Data=Serial.read(); cmd+=Data; } if(cmd=="dt") // Send the humidity value to the android app { Serial.print(humidity); } if(cmd=="dh") // Send the brightness value to the android app { Serial.print(lux); } if(cmd=="db") // Send the temperature value to the android app { Serial.print(temperature); } if(cmd=="o") // Activate the automatic mode { flagModeAuto=1; } if(cmd=="m") // Disactivate the automatic mode { flagModeAuto=0; } if(flagModeAuto==1) { autoPump(); lightBrightness(); autoFan(); } if(flagModeAuto==0) { if(cmd=="f") // Turn ON the FAN { analogWrite(Fan,255); } if(cmd=="x") // Turn OFF the FAN { analogWrite(Fan,0); } if(cmd=="l") // Turn ON the Lights { analogWrite(Light,255); } if(cmd=="k") // Turn OFF the Lights { analogWrite(Light,0); } if(cmd=="w") // Turn ON the Pump { analogWrite(Pump,255); } if(cmd=="y") // Turn OFF the Pump { analogWrite(Pump,0); } } cmd=""; // Clear the cmd variable to make it available for the next instruction lux = lightMeter.readLightLevel(); // Get the brightness level from the light sensor temperature=dht.readTemperature(); // Get the temperature value from the DHT sensor (C) humidity=dht.readHumidity(); // Get the humidity value from the DHT sensor (%) } //------------------------------------------------ Auto control function for Pump spray -------------------------------------------------------- void autoPump() { if(analogRead(analogMoistue)<sprayCMD) { digitalWrite(Pump,HIGH); delay(1000); digitalWrite(Pump,LOW); delay(1000); } } //------------------------------------------------ Auto control function for Brightness LED -------------------------------------------------------- void lightBrightness() { while(lux<LightCMD) { analogWrite(Light,lightLevelPlus); // Increase the light brightness delay(100); lightLevelPlus++; lux = lightMeter.readLightLevel(); // Read the light brightness level } } //------------------------------------------------ Auto control function for FAN -------------------------------------------------------- void autoFan() { if(temperature>30) { analogWrite(Fan,255); // Turn ON the fan if the temperature exceed 30C } else { analogWrite(Fan,0); // Turn OFF the fan if the temperature exceed 30C } } 

Proses manufaktur

  1. Buat Sistem Ambilight Monitor Menakjubkan dengan Arduino
  2. Membuat Game Pong Klasik pada Arduino UNO dengan Layar OLED – Tutorial Langkah demi Langkah
  3. Detektor Frekuensi Audio Arduino – Ukur Puncak Suara Terkeras dengan Modul Sensitivitas Tinggi
  4. Buat Tamagotchi Arduino Sendiri: Proyek DIY Hewan Peliharaan Digital
  5. Pengontrol Saklar Lampu Nirkabel Smart Berbasis Arduino
  6. Tic Tac Toe Arduino dengan Matriks LED MAX7219 dan Kotak Kardus
  7. Senapan Air Cerdas Tergerak Gerakan dengan Arduino Nano
  8. Membuat Timer Hitung Mundur Arduino yang Andalan dengan Layar 7-Segmen SparkFun
  9. Matahari Buatan Arduino: Buat Bunga Matahari Pelacak Matahari
  10. Kit Robot Navigasi Indoor Cerdas untuk Proyek Arduino