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

Haus Tweeting Tanaman Kantor

Komponen dan persediaan

Arduino Due
× 1
WiFi Andium Anduino
× 1
Arduino Zero
× 1
Sensor Kelembaban Tanah Kapasitif
× 1

Aplikasi dan layanan online

Arduino IDE
IFTTT
Adafruit IO

Tentang proyek ini

Motivasi

Di sini, di Andium, kami sangat senang akhirnya pindah ke ruang kantor baru kami. Kami telah menghiasinya dengan dinding yang dilapisi papan tulis, teknologi baru yang mengkilap, dan semua kenyamanan rumah. Ini terutama mulai terasa seperti di rumah ketika kami menempatkan beberapa teman berdaun hijau ini di seluruh ruangan!

Hanya saja kami lupa menyiramnya dan dalam seminggu atau lebih teman-teman kami yang berdaun mulai terlihat seperti ini...

Gagal.

Kami adalah perusahaan IoT, kami lebih baik dari ini. Kenapa pabrik kami tidak terhubung internet! Mudah-mudahan sebelum terlambat untuk si kecil ini saya membuat solusi menggunakan anduinoWiFi shield dan IFTTT kami. Saatnya memberi suara pada tanaman kita!

Memulai

Jika Anda memiliki jempol hijau, Anda mungkin sudah berhenti membaca, tetapi jika Anda seperti saya dan perlu memberi tanaman Anda kemampuan untuk memohon belas kasihan dan berteriak meminta air secara digital, maka Anda berada di tempat yang tepat.

Untuk memberi suara pada tanaman Anda, Anda memerlukan Arduino Due, atau Zero, pelindung anduinoWiFi, (atau Arduino lain yang terhubung dengan WiFi yang dapat berbicara dengan Adafruit IO) dan terakhir 'Sensor Kelembaban Tanah Kapasitif'. Oh, dan segelas air. (Berikan ke pabrik Anda setelah selesai, mereka akan berterima kasih melalui email sekarang).

Sensor Kelembaban

Sensor kelembaban tanahnya cukup keren, tidak banyak sensor yang mendorong Anda untuk berendam di tanah basah, jadi nikmatilah selagi bisa. Jangan terlalu banyak, perhatikan baris ini...

Apa pun yang Anda lakukan, jangan merendam sensor Anda di bawah garis putih itu. Tidak ada di atas sana yang akan mentolerir paparan kelembaban terlalu baik, jadi berhati-hatilah saat menyiram tanaman Anda yang mengandung sensor ini.

Jika Anda mengklik foto berikutnya di atas, Anda mungkin bertanya-tanya mengapa sensor saya terendam dalam segelas air. Nah, jangan heran lagi!

Cara Mengkalibrasi 'Sensor Kelembaban Tanah Kapasitif'

Sensor kapasitif kami memiliki tiga kabel yang akan kami sambungkan ke pin analog 3.3v(merah), ground(hitam), dan (sinyal biru) A1. Saat kami mengkalibrasi sensor kami, kami akan merekam pembacaan kapasitansi saat sensor benar-benar kering, dan kemudian melakukan pembacaan kedua saat sensor terendam (sampai garis putih!) dalam segelas air. Ini membuat kami mencapai ambang batas kelembaban relatif ekstrim 0-100%.

Pasang sensor Anda, jalankan sketsa ini, dan catat hasil Anda. Untuk referensi, dryVal saya adalah 807 dan wetVal saya adalah 415.

int inputPin =A1; void setup() { Serial.begin(115200); penundaan(3000); } void loop() { Serial.print("Nilai mentah:"); Serial.println(readHumidity()); penundaan(3000); } int readHumidity() { int sensorVal =analogRead(inputPin); kembali sensorVal; }  

Setelah Anda memiliki dua angka ini, Anda siap untuk mengonfigurasi pemetaan kelembaban relatif. Anggap diri Anda terkalibrasi!

Sketsa

