Skip to content

Commit

Permalink
添加项目文件。
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonYANG170 committed Mar 14, 2023
1 parent 1000a34 commit 0949f8c
Show file tree
Hide file tree
Showing 8 changed files with 491 additions and 0 deletions.
51 changes: 51 additions & 0 deletions 智能节水花盆.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.4.33403.182
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "智能节水花盆", "智能节水花盆\智能节水花盆.vcxproj", "{9C776B16-FBEB-40D4-A346-114384E760E3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM.ActiveCfg = Debug|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM.Build.0 = Debug|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM.Deploy.0 = Debug|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM64.ActiveCfg = Debug|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM64.Build.0 = Debug|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|ARM64.Deploy.0 = Debug|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x64.ActiveCfg = Debug|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x64.Build.0 = Debug|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x64.Deploy.0 = Debug|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x86.ActiveCfg = Debug|x86
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x86.Build.0 = Debug|x86
{9C776B16-FBEB-40D4-A346-114384E760E3}.Debug|x86.Deploy.0 = Debug|x86
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM.ActiveCfg = Release|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM.Build.0 = Release|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM.Deploy.0 = Release|ARM
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM64.ActiveCfg = Release|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM64.Build.0 = Release|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|ARM64.Deploy.0 = Release|ARM64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x64.ActiveCfg = Release|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x64.Build.0 = Release|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x64.Deploy.0 = Release|x64
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x86.ActiveCfg = Release|x86
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x86.Build.0 = Release|x86
{9C776B16-FBEB-40D4-A346-114384E760E3}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B13AE56C-A90A-44BB-ACE8-3D913CC2041E}
EndGlobalSection
EndGlobal
20 changes: 20 additions & 0 deletions 智能节水花盆/__vm/.智能节水花盆.vsarduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
Editor: https://www.visualmicro.com/
This file is for intellisense purpose only.
Visual micro (and the arduino ide) ignore this code during compilation. This code is automatically maintained by visualmicro, manual changes to this file will be overwritten
The contents of the _vm sub folder can be deleted prior to publishing a project
All non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!).
Note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again
Hardware: Arduino Uno WiFi (unowifi), Platform=avr, Package=arduino
*/

#if defined(_VMICRO_INTELLISENSE)

#ifndef _VSARDUINO_H_
#define _VSARDUINO_H_
#include <arduino.h>
#include <pins_arduino.h>
#include "..\智能节水花盆.ino"
#endif
#endif
37 changes: 37 additions & 0 deletions 智能节水花盆/__vm/Compile.vmps.xml

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions 智能节水花盆/__vm/Configuration.Debug.vmps.xml

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions 智能节水花盆/src/arduino folders read me.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#####################################################
Arduino How To: Use sub folders for source code
http://www.visualmicro.com/
#####################################################

* .INO code can exist in the project folder and '\src' folder.
* .Cpp/.c/.S/.h etc. can exist in the project folder, the '\src' folder and in any folder(s) below the '\src' folder.
* .Cpp/.c/.S/.h sources in shared code projects should follow the same folder rules (because they are merged with the project sources into a temporary build folder prior to compile).

* Use the 'Show All Files' icon above the 'Solution Explorer' to switch between 'included project files' and 'physical files/folders'.
* Source code in the project folder will always be compiled regardless of inclusion in the project. This functionality can be disabled in Global Options.



202 changes: 202 additions & 0 deletions 智能节水花盆/智能节水花盆.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
/*
Name: 智能节水花盆.ino
Created: 2023/3/15 0:22:26
Author: qw200
*/

#include <GFX4d.h>
#include <UnoWiFiDevEd.h>
#include <Adafruit_SSD1306.h> //驱动128x64 and 128x32 的屏幕显示的库
#include <Adafruit_GFX.h> //Arduino的图形库
#include <Wire.h>
#include <SPI.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)

#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
// Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain

int M0 = 1024; //在空气中AO读取的值最大为1024,代表干燥时的读数
int M1 = 0; //浸泡在水里的最小值 464(最小值会改变),代表100%湿度
int PIN_AO = 14; //与wifi不冲突的pin
int in1 = 0;
int in2 = 2;
int LED = 15;
#include <DHT.h>
#define DHTPIN 13//刚才插得2号引脚
#define DHTTYPE DHT11//定义类型
DHT dht(DHTPIN, DHTTYPE);//进行初始化设置

