水培
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
水培是一种无土农业。随着时间的推移,土壤会失去养分和肥力,因此我们可以使用水培法。植物的生长和营养也可以得到改善和控制。只能在一年中的特定时间生长并全年生长的植物。我们还可以监测植物的生长、土壤的养分水平、土壤中的水分和接收到的光量。
简介
该项目是实际系统的模型。在这里,我们用可可粉代替土壤。相对于正常土壤,我们可以轻松控制可可粉的水分和营养成分。在这个项目中,我们只控制植物生长的三个标准,即湿度、光照和温度。对于我们的模型,我们使用的是莴苣植物的规格
- 温度:25 到 30 摄氏度。
- 湿度:50% 到 80%。
- 光强度:每秒 250 个光子。
灯光控制
对于我们的模型,我们使用串联和并联连接的 3 毫米 LED 阵列。我们使用了 16 个 LED、8 个红色 LED 和 8 个蓝色 LED。串联 4 个 LED 的阵列需要 12v 电源。所以我们使用的是12v的外部电源。为了在 Arduino 的帮助下控制 LED,我们使用了一个光耦合器 IC 4N35。对于光强度的信息,我们使用带有 LDR 的光传感器。为了获得更好的性能,我们可以安装光电二极管传感器。我们已经使用 Arduino 中的代码将光传感器的读数转换为每秒光子。
温度控制
植物生长需要适宜的温度。所以我们在两个风扇和一个白炽灯泡的帮助下控制模型的温度。
为了感应周围的温度,我们使用了 IC LM35。感测温度并将数据提供给 Arduino。当温度高于所需值时,我们需要冷却周围环境,因此打开冷却风扇。当温度低于所需值时,我们需要提高周围温度,因此打开加热风扇和白炽灯泡。灯泡被放在一个单独的盒子外面,所以它的光强度不会影响我们的光传感器。灯泡加热盒子,加热风扇将热空气扔到里面。
风扇由电机驱动控制,白炽灯泡由继电器控制。
湿度控制
可可粉中应含有适量的水颗粒,以便植物进行光合作用。为了感应土壤的湿度,我们使用 DHT11 传感器。该传感器可以感应温度和湿度,但我们仅将其用于湿度感应。
为了增加可可粉的含水量,我们用一根管子把水泵连接起来,并在管子上打了一些孔。 (滴灌的概念)。
需要注意的地方。
- DHT11 传感器的响应时间为 1 Hz,因此每次读数之间的时间延迟应至少为 1 秒。
- 串联 4 个 LED 的行需要 12v 电源。
- 在将 230V 连接到 PCB 或面包板时保持安全,用电工胶带将裸线绝缘。
- 不要给光耦合器直接信号,在它们之间连接一个电阻。
- 使用的无刷直流风扇是单向的,因此请相应地安装。
代码
- 水培
水培Arduino
#includeint pinDHT11 =41;intcoolingFan=50;intheatingFan=48;intheater=3;int LEDrow1=25;int LEDrow2=27;int LEDrow3=29;int LEDrow4=31; int pump=31;SimpleDHT11 dht11;void setup(){Serial.begin(115200); pinMode(冷却风扇,输出); pinMode(heatingFan,OUTPUT); pinMode(加热器,输出); pinMode(LEDrow1,OUTPUT); pinMode(LEDrow2,OUTPUT); pinMode(LEDrow3,OUTPUT); pinMode(LEDrow4,OUTPUT); pinMode(pump,OUTPUT);}void loop(){ temperature();光();湿度();}void temperature(){ int value=analogRead(A10);浮动电压=(值/1024.0)*5.0;浮动温度=伏特*100.0; Serial.print("temp="); Serial.println(temp);延迟(1000); if(temp<25){ digitalWrite(heater,LOW);数字写入(加热风扇,高); } else{ digitalWrite(heater,HIGH);数字写入(加热风扇,低); } if(temp> 30){ digitalWrite(coolingFan,HIGH); }else{ digitalWrite(coolingFan,LOW); }}void light(){float ldrdata=analogRead(A8);float resistanceVolt=(1024-ldrdata)/1024.0*5.0;float ldrVolt=5.0-resistorVolt;float ldrResistance=ldrVolt/resistorVolt*5000.0;float luxort=(1024-ldrdata)/1024.0*5.0;float ldrVolt=5.0-resistorVolt;float ldrResistance=ldrVolt/resistorVolt*5000.0; *(pow(ldrResistance,-1.405));float photons=lux*0.019;//Serial.println(photons);delay(1000);if(photons<50){ digitalWrite(LEDrow1,HIGH);数字写入(LEDrow2,高);数字写入(LEDrow3,高); digitalWrite(LEDrow1,HIGH);}if(photons>100){ digitalWrite(LEDrow1,LOW);数字写入(LEDrow2,低);数字写入(LEDrow3,低); digitalWrite(LEDrow4,LOW);}}void HIV() { // 开始工作... //Serial.println("==================================); //Serial.println("DHT11 示例..."); // 无样本读取。字节温度 =0;字节湿度 =0; int err =SimpleDHTErrSuccess; if ((err =dht11.read(pinDHT11, &温度, &湿度, NULL)) !=SimpleDHTErrSuccess) { //Serial.print("读取 DHT11 失败, err="); Serial.println(错误);延迟(1000);返回; } 湿湿=(int)湿度; //Serial.print("样品正常:"); // Serial.print(潮湿); Serial.println("H"); // DHT11 采样率为 1HZ。延迟(2000);如果(潮湿<85){数字写入(泵,高);数字写入(冷却风扇,低); }如果(潮湿> 94){digitalWrite(coolingFan,HIGH);数字写入(泵,低);}}
示意图
制造工艺