#include  #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h" #include "AnduinoLCD.h" // Parameter WiFi #define WLAN_SSID "Andium" #define WLAN_PASS "maybeitsjustpassword" // Adafruit IO #define AIO_SERVER "io.adafruit.com" #define AIO_SERVERPORT 1883 #define AIO_USERNAME "yourusernname" #define AIO_KEY "dosifje0j230fj32lksdfj230ff23" klien WiFiClient; Adafruit_MQTT_Client mqtt(&klien, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME, AIO_KEY); /****************************** Umpan ****************** *********************/ // Setup feed untuk suhu Adafruit_MQTT_Publish moistureVal =Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/officePlants"); /*Buat instance AnduinoLCD */ AnduinoLCD LCD =AnduinoLCD(ST7735_CS_PIN, ST7735_DC_PIN, ST7735_RST_PIN); int masukanPin =A1; const int dryVal =807; const int wetVal =415; int kelembaban =0; int kelembabanSebelumnya =0; int relKelembaban =0; void setup() { Serial.begin(115200); penundaan(3000); //Hubungkan ke WiFi &Adafruit.IO connectToWiFi(); connectToAdafruit(); //Inisialisasi LCD LCD.begin(); LCDinit(); } void loop() { // ping adafruit io beberapa kali untuk memastikan kita tetap terhubung if(! mqtt.ping(3)) { // sambungkan kembali ke adafruit io if(! mqtt.connected()) connect(); } kelembaban =readHumidity(); //konversi int temp ke array char char b[4]; string str; str=String(kelembaban); for(int i=0; i=0) mqtt.disconnect(); Serial.println(F("Mencoba lagi koneksi...")); penundaan (1000); } Serial.println(F("Adafruit IO Terhubung!")); } void displayHumidity(int kelembaban, int humidtyPrev) { //menghapus nilai basi LCD.setTextColor(ST7735_BLACK); LCD.setTextSize(2); LCD.setTextWrap(benar); LCD.setCursor(40,60); LCD.setTextSize(5); LCD.print(kelembabanSebelumnya); LCD.setTextSize(2); LCD.print("%"); //Cetak nilai baru LCD.setTextColor(ST7735_WHITE); LCD.setTextSize(2); LCD.setTextWrap(benar); LCD.setCursor(40,60); LCD.setTextSize(5); LCD.print(kelembaban); LCD.setTextSize(2); LCD.print("%"); } void connectToWiFi() { // Hubungkan ke titik akses WiFi. penundaan (10); Serial.print(F("Menghubungkan ke ")); Serial.println(WLAN_SSID); WiFi.begin(WLAN_SSID, WLAN_PASS); while (WiFi.status() !=WL_CONNECTED) { delay(500); Serial.print(F(".")); } Serial.println(F("WiFi terhubung!")); } void connectToAdafruit() { // sambungkan ke adafruit io connect(); } void LCDinit() { LCD.setBacklight(ON); LCD.fillScreen(ST7735_BLACK); //membersihkan layar LCD.showBanner(); //muat Andium Banner LCD.setTextColor(ST7735_WHITE); LCD.setTextSize(2); LCD.setTextWrap(benar); LCD.setCursor(0,40); LCD.print("Kelembaban :"); } int readHumidity() { int sensorVal =analogRead(inputPin); relHumidity =peta(sensorVal, dryVal, wetVal, 0, 100); Serial.println("relHumidity"); Serial.print(relHumidity); kembali relHumidity; }  

Salin dan tempel sketsa ini ke IDE Anda dan pastikan Anda telah menginstal pustaka ini.

  • WiFi101
  • Adafruit_MQTT
  • AnduinoLCD

Serta kalibrasi pribadi Anda...

const int dryVal =807; const int wetVal =415;  

nilai basah dan kering. Menuju bagian bawah sketsa ketika kita membacaHumidity() kita menggunakan nilai-nilai ini untuk memetakan 0-100% kelembaban relatif. Jadi sekarang nilai kita akan terbaca 0% saat kering dan 100% saat jenuh penuh.

relHumidity =map(sensorVal, dryVal, wetVal, 0, 100); 

Jika semuanya berjalan dengan baik, dan arduino Anda terhubung ke WiFi dan Adafruit IO, Anda akan mulai melihat pembacaan datang setiap 10 menit. Berikut cuplikan bacaan kami hari ini.

Jangan pedulikan outlier itu sebelumnya hari ini, saya juga menerbitkan sementara saya membaca kapasitansi mentah saya yang belum dipetakan untuk menentukan nilai kering dan basah saya.

Hebat, sekarang setiap 10 menit kami mempublikasikan pembacaan kelembaban tanah kami. Sekarang saya benar-benar tidak peduli apa bacaannya sampai saya harus menyelamatkan tanaman saya dari kematian dan menyiraminya. Mari kita gunakan IFTTT untuk mengatur tingkat kelembaban ambang batas dan mengonfigurasi pemberitahuan agar dikirim sehingga kita diingatkan untuk menyirami tanaman kita!

Ambang Batas IFTTT

Dengan menggunakan IFTTT, saya telah menetapkan ambang batas sehingga ketika kelembaban relatif tanah turun di bawah 20%, tanaman kami yang haus akan menghubungi kami melalui twitter (@andiumPlants) meminta untuk disiram! Berikut sekilas penyiapannya.

Itu dia!

Apa selanjutnya?

Aku serahkan itu padamu! Bagaimana lagi kita bisa secara kreatif memberi suara pada tanaman kita dan menjaga fauna kita agar tidak gagal. Ambil anduinoWiFi dan sensor tanah dan mulailah membuat!

Kode

Anduino
Perpustakaan Arduino untuk perisai Andium(Anduino). Ubah Arduino Anda menjadi AndiumNode.https://github.com/andium/Anduino

Proses manufaktur

  1. Pupuk
  2. Arduino Spybot
  3. FlickMote
  4. TV Buatan Sendiri B-Gone
  5. Jam Master
  6. Temukan Saya
  7. Arduino Power
  8. Tech-TicTacToe
  9. Menentukan Kesehatan Tanaman dengan TinyML
  10. Arduino Quadruped