绚烂的自动浇花系统~~~
本帖最后由 maker_王 于 2016-3-31 12:47 编辑废话少说,直接上图:
由于制作的过程中没拍照片,所以只能上成品图,当然还是需要完善的:
先来说说制作材料吧:
1.8*8点阵x1;
2.土壤湿度传感器x1;
3.arduino cheapx1;
4.继电器x1;
5.升压芯片x1;
6.潜水泵x1;
7.开关x1;
8.led小灯x1;
9.Max7218x1(驱动点阵);
(第一次写这么详细,多多包涵,大概的材料应该是这些了,如果有漏下的,后续会补上)
设计思路:
整个思路设计和图通的灌溉系统差不多,根据土壤湿度传感器采集的电压信号,判断出土壤中的湿度状况,当土壤中的湿度程度低于我们程序设计中的灌溉设定值时,打开水泵进行浇水,之后当湿度程度到达我们设计的理想值时,关闭水泵(我还想了另外一个系统,当土壤中的湿度程度低于我们程序设计中的灌溉设定值时,打开水泵进行浇水,之后延时一定时间,关闭水泵);我整个思路中加入了点阵,设计成心形,将土壤湿度程度转化为心形的动态显示,就好比手机的电量显示。另外就是整个外形的设计,不想多说什么,说多了都是泪:'(,值得一提的是我在顶部设计了一个LED灯,我也不知道当初是怎么想的;P。
模型设计:
因为整个模型设计的时候考虑了很多,东西虽然做出来了,可是模型有点乱,所以我也就不放模型的文件了,只能给大家上图,做做参考。。。。:loveliness:
还有一些小东西,有点乱,就不放了,多多见谅:$
程序设计:程序 #include "LedControl.h"
LedControl lc=LedControl(11,9,10,1);
/* we always wait a bit between updates of the display */
unsigned long delaytime=100;
unsigned long delaytime1=2000;
void setup() {
/*
The MAX72XX is in power-saving mode on startup,
we have to do a wakeup call
*/
lc.shutdown(0,false);
/* Set the brightness to a medium values */
lc.setIntensity(0,8);
/* and clear the display */
lc.clearDisplay(0);
pinMode( 18, OUTPUT);
}
byte temp = B10000000;
byte tempA = {
B00000000,
B01100110,
B11111111,
B11111111,
B11111111,
B01111110,
B00111100,
B00011000
};
byte tempB = {
B00000000,
B01100110,
B10011001,
B10000001,
B10000001,
B01000010,
B00100100,
B00011000
};
byte tempC={0};
void follow()
{
int b=analogRead(0)/146;
if(b<2)digitalWrite( 18 , HIGH );
else digitalWrite( 18 , LOW);
for(int i=0;i<8;i++)
{
if(i<(8-b))tempC=tempB;
else tempC = tempA;
}
lc.setRow(0,0,tempC);
lc.setRow(0,1,tempC);
lc.setRow(0,2,tempC);
lc.setRow(0,3,tempC);
lc.setRow(0,4,tempC);
lc.setRow(0,5,tempC);
lc.setRow(0,6,tempC);
lc.setRow(0,7,tempC);
delay(100);
}
void loop() {
follow();
}
第一次写这些,请各位大虾们手下留情~~~~
不错啊 比我做的那个要好多了 楼主设计的果然很炫烂哈哈。 真的不错 不错 求分享 求模型 求制作过程 牛人 赞一个 zhukham 发表于 2016-3-31 20:31
不错 求分享 求模型 求制作过程 牛人 赞一个
由于制作的时候没留下照片,所以过程没办法给出了,我这个只能做一个参考了 厉害厉害
页:
[1]