欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: arduino充氧仿真裝置Proteus仿真程序 [打印本頁]

作者: 橙小亮    時間: 2020-4-29 01:52
標題: arduino充氧仿真裝置Proteus仿真程序
arduino充氧仿真裝置仿真,這是用于給水進行充氧的,通過檢測水壓以及水溫,再通過一個公式的計算,得到水中的氧含量。從而判斷是否電機是否運行給水中鼓起充氧。

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <OneWire.h>
  2. #include <DallasTemperature.h>
  3. #include <LiquidCrystal.h>
  4. #define MPX_PIN A1                        //定義壓力傳感器MPX4115的引腳連接
  5. #define LED_PIN     9                     //定義led指示燈的引腳連接
  6. #define MOTOR_PIN   9                     //定義電機的引腳連接
  7. #define DS18B20     10                    //定義ds18b20的引腳連接
  8. #define JIA_1       11                    //定義設定值+1的引腳連接
  9. #define JIAN_1      13                    //定義設定值-1的引腳連接

  10. OneWire oneWire(DS18B20);
  11. DallasTemperature sensors(&oneWire);

  12. LiquidCrystal myLcd(2,3,4,5,6,7,8);  //聲明一個1602 LCD對象

  13. float temp = 0;  //初始化溫度變量
  14. float mpx = 0;   //初始化壓力變量
  15. float DOf = 5;
  16. int time_n = 0;   
  17. int time_num = 0;   
  18. float DOF = 5;        //初始設計氧含量的值

  19. void setup(){
  20.   // 初始庫
  21.   sensors.begin();
  22.   
  23.   myLcd.begin(16,4);
  24.   pinMode(JIA_1,INPUT);
  25.   pinMode(JIAN_1,INPUT);
  26.   pinMode(MOTOR_PIN,OUTPUT);
  27.   analogWrite(MOTOR_PIN, 0);
  28.   Serial.begin(9600);
  29.   
  30.   myLcd.setCursor(0, 0);    //將1602 LCD光標移動到第一行第一列
  31.   myLcd.print(String("temp:"));
  32.   myLcd.setCursor(0, 1);    //將1602 LCD光標移動到第二行第一列
  33.   myLcd.print(String("mpx :"));
  34.   myLcd.setCursor(0, 2);    //將1602 LCD光標移動到第三行第一列
  35.   myLcd.print(String("Ture oxygen:"));
  36.   myLcd.setCursor(0, 3);    //將1602 LCD光標移動到第四行第一列
  37.   myLcd.print(String("Set oxygen :"));
  38. }

  39. void loop(){
  40.   
  41.   //測溫
  42.   sensors.requestTemperatures(); // 發送命令獲取溫度
  43.   temp = sensors.getTempCByIndex(0);

  44.   //測壓
  45.   mpx = analogRead(MPX_PIN);    //讀取模擬量數據
  46.   mpx = map(mpx,54,973,15,115); //模擬量輸出是54-973  測量的電壓為15-115Pa**千萬別改,測出來的
  47.   
  48.   //鍵盤檢測
  49.   if(digitalRead(JIA_1) == HIGH){
  50.     DOF = DOF + 1;  
  51.     delay(100);        //消抖
  52.   }
  53.   else
  54.     DOF=DOF;
  55.    
  56.   if(digitalRead(JIAN_1) == HIGH){
  57.     DOF = DOF - 1;  
  58.     delay(100);       //消抖
  59.   }
  60.   else
  61.     DOF=DOF;
  62.    
  63.   //計算是否低于設定值
  64.   DOf = (mpx/101)*(471.01/(temp+31.98));      //101是大氣壓
  65.   if(DOf < DOF)
  66.     analogWrite(MOTOR_PIN, 255);
  67.   else
  68.     analogWrite(MOTOR_PIN, 0);
  69.   
  70.   //顯示
  71.   myLcd.setCursor(5, 0);   
  72.   myLcd.print(String(temp) + String(" 'C"));
  73.   myLcd.setCursor(5, 1);  
  74.   myLcd.print(String(mpx) + String(" KPa"));
  75.   myLcd.setCursor(12, 2);   
  76.   myLcd.print(String(DOf));
  77.   myLcd.setCursor(12, 3);   
  78.   myLcd.print(String(DOF));
  79. }
復制代碼

所有資料51hei提供下載:
充氧裝置仿真.zip (3.44 MB, 下載次數: 35)


作者: 云天茗悠    時間: 2020-5-4 22:19
不錯不錯學習一下
作者: lovers    時間: 2020-6-19 08:20
設定氧氣濃度那里 一直按沒有反應啊,加到6就不動了
作者: Highnose    時間: 2020-10-24 12:10
請問樓主,這個壓力傳感器能放水里嗎?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1