int buttonPin = 12; // 将开关连接到
int buttonState = 0;
void setup() {
Serial.begin(9600);
dht.begin();//DHT开始工作
pinMode(PIN_AO, INPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(LED, OUTPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(LED, LOW);
pinMode(buttonPin, INPUT_PULLUP); //
//Serial.println("OLED FeatherWing test"); //串口输出信息

display.begin(SSD1306_SWITCHCAPVCC, 0x3c); //初始化OLED并设置其IIC地址为 0x3C
display.clearDisplay(); //清屏
delay(200);

display.setTextSize(1.3);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0); //设置光标的位置

//绘制像素点
// display.drawPixel(64, 32, WHITE);//(x坐标,y坐标,颜色)

//绘制水平线
// display.drawFastHLine(64,32,64,SSD1306_WHITE);//(x起点,y起点,长度,颜色)
//绘制竖直线
// display.drawFastVLine(64,10,50,SSD1306_WHITE);

//绘制线
// display.drawLine(0,0,128,64,SSD1306_WHITE);//(x起,y起,x终,y终)

//绘制空心矩形
// display.drawRect(0,0,128,64,SSD1306_WHITE);//(左上角x坐标,左上角y坐标,矩形长,矩形宽)

//绘制实心矩形
//display.fillRect(20,10,88,44,SSD1306_WHITE);//同上

//点亮全屏
// display.fillScreen(SSD1306_WHITE);

//绘制空心圆
//display.drawCircle(64,32,32,SSD1306_WHITE);//(圆心x坐标,圆心y坐标,半径)

//绘制实心圆
//display.fillCircle(64,32,31,SSD1306_WHITE);

//绘制空心三角形
//display.drawTriangle(63,0, 0,63, 127,63, SSD1306_WHITE);//(第一顶点坐标[x,y],第二,第三)

//绘制实心三角形
// display.fillTriangle(63,0, 0,63, 127,63, SSD1306_WHITE);

//绘制空心圆角矩形
//display.drawRoundRect(10,5,107, 43,8, SSD1306_WHITE);//(左上角x,左上角y,矩形长,矩形宽,矩形圆角半径)

//实心圆角
//display.fillRoundRect(10,5,107,53,3, SSD1306_WHITE);

//绘制Bitmap图像
//Bimap图像数据




display.display();
display.println("");
display.println("");

display.println(" Wellcome To\n YANG\nIntelligent Flowerpot");
display.display();
delay(8000);
// display.begin(SSD1306_SWITCHCAPVCC, 0x3c); //初始化OLED并设置其IIC地址为 0x3C
}

void loop() {
// delay(2000);

buttonState = digitalRead(buttonPin);

Serial.println(analogRead(14));//湿度传感器接ESP32上的GPIO号
delay(100);
if (buttonState == LOW) { // 判断是否按下开关
display.clearDisplay(); //清屏
delay(200);


display.setTextSize(1.3);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0); //设置光标的位置

// display.clearDisplay();
//delay(8000);

digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
digitalWrite(LED, LOW);

display.println("Hello, user!");
display.println("");
display.println("Enter Emergency\nBraking");
display.println("");
display.println("All programs have\nbeen closed for you");
display.display();

// actually display all of the above

delay(2000);
}
else {

float h = dht.readHumidity();//读湿度
float t = dht.readTemperature();//读湿度
Serial.print("Humidity:");//湿度
Serial.print(h);
Serial.println("%");
Serial.print("Temperatrue:");//温度
Serial.print(t);
Serial.println("C");
display.clearDisplay();
delay(200);
display.setTextSize(1.3);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0); //设置光标的位置
float HUMI = ((M0 - analogRead(PIN_AO)) / ((M0 - M1) / 100)); //将湿度模拟量转换成数字量
if (HUMI > 100.00) {
HUMI = 100;
}
if (HUMI > 80) {
digitalWrite(in2, LOW);
digitalWrite(in1, LOW);
digitalWrite(LED, LOW);
}
else {
digitalWrite(in2, LOW);
digitalWrite(in1, HIGH);
digitalWrite(LED, HIGH);
}
Serial.print("HUMI= ");
Serial.print(HUMI);
Serial.println("% ");
display.println("---------YANG--------");
display.println("");
display.print("Temperature: ");
display.print(t);
display.println("C");
display.print("Humidity: ");//湿度
display.print(h);
display.println("%");
display.print("Soil Moisture: ");
display.println(HUMI);
if (HUMI > 80) {
display.println("Watter: OFF");
display.println("Photosynthesis: OFF");
}
else {
display.println("Watter: ON");
display.println("Photosynthesis: ON");
}

display.println("---Have a nice DAY!--");
//delay(1000);
display.display();


}
}
Loading

0 comments on commit 0949f8c

Please sign in to comment.