春天来了,别忘给爱花浇水

2020-03-201.2万
AI 快速预览详细 收起
本项目介绍了一种基于Arduino Pro Mini和土壤传感器的自动浇水系统。硬件清单包括Arduino Pro Mini、土壤传感器、RGB LED和蜂鸣器。通过特定公式计算土壤湿度百分比,并结合RGB LED和蜂鸣器实现直观反馈。项目运行后,RGB LED会显示白色,在把土壤传感探针浸入水中后,RGB会变蓝色,之后蜂鸣器会鸣叫5个不同的频率值,作为对浇水太多的报警。如果想反向操作,例如缺水的报警,可以修改代码中的条件判断语句。
写这个项目主要是因为之前用的带比较器那种土壤传感工作不稳。想试下更好用的土壤传感。用它来照顾爱花。

、、

硬件清单
春天来了,别忘给爱花浇水图1
Arduino pro mini

春天来了,别忘给爱花浇水图2
土壤传感

春天来了,别忘给爱花浇水图3

RGB led

春天来了,别忘给爱花浇水图5
蜂鸣器
===========================================
连线图

春天来了,别忘给爱花浇水图4

[mw_shl_code=applescript,false]/*This sketch is created by gada888*/

const int soil = A0;
int moistVal = 0;

int RLed = 2;
int GLed = 3;
int BLed = 4;

int piezoPin = 8;
int pitches[] = {523, 587, 659, 698, 784};
int numPitches = 5;

void setup(){
  pinMode(soil, INPUT);
  
  Serial.begin(9600);

  pinMode(RLed, OUTPUT);
  pinMode(GLed, OUTPUT);
  pinMode(BLed, OUTPUT);
}
void loop(){
  int percent = 2.718282 * 2.718282 * (.008985 * moistVal + 0.207762);
  moistVal = analogRead(soil);
  
  Serial.println(moistVal);
  Serial.print(percent);
  Serial.println("% Moisture ");
  
  if(moistVal>600&&moistVal<900){
    Serial.println("i feel good");
    digitalWrite(RLed, LOW);
    digitalWrite(BLed, LOW);
    digitalWrite(GLed, HIGH); //Green LED
   
     int i;
   for( i=0; i<numPitches; i++){
   tone(piezoPin, pitches, 200);
   delay(200);
    }
  if(moistVal>700){
    Serial.println("too much water");
    digitalWrite(RLed, LOW);
    digitalWrite(BLed, HIGH); //Blue LED
    digitalWrite(GLed, LOW);
  }
  }
  delay(2000);
}[/mw_shl_code]

项目运行后,RGB led会显示白色,在把土壤传感探针浸入水中后,RGB会变蓝色,之后蜂鸣器会鸣叫5个不同的频率值。作为对浇水太多的报警。
如果想反向操作,例如缺水的报警,就改这一行if(moistVal>600&&moistVal<900){,例如改成if(moistVal<600){
而RGB led颜色的改动,可以改digitalWrite语句,例如digitalWrite(BLed, HIGH);改成digitalWrite(BLed, LOW);

春天来了,别忘给爱花浇水图6

春天来了,别忘给爱花浇水图7
供电用的5v电源。5v+连的是arduino mini 的raw脚。




创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
hnyzcj
hnyzcj
为毛这么好贴没人回复
- 没有更多了 -