|
arduino充氧仿真裝置仿真,這是用于給水進行充氧的,通過檢測水壓以及水溫,再通過一個公式的計算,得到水中的氧含量。從而判斷是否電機是否運行給水中鼓起充氧。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (35.96 KB, 下載次數: 87)
下載附件
2020-4-29 02:37 上傳
單片機源程序如下:
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #include <LiquidCrystal.h>
- #define MPX_PIN A1 //定義壓力傳感器MPX4115的引腳連接
- #define LED_PIN 9 //定義led指示燈的引腳連接
- #define MOTOR_PIN 9 //定義電機的引腳連接
- #define DS18B20 10 //定義ds18b20的引腳連接
- #define JIA_1 11 //定義設定值+1的引腳連接
- #define JIAN_1 13 //定義設定值-1的引腳連接
- OneWire oneWire(DS18B20);
- DallasTemperature sensors(&oneWire);
- LiquidCrystal myLcd(2,3,4,5,6,7,8); //聲明一個1602 LCD對象
- float temp = 0; //初始化溫度變量
- float mpx = 0; //初始化壓力變量
- float DOf = 5;
- int time_n = 0;
- int time_num = 0;
- float DOF = 5; //初始設計氧含量的值
- void setup(){
- // 初始庫
- sensors.begin();
-
- myLcd.begin(16,4);
- pinMode(JIA_1,INPUT);
- pinMode(JIAN_1,INPUT);
- pinMode(MOTOR_PIN,OUTPUT);
- analogWrite(MOTOR_PIN, 0);
- Serial.begin(9600);
-
- myLcd.setCursor(0, 0); //將1602 LCD光標移動到第一行第一列
- myLcd.print(String("temp:"));
- myLcd.setCursor(0, 1); //將1602 LCD光標移動到第二行第一列
- myLcd.print(String("mpx :"));
- myLcd.setCursor(0, 2); //將1602 LCD光標移動到第三行第一列
- myLcd.print(String("Ture oxygen:"));
- myLcd.setCursor(0, 3); //將1602 LCD光標移動到第四行第一列
- myLcd.print(String("Set oxygen :"));
- }
- void loop(){
-
- //測溫
- sensors.requestTemperatures(); // 發送命令獲取溫度
- temp = sensors.getTempCByIndex(0);
- //測壓
- mpx = analogRead(MPX_PIN); //讀取模擬量數據
- mpx = map(mpx,54,973,15,115); //模擬量輸出是54-973 測量的電壓為15-115Pa**千萬別改,測出來的
-
- //鍵盤檢測
- if(digitalRead(JIA_1) == HIGH){
- DOF = DOF + 1;
- delay(100); //消抖
- }
- else
- DOF=DOF;
-
- if(digitalRead(JIAN_1) == HIGH){
- DOF = DOF - 1;
- delay(100); //消抖
- }
- else
- DOF=DOF;
-
- //計算是否低于設定值
- DOf = (mpx/101)*(471.01/(temp+31.98)); //101是大氣壓
- if(DOf < DOF)
- analogWrite(MOTOR_PIN, 255);
- else
- analogWrite(MOTOR_PIN, 0);
-
- //顯示
- myLcd.setCursor(5, 0);
- myLcd.print(String(temp) + String(" 'C"));
- myLcd.setCursor(5, 1);
- myLcd.print(String(mpx) + String(" KPa"));
- myLcd.setCursor(12, 2);
- myLcd.print(String(DOf));
- myLcd.setCursor(12, 3);
- myLcd.print(String(DOF));
- }
復制代碼
所有資料51hei提供下載:
充氧裝置仿真.zip
(3.44 MB, 下載次數: 35)
2020-4-29 01:48 上傳
點擊文件名下載附件
通過檢測水中壓力和溫度,判斷氧含量 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|