- #include <HX711.h>//寻找指令后面<>中的文件名,并把这个文件的内容包含到当前文件中,质量测试模块
- #include <SD.h>//SD卡模块
- #include <SPI.h>
- #define RELAY 6//是宏定义的意思,将一个RELAY变量强制定义为6号脚位
- #define PIN_AO 2//湿度传输口2,8
- File myFile;
- int val = 0;//定义变量并初始化
- int pinCS = 4;
- void setup()
- {
- Init_Hx711();//初始化HX711模块连接的IO设置
- Serial.begin(9600);//链接电脑输出
- delay(3000);//时间延迟
- Get_Maopi();//获取毛皮
- pinMode(RELAY,OUTPUT);//用以配置引脚为输出或输出模式。
- pinMode(pinCS,OUTPUT);
- //pinMode(PIN_AO, INPUT);
- if (SD.begin())
- {Serial.println("SD card is ready to use");
- }else
- {Serial.println("SD card aaaazinutialization failed");
- return;
- }
- //SD.remove("example.txt"); //删除文件example.txt
- }
- void loop()
- { val = Get_Weight();//计算放在传感器上的重物重量,采集的的是电信号
- Serial.print("Mass=");
- Serial.print(20.159*int(val));//在串口监视器中显示重量
- Serial.println("g");//显示单位
-
- myFile=SD.open("test.txt",FILE_WRITE);//创建并打开文件进行写入
- myFile.print("Mass=");
- myFile.print(20.159*int(val));
- myFile.println("g");
-
- {while(val<-500)//当质量型号小于最小值时执行以下循环
- {while(val<100000)//当质量型号小于最大值时执行以下循环
- {digitalWrite(RELAY,LOW);//继电器低电平,打开水泵
- val = Get_Weight(); //采集放在传感器上的重物重量
- Serial.print("Mass=");
- Serial.print(20.159*int(val)); //串口显示重量
- Serial.println("g\n");//显示单位
- myFile.print("Mass=");
- myFile.print(20.159*int(val)); //在串口监视器中显示重量
- myFile.println("g\n");//显示单位
- }
- digitalWrite(RELAY,HIGH);}//当质量大于最大值时,继电器输入高点平,断开水泵
- }//return;//返回到重新采集质量数据,然后再循环进行判断
-
- Serial.print("AO=");
- Serial.println(analogRead(PIN_AO));
-
- myFile.print("AO=");
- myFile.println(analogRead(PIN_AO));
- myFile.close();
- }
复制代码
|