8634| 6
|
[3D模型] 绚烂的自动浇花系统~~~ |
本帖最后由 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[8] = { B00000000, B01100110, B11111111, B11111111, B11111111, B01111110, B00111100, B00011000 }; byte tempB[8] = { B00000000, B01100110, B10011001, B10000001, B10000001, B01000010, B00100100, B00011000 }; byte tempC[8]={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[0]); lc.setRow(0,1,tempC[1]); lc.setRow(0,2,tempC[2]); lc.setRow(0,3,tempC[3]); lc.setRow(0,4,tempC[4]); lc.setRow(0,5,tempC[5]); lc.setRow(0,6,tempC[6]); lc.setRow(0,7,tempC[7]); delay(100); } void loop() { follow(); } 第一次写这些,请各位大虾们手下留情~~~~ |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed