From a1672a7c13fd08ad2b2f69976f33253c745f6f37 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Mon, 13 May 2019 01:22:23 -0400 Subject: [PATCH] Add multiple battery level icons --- .../arduino/Plant_Monitor/icons/battery_0.bmp | Bin 0 -> 1092 bytes .../Plant_Monitor/icons/battery_100.bmp | Bin 0 -> 1092 bytes .../Plant_Monitor/icons/battery_25.bmp | Bin 0 -> 1092 bytes .../icons/{battery.bmp => battery_50.bmp} | Bin 1092 -> 1092 bytes .../Plant_Monitor/icons/battery_75.bmp | Bin 0 -> 1092 bytes .../icons/noun_Full Battery_1601214.png | Bin 0 -> 11027 bytes .../icons/noun_battery level_1601219.png | Bin 0 -> 10574 bytes .../icons/noun_empty battery_1601215.png | Bin 0 -> 10354 bytes .../icons/noun_empty battery_1601218.png | Bin 0 -> 10113 bytes .../arduino/Plant_Monitor/ino/battery_0.h | 11 +++++++ .../arduino/Plant_Monitor/ino/battery_100.h | 12 ++++++++ .../arduino/Plant_Monitor/ino/battery_25.h | 11 +++++++ .../arduino/Plant_Monitor/ino/battery_50.h | 11 +++++++ .../ino/{battery.h => battery_75.h} | 14 ++++----- hardware/arduino/Plant_Monitor/ino/ino.ino | 28 ++++++++++++++++-- 15 files changed, 77 insertions(+), 10 deletions(-) create mode 100644 hardware/arduino/Plant_Monitor/icons/battery_0.bmp create mode 100644 hardware/arduino/Plant_Monitor/icons/battery_100.bmp create mode 100644 hardware/arduino/Plant_Monitor/icons/battery_25.bmp rename hardware/arduino/Plant_Monitor/icons/{battery.bmp => battery_50.bmp} (76%) create mode 100644 hardware/arduino/Plant_Monitor/icons/battery_75.bmp create mode 100644 hardware/arduino/Plant_Monitor/icons/noun_Full Battery_1601214.png create mode 100644 hardware/arduino/Plant_Monitor/icons/noun_battery level_1601219.png create mode 100644 hardware/arduino/Plant_Monitor/icons/noun_empty battery_1601215.png create mode 100644 hardware/arduino/Plant_Monitor/icons/noun_empty battery_1601218.png create mode 100644 hardware/arduino/Plant_Monitor/ino/battery_0.h create mode 100644 hardware/arduino/Plant_Monitor/ino/battery_100.h create mode 100644 hardware/arduino/Plant_Monitor/ino/battery_25.h create mode 100644 hardware/arduino/Plant_Monitor/ino/battery_50.h rename hardware/arduino/Plant_Monitor/ino/{battery.h => battery_75.h} (70%) diff --git a/hardware/arduino/Plant_Monitor/icons/battery_0.bmp b/hardware/arduino/Plant_Monitor/icons/battery_0.bmp new file mode 100644 index 0000000000000000000000000000000000000000..12cccbc10129d61d9d22b8e264c199e1794c9558 GIT binary patch literal 1092 zcmZ?rbzxxu11BJ<0mKSW%*en2WHB%>0p*3bA($D+2VoFsXlP*g|NlP&6OjO-3qhi3 zLrB0_s0x4%K>?$Dl;B_*4UeH79j9^rNCJo_2lwg$t3sNeN#bgEs00hqr A>Hq)$ literal 0 HcmV?d00001 diff --git a/hardware/arduino/Plant_Monitor/icons/battery_100.bmp b/hardware/arduino/Plant_Monitor/icons/battery_100.bmp new file mode 100644 index 0000000000000000000000000000000000000000..be23ea8f51a7908ea413346023e1d1a326ea23ff GIT binary patch literal 1092 zcmd5&(F%Yd3|y;+ptruD$G$^)?VtQ}yQ$#Rz$k0p*3bA($D+2VoFsXlP*g|NlP&6OjO-3qhi3 zLrB0_s0x4%K>_6OVJ3t0V$)BlJhB6^nLjFz2!YY?L4*Z}g-Cla7OFgk0yJp|7or!d O6j+c_c`PO~FaQ8V>I|*` literal 0 HcmV?d00001 diff --git a/hardware/arduino/Plant_Monitor/icons/battery.bmp b/hardware/arduino/Plant_Monitor/icons/battery_50.bmp similarity index 76% rename from hardware/arduino/Plant_Monitor/icons/battery.bmp rename to hardware/arduino/Plant_Monitor/icons/battery_50.bmp index b6e95b8057c24f25e211091654078deaa22d5c85..e2b31c3e8b31c6fdd6490b5213ab4dabf4505f9b 100644 GIT binary patch delta 57 zcmV-90LK5s2*e1GN|PxB8Iv#s2b0eO29vM@3X_`yAd#9gk*&b9EdpKvldA%tldJ;| PlbQn{le+^Hlg E0Oq3;djJ3c diff --git a/hardware/arduino/Plant_Monitor/icons/battery_75.bmp b/hardware/arduino/Plant_Monitor/icons/battery_75.bmp new file mode 100644 index 0000000000000000000000000000000000000000..76875c6da0488c779dd8d9c2fdea53e1cbeda53a GIT binary patch literal 1092 zcmZ?rbzxxu11BJ<0mKSW%*en2WHB%>0p*3bA($D+2VoFsXlP*g|NlP&6OjO-3qhi3 zLrB0_s0x4%K>_6OVJ3t0V$)A+d1Ma^g#Cp4H`Lun$o+#`9uYeb7P4!BYy#2{)mU{R O8APc(l2I@w0|Nl6N(=e` literal 0 HcmV?d00001 diff --git a/hardware/arduino/Plant_Monitor/icons/noun_Full Battery_1601214.png b/hardware/arduino/Plant_Monitor/icons/noun_Full Battery_1601214.png new file mode 100644 index 0000000000000000000000000000000000000000..fdb15f0813fe017eb0987d037a68fe6f4b7bca9d GIT binary patch literal 11027 zcmdsdX;f3$w(dq$C{eJEmWXsx1~3YufFK5lN?EXJ6$C_j5hyy5(1Z{=CNV50pGS{5n{Jy#N zKQ5W-@7Z-|7X(3jV1r-GA!r+w{}$fKzf$F`2R^p@Ux2R&gIB2Vjo-oVA8r}g_(PD$ zKK@$(dYpC;f(}FQFXyiWr!9^X$lliHPb@JNG;jR;gPh!3!Q1DAqjujFmN@sLpz!P8 zRYe*O|Ewx}M=<`E(4E0|Kj<|G{jvMlG2yp}mRMtU5S1Zw`1fJJ796qPaHq?6UL0mlC(W!{= zj2HKw+giAcfqHCJ9+Zq~iorNL{-vYTb9-Xt2?2|HuYA2fA`rQGIr#RWxO;t;tNnUj zLeMw;sU4oL-4~%N{_UvB7t-72#G}QZPdywFc>bjaG!N%D-|ar9*^NDEy-NjxOe}&0 zpx+)hia_W3_B%k(*`FI24(S2AisGGPMKB^7waZItuJi5`m;DYB?>HiZR=P zU9w&hvo{7g7Z7{+rZLV3X(!oPp8j!VsA5DQOYvqBy_GZ;cngEOg;B5dxLy1D6s;Mq zeMIM>wjR+JP>u$ysE}7#VY^hk@7pR843JEjvAE}wLPKwYa`sP}DR6EfW;tXRr(gFw zB&SCq+PbtK;BeIm$NGRmL)IpWX@IV;{?c;0pj${af3h1za6|MJho9jNWGRa)a^_LK z2CRZM8>e>jVCS===DQd$EOSXqq^DLIo=Bnp1lO8tiFj-6Qpq2mCh>|;?0o6%bLpw( zcbP_r9cbq*0d7r7GIYS6e1g1c!yi=vQe=G77|Sr0?m%w$#Z!Bos}Hx9k!~ zMRcge)lufAf-55BQBeN7RX8JoUQixY?^Xg_t(eA(M`aqYEWkZuXCjhmR^p4qTX$_s zjcF9Q7iUZvpf^Z<)yCGk}Xos7fJL&%^OJCW4aaS)X^hk-X$Hbw|MvxsZoSh zLkd0Sx^Uv0mu@os6x!M=%0V^zb}dHR^%N6*;8S6+L62HD9mDC4i>O-$wV>pq_=6@(V>&#q2lO; zB)T|%5#Y+pBP8vtAmK>mPjIM2`&?$SEW1rMB3yE7 zbesh%gswOn2o?^ zoB*4euzFBJSGu-IE`EY#66t#IrZ%mj$}f^&5&R?~98J3i>}r^iPA8AZMRLr+wN2|q z=+ZC^W|(8PpTzD`S!tI>#wbC;&%KF=BXG53SupYpNI6cVGZjIQQ}}*|IdP%+bFV zs{m>Bsa-n#K1%$(=(hJymM&nW6X_4&IDo^S=E7j$&!Yg?mt746SGpTuU1`^(O)Xv8 zEHYLbwAZN?cxxgd@*}z#KgYQKJ66{HI6|dOu8?s5TL@YpT7zUxV0J-CDIv8qe!59~c01_57 zqjXY51m4u536gjg<45bMK4AFg*WD58+=ay&7etWcohKoz(Nl;Lm#35j?adMe+wLPr z8wBG=KDc2Z_^+_Vqx_KVoPsk*^yhzq`R6aFXNm+p#P|J!ZSS*y`=>voo4{*;wtS-B zhBGqh1bD(uOXQ?`jQY7P?K3pnrwhGUZZ_`;o6N@mKF&KxFvGqruEL@Pd`y=O=~1aP z#clE3KMLV_{skc_l?Bp}#y?^~@O|Hbk2+$_o%~p6jg|dZu*|==#<@^827tu-Z`FWr zeMc9L8z9}V-PJ$QWu+ZYO1q5N?!Ao(h|Kqxn7#Nl@WjR%1;xz&D-+ME!5IjBWaNC- zoo;z8-OafuhvDxCk0J5A5O;a4v$WfAg{8@MNq6hEXi5K!0E!%K5`ccfIGJt&IQe%lPb1Uw%Jt4&tjnaQ z@mVTJ)e(iptSl7Mv;+v{jy^V`tw!4_l-{0Pvq`>p%p)=Kp zT{2w_-4qg;0eVlKI5Y-j*~F+r|LGe4yMfKf>wu?F@*TEZ*&@?RD7n{!uVvP=a!zBw zM9^a z#^h)eSoblV2x6kt|0*(#EZAb+k}JMscnm#gH1ewObRJWoeFa7h@a~T=bJheJ_%Rct z)}G&u_{xqiYohtu%E=w^1*E6+kEPznMF9AFBJUv!FM+hXIF)mHwx55&pWne8bQnbJ zY%$w`)-(M}>j9-S45sk*a|Gn|yBK^1hA3|4;K{i_&dsTT8N8jvbEV35b^`JFPSL{j zg<${y$&6lt{?8T##cJj5UEJ+E3Y;iNM4uyRV z7G*M(V<|4rxw5zyvh5fJ`s};zt$fedy`h>kp?@l2ydou^uX{fhAq$|NMq>uB`p%IQ zdOZrrRpEMt$|E!q2~ZGW@9o53kMViL&Jp}G1$G5W9LRpjW*LWTcoRgABxT8OU9Lvk zhuB>Pt@jgyKSyEj_ANlhtN|2XA!&fB%1VP60!j%F0fp8`@j|rSmi9e%6;lcO`UT|( zWU>>969vkQpzR2#R5``T$Ru@aKlm*k#eQJ%=$#H zTz7iVoZiX7pxW~s*kRyvE~+kpewtrh%35kP=b|{(sCZCEaWWi~Cm14ZK;=`T`;Z26 z42eoyT5kBNFIQY{_YfENHKH(0P~#`rPbY_)%;P+313~2{Z)t+ur|iJr0S(b>Q8ZH{ z%E@LfzZ%tY8qP?ei~q6Ecr`}7o>geVibKuH6D}dCgAW9Y-^3!?sx(C}q1&AuG7eYM z@d^|#1Phlu#T|&;GNjz<>XxTG#~m12xjz+Mj`^9!R3zYd?}R%Bn_-7XKw{j?Puo$k zJ6b#!Ux@;m>+dKcsE3s;dcm9OG+W>^f7SFRozeQgZW*>sI7ZqGCD7lad`&4wyG#P7 z>j!d{8W+5cD2Ai^5N!q8;(UuhMOHezd76gJP20yqs{FEm)xFb*C_-@CuymZs@V?zW zffk6rxgkRl300!8^AzrYP&kRLG}0L5}X^f);DC`}H&`AAhXn0aQe=(SfzX6j44 zNOl^p?a6dWw7bn2MOqSxmu0T|U#gA&KQ($u(L<6HIibjL5}@4#q+1?va^m}Y8s&~= zxV8^gO^qLdCU&Z*nMIJB?~B0Up})?julf0|EuMba%pU&r`NqVKtW!h5FZ+!dr%f#B5^yL2nVLa5zmM>$sA_Bhq-?e$vesLVl>)~%iM8Ebx%zPGrKByJ2H zEvW0(xUk4R0qx;zD1|=7TmtF3lWvTf@|WFHs&G!g&oMzwBE@t#s$_nq?- z9r47PYY~|~e;;AmLx;XLp_^UhXqqIc;znLXTC-SI#QfN#^084w8$+`;U$aW@P4SIK zDJpORkUaCXz2Q2vOhwALY8|@}c1WcgMa={$fb#_j*tBiE=3aZ4t2RS0V8lCCk#i5V zrE~RDFNz7{Rt(}iM3^#gxUws8GPy)^bs5e`Ql&c09e@iZl`7R}1&aAxGt7KM%OO>H znmsb6esxV67VY{tKf7S5gzc=j*6HO%@u3dP1_s!h!G!VgWO@mTX@;A$)E+3bsp*bc zGbR|znn`f0y_S}z;f%A%x-m9WU5pA(~k!;G9%3rGyf!aen z4q$)DsJ_ebO)9Zw%EJz0lsfM1^%kX#TW4KQcAtlJAJJs5TgwyPCr=WtBa(?WH|1zM zhBu=8m1Q6Ixe;$6OtY(Q)`+9@utwf#yH8k)T~pb1?h0DjrDLO*z6?#b8c;GHynuL> zt~m>j|Gc);5XSs6hF|&n4Dz|M-_yaCRPj~4+Y4{6l3F|#$X}tC6|*#(C$~K8D${qN zP4>?8<_C&xo2(=$k$b7dw|#a0#HzLspg?NxHa_s41m?THj+5OT4hpn>XqSD=H1jf3 zY2#`%EtO9lPr(k!bWD^7IR7zoufcbIJo7FcEyU8kUOb^F&$%#*-|95ToqFBn8}NzZ zIIE%VQ(>#Xad01ZM-e_cQ5+42qXsq}X5=o3`pTL}OcRXTtjES%SEjmfV$w9VFXz)g z`#S1nWG`$~2NW+{w2`v?_SQIDG-jZ*z$(PYwGr2+TO^Xs#iIzWZ9&8?|RYc%xe^xw%kwBtHLUdq%yU7@@%=C=Bm zb}1}p)_7pyGwylL=Y{Y9PB%Um8_~gvRiuQR+#scM9fxcfKe;4U2fBZ&GkaUnJ6O=? z#;xhXWxnmjJwj=A_x`NuGqrIp2z%>uF}YVOZMGqb%QnC{&u%v9Clc-5N4g8;%n;sn z_hIbZSe<*Dz*P}6@qw63=|V_FzhO~<@zt9nv*lcFxXX={QMa#ICGD;G{s{0p(}f!t z9h&ZuKDNvlHf{DzSD8DWfpzI9;ktP^XIz|0U(>qkQ3Dk#G>I{{uFZy2$xjWP>YGe$ zMoxN!PNibz4<0CwB1xTkJs#Sjs_*(uYtI;F4m7e6XtyZqB482RiINBSIwQ#7vqjkM~Mm*8MKPN-@(;ZjAnwnoU? zv|eIRPUUW^x|o9HYT1*{8Ba0Gq1paht!LS?YR<#0H#oCS1M-j}`}8fDDpZd5gQ}TB{)^akiZV?E;dL*B@9pYG6R9oI#uW$p+$3c@uvFou zGhUn#VnI7TGmn8TJYm3kfx;$~;MX0{&Fp`q6DF!!q{b~=q*G@^-j0)a^utX(N)`Rt zg99kw$9i5I`{OD7T<>-52;US}ar3st+cw{-4sNoG*W*ej2Irrz>Iy+udaq6CDBp8@ zpsO*HRXj6>%?VYQ(Ib{EF&-C>^`m9OCrw#%mh>v8rDeQ%?Flo)-=ek(t2UE2b$lng z2+!;;8!j}){g$|ODKo&cxc}^p6p!&q;_BP7I#VVoRT33 zg)FSuXwM8@l)#!+%%|J%?tb-2=URVjTXx*phj(KMF{CY8=rRe-uSiW_ktVVE%cIs` ztF6CX1E4-`p}aBo_nC~^yP?wob)VA97>u8~C(fw)Y?0+45w!eAcg%7eCipik#ehT| zW!L=0*P}n!NacluB_@`vdgt|f*ZD0QbE$>wRrRj?3HR|+RDF}HYsp>O;M;iAFyplI zFzgZ>J6xybmZD=ZkvUyKE9-7}D7OddFlHZq7N47@>7T|pZ;nC6s?~gQkR@K1c7%r8 zHvx3B_Zh~m*NS25=egJ=M;XmYVH5&dVrd+`e4bM~ToG^&Dx$s1CNwLeQ=k{AU69 zCXUuj>EtdXVfswF89V$|l=hg-8x#FzH^p4pUwgPWST={Mx;y7?yP7Q+OO7i52-7=W zgBNh>Uo&Qz+3=hwXJ(GS&xD8PS#K7?zeY_SvS~Gxcdk=X-nI2mb#3iAStrUJpR1Es zYR48_KY}J^$vng{1~qSdm8uazPm8rmhlRVjXC&o@+K;9Cj(Bt3J$_tIBI~5LqBsd; zXYp~Lij3u@aE+WXS&}L>%QmRHV?BxzCtaGsE|k+V7u_#)g6Lr-)9ZiTeRH`q_||)X zZ)MSV5RFfFF_k9ViLRgLIr-${4bp1s!(nxyx<;8rQKc(~OQ!s91+;O3tLLS|c)p*< zwwlRPKeXnO=e$aSAJXSEQr5H%Ui%D^s#l4An`KT+5;i@cT4P4F@~M@DVcgr^eUtIk z4>G*iuazPa%1cXwcSgeU^!|N`_P!O_X-Zq8?Mi(*%tiHRwxrFqUBCKH8gLAQk$0^t z$*!NIXUo%Ftqo5|&)}~wh)WjBRI|`Mh|f(sG`~V_e{EW2_}^A;(Ep(3F zRdu3$r1rpsrYmN5k|U#}!G645vW|FTM19m#CmO$gW`IS#d1FfY@miQhnT~76vcAQH z7{=V8?^(`n;?`&yjOv^wv71%5H`$$ z{#v|1qzpGoX*_Dz@sv+u>QLmd3PsMf10o$YNtx0JIOWQ&SzhYRn9U8<*-R$q70S<) zIc+&8{|JFI?>Pb8!5b`swKG|V3f1T0;kE`Htif<8v98K*=sN#djQ@DKU1y@UG-r+( zf(k_veTU^fpEQQVZqsYd6E=31UZu7Sq(}s9jpr7jd|`_At%A_hslzWF%_x5xK?k}( zP+u@1NagIa_q)q(SH*uFLE#74B*z!ma@AfzZev?k2Zy;g^mmQ0_9 zPskeAg)VKGNds$hyN!U0AEcF%#**o6d~(~}K&>=oS)-@#8Fx?$Cy|ZTB?E)-m>js)V-vX@Ikc9G64=RUEcDQRAb_z@dx4wY5n^rl1$da z23;4et!#a!#*5UL;(x9J#}PH8AY<99_6hXME(7>cGIoDrJL?H~O7f`$*!-b849(YJ zNAAf^G;w2M*jpf_t&m@3=;uf+mFpO_ci6zD2DpU}vo`4-nVr3UJxyGE&Vnnq2_**3 zG}$-Gxo^6tzOtpfU#YqZGoy+0_e!-I6KV7x(M1o$a~BGvZ{{&lqt>h?gs2mnVC>LF}@qJeS;&aRufBf)9G$U`T$O2b&S~eTNoE-Ur(AU=da42) zp{|s@d*9W22`s5Z*6NmJIzd)TZZO|bmc-f!o!y*`r-cS1c|v{IVak?A`iyS!c zW3-=al$MC`#+otWP(^Y7feDvZV{C!ihQPjohyeGD`1>~O(`e#k)y;vFaMvIeMJ_%! z6Enq*Q!6~T0W!`O$WgsPDa|e!6-y4O z#3r?D)>29rrlPpIV-%*$zC@xqlC=9~?0sW!_~0aBYcf@HZ07Kj%Smpp$fhOAGas^| zm2}33Z;fwhIa6kGecRVn%MibI@C?SCh7C+<@X}!RqUya?ZJ(+1vVvS?mptVvcX!^f zk_Kz_oqYtJ7^axlUGvcVItiCGeWC6A-M&k~0&~$;-A&bplCtk7Nd?|(=$+xmm)MaSwvSc=ozX&v!ks%7iRg%| zn`T;&GF+>@PWTO}Ho3}vW*$?%@RmL+3j)VVEe7A4+~>&X@DB;XW_hk0>zuUnUoXHmNoCv z553Yx39FvH6+Qr#=D(QnxMU+9MmHq|=02$Y?IPQcs-AOLR&B~p5K8R`+2w0q8^cVz z?N_N*${k!yEnkv(gzGPX0e{*&CHp96wrp`?BBkH)TJU=}Wh!lD)RVF*`v})^cV>Wd z_tZS7T5;Ny{4EfYqIR6M+0~uU(6#~FU{Z-Y<1?rb)m{)WNp9E6%)mAL4xW)rV8u4Q_TMJ9 zm_)BMKj9vFvF-I2UwMLcTf%0dE#oxWz3lZV*L>!j$9o8JGKq=CD~pQ@Km!dnhn&Kz zlH_V@ukC{7Qgkz8#Xo%>LSf%=wwAqi2!Qj}lOaw+N4~UxuftU*W)7G6le9ry?mx2S gf8)2v&c!W3@}r{%i)F6Z@aKUqn*LIF!RgNb0iUGtSpWb4 literal 0 HcmV?d00001 diff --git a/hardware/arduino/Plant_Monitor/icons/noun_battery level_1601219.png b/hardware/arduino/Plant_Monitor/icons/noun_battery level_1601219.png new file mode 100644 index 0000000000000000000000000000000000000000..74167ef6c00f2d2e67ffe3382c4987a01634dea5 GIT binary patch literal 10574 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 KiLzr}xBd&}3-iVR literal 0 HcmV?d00001 diff --git a/hardware/arduino/Plant_Monitor/ino/battery_0.h b/hardware/arduino/Plant_Monitor/ino/battery_0.h new file mode 100644 index 0000000..3e062c5 --- /dev/null +++ b/hardware/arduino/Plant_Monitor/ino/battery_0.h @@ -0,0 +1,11 @@ +static const unsigned char battery_0[513] PROGMEM = { +// 'battery_0', 32x32px +0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, +0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff +}; \ No newline at end of file diff --git a/hardware/arduino/Plant_Monitor/ino/battery_100.h b/hardware/arduino/Plant_Monitor/ino/battery_100.h new file mode 100644 index 0000000..f8fa4c5 --- /dev/null +++ b/hardware/arduino/Plant_Monitor/ino/battery_100.h @@ -0,0 +1,12 @@ +static const unsigned char battery_100[513] PROGMEM = { +// 'catnip', 32x32px +// 'battery_100', 32x32px +0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf0, 0x1f, 0xff, +0xfe, 0x00, 0x00, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0x7f, 0xfc, 0xff, +0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x7f, 0xfc, 0xff, +0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, +0xfc, 0x40, 0x04, 0xff, 0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, +0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0x40, 0x0c, 0xff, +0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x40, 0x04, 0xff, 0xfc, 0x7f, 0xfc, 0xff, +0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff +}; \ No newline at end of file diff --git a/hardware/arduino/Plant_Monitor/ino/battery_25.h b/hardware/arduino/Plant_Monitor/ino/battery_25.h new file mode 100644 index 0000000..aa5d3e1 --- /dev/null +++ b/hardware/arduino/Plant_Monitor/ino/battery_25.h @@ -0,0 +1,11 @@ +static const unsigned char battery_25[513] PROGMEM = { +// 'battery_25', 32x32px +0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, +0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff +}; \ No newline at end of file diff --git a/hardware/arduino/Plant_Monitor/ino/battery_50.h b/hardware/arduino/Plant_Monitor/ino/battery_50.h new file mode 100644 index 0000000..aaa110d --- /dev/null +++ b/hardware/arduino/Plant_Monitor/ino/battery_50.h @@ -0,0 +1,11 @@ +static const unsigned char battery_50[513] PROGMEM = { +// 'battery_50', 32x32px +0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, +0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, +0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x60, 0x06, 0x7f, +0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff +}; \ No newline at end of file diff --git a/hardware/arduino/Plant_Monitor/ino/battery.h b/hardware/arduino/Plant_Monitor/ino/battery_75.h similarity index 70% rename from hardware/arduino/Plant_Monitor/ino/battery.h rename to hardware/arduino/Plant_Monitor/ino/battery_75.h index 64f7dc7..1b2e899 100644 --- a/hardware/arduino/Plant_Monitor/ino/battery.h +++ b/hardware/arduino/Plant_Monitor/ino/battery_75.h @@ -1,11 +1,11 @@ -static const unsigned char battery[513] PROGMEM = { -// 'battery', 32x32px +static const unsigned char battery_75[513] PROGMEM = { +// 'battery_75', 32x32px 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xf8, 0x1f, 0xff, -0xff, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xff, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, -0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, -0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, -0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff -}; +0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x60, 0x06, 0x7f, +0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x60, 0x06, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, +0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff +}; \ No newline at end of file diff --git a/hardware/arduino/Plant_Monitor/ino/ino.ino b/hardware/arduino/Plant_Monitor/ino/ino.ino index f18b466..d5c53e3 100644 --- a/hardware/arduino/Plant_Monitor/ino/ino.ino +++ b/hardware/arduino/Plant_Monitor/ino/ino.ino @@ -4,12 +4,16 @@ #include "catnip.h" // catnip #include "christmas-cactus.h" // christmas_cactus #include "tarragon.h" // tarragon -#include "battery.h" // battery #include "humidity.h" // humidity #include "temp_humidity.h" // temp_humidity #include "temperature.h" // temperature #include "warning_full.h" // warning_full #include "warning.h" // warning +#include "battery_0.h" // battery_0 +#include "battery_25.h" // battery_25 +#include "battery_50.h" // battery_50 +#include "battery_75.h" // battery_75 +#include "battery_100.h" // battery_100 // SparkFun Fuel Gauge #include "MAX1704X.h" @@ -44,6 +48,9 @@ GxEPD2_3C display(GxEPD2_290c(/*CS=77*/ const unsigned long SECOND = 1000; const unsigned long HOUR = 3600*SECOND; +// battery level var +float battery_percent; + // Temp/Humidity reading vars float temp_c; float humid; @@ -97,9 +104,24 @@ void loop() // Get the voltage, battery percent // and other properties. - display.drawInvertedBitmap(0, 0, battery, 32, 32, GxEPD_BLACK); + battery_percent = FuelGauge.percent(); + if (battery_percent > 95.0) { + display.drawInvertedBitmap(0, 0, battery_100, 32, 32, GxEPD_BLACK); + } + else if (battery_percent > 75.0) { + display.drawInvertedBitmap(0, 0, battery_75, 32, 32, GxEPD_BLACK); + } + else if (battery_percent > 50.0) { + display.drawInvertedBitmap(0, 0, battery_50, 32, 32, GxEPD_BLACK); + } + else if (battery_percent > 25.0) { + display.drawInvertedBitmap(0, 0, battery_25, 32, 32, GxEPD_BLACK); + } + else { + display.drawInvertedBitmap(0, 0, battery_0, 32, 32, GxEPD_BLACK); + } display.print(" "); - display.print(FuelGauge.percent()); + display.print(battery_percent); display.print("% / "); display.print(FuelGauge.voltage()); display.println("V");