毕业设计 单片机农业土壤酸度检测系统
文章目錄
- 0 前言
- 1 簡(jiǎn)介
- 2 主要器件
- 3 實(shí)現(xiàn)效果
- 4 硬件設(shè)計(jì)
- 土壤酸堿度傳感器
- 土壤pH傳感器與Arduino的硬件連接
- 5 軟件說(shuō)明
- 土壤pH傳感器的Arduino代碼
- 6 最后
0 前言
🔥 這兩年開始畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長(zhǎng)自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。
為了大家能夠順利以及最少的精力通過(guò)畢設(shè),學(xué)長(zhǎng)分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)目,今天要分享的是
🚩 畢業(yè)設(shè)計(jì) 單片機(jī)農(nóng)業(yè)土壤酸度檢測(cè)系統(tǒng)
🥇學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分)
- 難度系數(shù):3分
- 工作量:3分
- 創(chuàng)新點(diǎn):3分
🧿 選題指導(dǎo), 項(xiàng)目分享:
https://gitee.com/dancheng-senior/project-sharing-1/blob/master/%E6%AF%95%E8%AE%BE%E6%8C%87%E5%AF%BC/README.md
1 簡(jiǎn)介
本項(xiàng)目使用土壤酸堿度傳感器(pH Sensor)和Arduino開發(fā)板制作自己的土壤酸度計(jì),用于測(cè)量土壤的pH值。土壤可以是天然酸性或堿性的,可以通過(guò)測(cè)試其pH值來(lái)測(cè)量。土壤pH值是衡量土壤酸度或堿度的指標(biāo)。
除了土壤pH值外,土壤中的氮、磷、鉀、EC和鹽度含量也對(duì)植物生長(zhǎng)有用。對(duì)于NPK含量的測(cè)量,我們可以使用NPK Sensor。對(duì)于土壤電導(dǎo)率(EC)和鹽度測(cè)量,我們可以使用土壤EC傳感器,但與土壤NPK相比,土壤pH值是完全不同的因素。
在這文中,我們將了解土壤酸度傳感器和Arduino的連接方法,并設(shè)計(jì)一款簡(jiǎn)易的Arduino土壤酸度計(jì),并在0.96寸OLED顯示屏上顯示土壤pH值。
2 主要器件
- Arduino Nano開發(fā)板
- HONDETEC土壤pH傳感器
- 0.96寸I2C OLED顯示屏
- MAX485 Modbus模塊
- 5V - 30V直流電源
- 連接跳線
- 面包板
3 實(shí)現(xiàn)效果
傳感器穩(wěn)定下來(lái),就可以開始測(cè)試了。傳感器暴露在空氣中時(shí)的Ph值為7.0,可以在OLED顯示屏上觀察到
另外,將傳感器放入不同的土壤樣本中。您會(huì)看到pH值的變化取決于土壤的類型。 該值像模擬土壤酸度傳感器一樣增加或減少,也可以用作物聯(lián)網(wǎng)土壤酸度傳感器。
4 硬件設(shè)計(jì)
土壤酸堿度傳感器
這是一款防水防塵的土壤pH傳感器,可以測(cè)量從3到9的土壤pH值,精度高達(dá)±0.3PH。傳感器具有IP68保護(hù)殼,采用高密度環(huán)氧樹脂密封,可防止水分進(jìn)入機(jī)身內(nèi)部。該傳感器適用于農(nóng)業(yè)種植、工業(yè)生產(chǎn)、環(huán)境監(jiān)測(cè)、畜牧業(yè)和污水處理。
土壤pH傳感器有4個(gè)引腳,因?yàn)樗枰B接到RS485模塊。四種顏色的電線是黃色、藍(lán)色、黑色和棕色。
該模塊使用的通信協(xié)議是Modbus。設(shè)備作為從機(jī)設(shè)備工作,設(shè)備地址如下所示。您可以發(fā)送該指令或查詢幀并讀取設(shè)備地址0x01處的土壤pH。
您將獲得如下響應(yīng)幀。從響應(yīng)幀中,您可以計(jì)算pH值。
根據(jù)收到的響應(yīng)幀數(shù)據(jù),您可以計(jì)算pH值。第4位(從第0 開始)是pH值。假設(shè)我們得到的是0047H(十六進(jìn)制)= 71 十進(jìn)制 => pH = 7.1pH
土壤pH傳感器與Arduino的硬件連接
現(xiàn)在,讓我們使用MAX485 Modbus模塊將土壤pH傳感器與Arduino Nano開發(fā)板連接起來(lái)。連接圖如下。
Modbus的RO和DI引腳使用軟件串口連接到Arduino的D2和D3。同樣,我們必須設(shè)置D?E和RE高電平,因此將它們連接到Arduino的D7和D8引腳。pH傳感器有4根電線。棕色的是 VCC,需要一個(gè)5V-30V的電源,可以連接到Arduino的5V。黑色線的GND引腳需要連接到Arduino的GND。B 腳藍(lán)線連接到MAX485的B腳,黃線A腳連接到MAX485的A腳。
0.96寸SSD1306 OLED顯示屏是I2C模塊。OLED顯示屏的VCC和GND分別連接到Arduino的3.3V和GND。另外,將它的SDA和SCL引腳連接到Arduino的A4和A5。按照電路圖在面包板上組裝電路。
5 軟件說(shuō)明
土壤pH傳感器的Arduino代碼
下面給出的代碼用于將土壤pH傳感器與Arduino連接并通過(guò)Modbus命令從傳感器中檢索土壤pH值。您可以發(fā)送命令并檢索代碼中的HEX值。需要將十六進(jìn)制代碼轉(zhuǎn)換為十進(jìn)制才能獲得測(cè)量的土壤pH值數(shù)據(jù)。
由于我們使用OLED顯示屏進(jìn)行顯示,因此需要OLED庫(kù)。下載以下OLED庫(kù)并將其添加到Arduino IDE。
Adafruit SSD1306庫(kù)
Adafruit GFX庫(kù)
以下是完整的源代碼。編譯并上傳到Arduino Nano開發(fā)板
#include <SoftwareSerial.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>#define RE 8 #define DE 7const byte ph[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x0A}; byte values[11]; SoftwareSerial mod(2, 3);#define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define OLED_RESET -1 // Reset pin # (or -1 if sharing reset pin) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);void setup() {Serial.begin(9600);mod.begin(4800);pinMode(RE, OUTPUT);pinMode(DE, OUTPUT);if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)){Serial.println(F("SSD1306 allocation failed"));for (;;); // Don't proceed, loop forever}display.display();delay(100);display.clearDisplay();display.clearDisplay();display.setTextColor(WHITE);display.setTextSize(2);display.setCursor(20, 20);display.print("PH Meter");display.display();delay(3000); }void loop() {byte val;digitalWrite(DE, HIGH);digitalWrite(RE, HIGH);delay(10);if (mod.write(ph, sizeof(ph)) == 8){digitalWrite(DE, LOW);digitalWrite(RE, LOW);for (byte i = 0; i < 11; i++){values[i] = mod.read();Serial.print(values[i], HEX);}Serial.println();}float soil_ph = float(values[4]) / 10;Serial.print("Soil Ph: ");Serial.println(soil_ph, 1);display.clearDisplay();display.setTextSize(2);display.setCursor(20,0);display.println("Ph Value");display.setTextSize(3);display.setCursor(35,30);display.print(soil_ph, 1);display.display();delay(3000); }6 最后
總結(jié)
以上是生活随笔為你收集整理的毕业设计 单片机农业土壤酸度检测系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 解决this application f
- 下一篇: 基于android的二维码的图书馆座位预