资讯详情

arduino+屏幕+短信+土壤湿度传感器

家里种了一些雏菊,对土壤湿度要求很高,对我这样的新手来说还是有些困难的。为了掌握花盆的湿度,使用它arduino一个小的土壤湿度监测装置,可以通过小屏幕观察土壤湿度,也可以通过SIM900A,收到短信湿度短信。我贴出源码,有时间补充照片和设备连接。

#include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_ST7735.h> // Hardware-specific library for ST7735 #include <SPI.h> #include <SD.h> #include<Arduino.h> #include<String.h>

#define TFT_CS 10 #define TFT_RST 9 ///我在这里用的arduino硬复位,软复位请9脚 #define TFT_DC 8

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);

/读取土壤湿度传感器的模拟量/ float vpp = 0.0048828125; //5/1023 转换电压系数

void setup() { Serial.begin(9600); tft.initR(INITR_144GREENTAB); //初始化 tft.fillScreen(ST7735_BLACK);//设置黑屏 tft.setRotation(0)//旋转屏幕 Serial.print(“AT CMGD=1\r\n”); }

void loop() { int counts = analogRead(A0); //A0接模拟采样口 int counts2 = analogRead(A1); //A0接模拟采样口 int counts3 = analogRead(A5); //A0接模拟采样口 int humidity= map(counts,0,1023,100,0); int humidity2= map(counts二、0、1023、100、0); int humidity3= map(counts三、0、1023、100、0); tft.setTextColor(ST7735_RED);///设置字体颜色为黄色 tft.setTextSize(1)//设置字体大小 tft.setCursor(0,10); tft.print(“NO.1 humidity: “); tft.print(humidity); tft.println(” % “); tft.println(””); tft.print(“NO.2 humidity: “); tft.print(humidity2); tft.println(” % “); tft.println(””); tft.print(“NO.3 humidity: “); tft.print(humidity3); tft.println(” % “); tft.println(””); tft.fillScreen(ST7735_BLACK); delay(21600000);

CS(); CF(); CG();

Serial.print(humidity); delay(9000); Serial.println(" %RH");

Serial.print(“NO2 humidity= “); ///短信内容 delay(9000); Serial.print(humidity2); delay(9000); Serial.println(” %RH”);

Serial.print(“NO3 humidity= “); ///短信内容 delay(9000); Serial.print(humidity3); delay(9000); Serial.println(” %RH”); WR(); }

void CS(){ Serial.print(“AT CSCS=“GSM”\r\n”); //设置GSM字符集 //Serial.print(““AAAA””); delay(9000); }

void CF(){ Serial.print(“AT CMGF=1\r\n”); ///设置为文本模式 delay(9000); }

void CG(){ Serial.print(“AT CMGS=“18853105850”\r\n”); //设置手机号码 delay(9000); Serial.print("NO1 humidity= "); ///短信内容 delay(9000); }

void CQ(){ Serial.print(“AT CMGS=“18853105850”\r\n”); //设置手机号码 delay(9000); Serial.print("NO1 humidity= "); ///短信内容 delay(9000); }

void WR(){ delay(9000); Serial.write(0x1A); }

标签: humidity传感器土壤含传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台