From 315f0739c05e3b65ec0302d2dc94e329a220a4a8 Mon Sep 17 00:00:00 2001 From: daniel watson Date: Thu, 7 Nov 2013 17:33:32 -0800 Subject: [PATCH] add right sonar sketch and fritzing diagram --- arduino-sketches/right_sonar/right-sonar.fzz | Bin 0 -> 34291 bytes arduino-sketches/right_sonar/right_sonar.ino | 52 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 arduino-sketches/right_sonar/right-sonar.fzz create mode 100644 arduino-sketches/right_sonar/right_sonar.ino diff --git a/arduino-sketches/right_sonar/right-sonar.fzz b/arduino-sketches/right_sonar/right-sonar.fzz new file mode 100644 index 0000000000000000000000000000000000000000..2c08bb2f99891cd18887264e37e228106fbe760f GIT binary patch literal 34291 zcmZ^pV{m4{wuWQdnIse2wl%SBe6j6hV%xTpiET`5=ZkHdcTU}^dw$)&t<}3~zpMLM z{VK|ULtub_fWUwR1)GaflptnIfPsLZB7=a;{A+bEa&lo%QI=q0CsMO)47k`i04A&~My945tn4O6oLt;ST&(OytlVY*Qx;Y(ZUX}jPE$5^ zZYB;EP9{!nGgCHznGq)^fP;;d$&3lWZNh0_!1-^i5vPe6GcyYpCkKGt*p%6X!W5$O~ zlcjJ`HUdPg|5IwvJIjX62yaPVQu%$>y~Y3@{aKG4C(ISvzxs??UxWA{FKZJ`B!Wf( zx~EwxHUxw0l1>-@w zqijyFYPW2o&)q4mbQD5oOgbPrV~$DSbf}R|lnILHzA_8y zaWzI6;Hus{e3McfHFP5i^2r33A{v577KJjM83S6DL^f1|#P z2}#t!o}2jOUmgL%MD@t1$f7XhyCe>WiY0uEP2$3mW`fHE%ZarP+PCHz4cfO01eW>c z4<%y}Bs=I5B75X~Sj>hb4?;UoTtpyHL*f<|?wO=vmK?Cf^4>=kx$&}hJc5%pg{j)l zo}KgVhTU{7yvi-{PftA=dIp3lWg_Zbs^T^F^VFG}y63z#nA~85+rm?Svx?U9Bjvo2 zLWkx*yLe6Q*i^ss+2UJe=MU??1EEy7)bhxRB(btqz3vM{X7*J8pAJ&-ZVTN?Fr509mptk{{o4 zE0NU!i)$a|ON8H`ivOqEAJOKbX}hvlhwvaE3vD1ENdI)}WNB{ULjO;#Mo$0!`%66? zXCMcb-^`yKi#)_#zqR^>u@Wg>TXWvntm&($P!i!R6{$rD&b^3e5 zu1C##d|4#+q%sN-f#QNufnb3s<34tA)xjF_v|n}m?q{6)q`z2lP1vU*cXdq~3`T7& z>D_gH=P$?*On#0%{`!91{Ur1}8_DI2J0|s=qeZiq^gGLNxt{D?YT8wf>V2r+&5Ud2hWr5X7?l*G*Ed{4)v;cg;|sapqPj3u?nBp_oYV6f9~;Rd zpFf6yLT%!3cg>zkX7u*Cl9RbUHMvfWKi0-cygpUpYqi2}lZuAfvZ(Gjj3_mfn-HB+#p7tWvU9Uc}dbu4u6waHa$Ly{Yg> z*Dfaq`B{-SZT?9l)$FO6%*+J$bMiW|e-w)!d~Uy~HJL2QER#YdXPPh)YpkPVu1K(B zsbz##h(@ECAZu$nY~I!8-w@OptwS$TE(3@W2Gi)c`qEuXTxKw8;ms5 z+sl3Db2?Iw?vi(aY5G6|@`HVJ*XO~lV=~`^AccF9(q34jA8f5TWO?k~*d@Qm^N6JU z`+~!&LMZFP=W&Ou8*$}}SAeJGa++Akokt#h`~ z`YMqY>|Zz8NyT6DP@pTUo>9Hkm|7d@X8t`l=Yo3zqD5htOdDi#Pz4%|0>nJpmmJxB zp$7Nv*=IE(kF7Gzqe;cv1@=q&zJqGMtQS2!bEhs2AtjL3BbZyOl-gAep|KS=(xDWj zi+^+qE?I+!GBROdH-^cWtrKy^WYJ1IWl)+p#I?J!aA#%!pxb*|d`)7exm#z|2o#WY z<4watTNBkkr_Y$iz9R}VI2vWeqGS()SdFM+dh-6ruNRrJ%pAAah=%bX@2@R>JZwJ% zJ;(WJP8+YVYoUJwE-sJ$YT9E!Lk0i#S%5qf1eu~QS*4g4a8;Xnbw1+>WwsYJv1{74 zqrqwRYFk8X$@-yx4raUHFf7vB7TUUYEU}zTzO)^t^A+nvGCFE|a)6ADiNZG5K+38xhp zaLi=)!yAPxuu#WHh9>30OV9=kg4ATSiq7$IPK#bTzAGHE8Nq0hJbxg+8!!k8AAPd3 zIG1U$M1Wt<=jonPaSWFR{T8++K)DDbrlh+GQSBj{q@4v9P*bQ>2;< zg?mLogbEibDGD%Bp+WqzzqQt3g(bYioQwGN-j3Bk5=Ts8G$h;?q?=><(F{dF#GNs4kG!T4v`G)en~K0 z2q#2benDSf!pH5|;Wy{0V%;75P_92vIXV-`%T;su*e(n3I;%`oO1cMHvU5&O=;R-j z-Y!$H<4qFDwLM#rz_Yam;hO|l{ydim2V=$(M9FSA!JL+WyY{on5p#&tc)QnbTtK0?6yAlmN~x>k`b=SWR_w`}sOT zjkBUxS=38A_|wMZs|rO{<1m0|h|!xMJ~o5EgufXFFf2Qe)Q5KXx-S9N{jR^aKy!*T zU)?M`i*o!U>a^h3n~ZE)E9B0XzaEEvR6iGZs!04M$7=;_WVGhF^#L17h{9Yu&94#( zj+n@@1`l%GLqJB__j4SOm>P1!H_E=^zuoQi4#F4s^16Qu{Q|4W8~7SkApQ0-Gh?*I z6Tor>>I!ZH!-F_uB`N;6I;U5ezZnR)7W@h=U}hRyMBaN9JsKx`lUUmgjrC7&A55}t z(fe6Y$voYB1?~b34lF-x#vMvy8jf6k?McdYS$#l2vks#`;H%3e)srP~XEHzHQ^8MyPgFa;xrRctfzU<~ zB154mOpKZs0OP_1r4?Gv3)POQ*Jpt2Nz zZ<_Fj9YNUbG_sgH&_#D%>*J*D05to?I=miQXS*Obrtd*}jEw#XgoWsS$s=2;Ppl{^ z$`A@e4U$fYI-qIdm51S!h{;v=j=b*_I%%v(!iRt?3Ag)8o~0t5izK5dDwi%}s4!ZL zLxLDFOqGKip4<@WfEd;kJJ5&ZT;RPVXOntPLeAc0gCM4oSC~i%8sD~vonF^-TY#RB z1jSRtr#2`8OF3GdVcWK-6d4_dPtWb~la?PdaRgzhfJId!KkpI1&a--%I_IPW0hY`} z)d`cs3$hw|AEHxn8nacsGFs&jhEtPuPiQk@J5ufEqInfut`>%2n|(*$=ViOLfOK=mseCDxEFSk`%1xe zaX&TnF@C+gS~Vxd70Ts5K(9UTRHMhn>M$nBL=a^k3B>(aB7PtS_aT;mrRYIsslo~Z zciAcW`GW0x-)fu|j`GflKD;Q4=Nl4ilWs*|0oP4gue)BQNR=Cbu#iQ4)rKF6C4Vj% zYF~O9a4cfCaQvsGTiucugAJ6cKdd-6x0S;Vp|`J>+6lT&?fgedQ7VH5w<1&K%1#m2 zT-__v;Dx9tq!qqhUMYI`uAkw93(BCc-gP)m4XlVcZjZBPR)!W%emr9+y7h>xm=aS{ z+Z?@B6@XtY*+FlC*Eskd9_WWN(de^6o!Z(e#GdM2TvX81lBKOQyu`+ExTv^CL8-KG1M7;c! zXqgp8H9>O^mcqv0Uuoo<15jngug2$Su)@1HRz)5#G7uY!Y1bo9z^%LT5ZiX^Wl8Kz zfAODh)%GY>$#vG&d^x!2>7RI8UY+Fkn<)o^%=OdXNm<+L31Pf?GM8L0>OVk{&My#nwB2~#C#b9#PS~yIJ=oM z7&`%sOpWc0oJ{{0=?(si^alSA(i<53chWyhXE9+lHsxe925_4had9wlo3Wd4asCIy zIg9}8oLmh5qFnmwBoT}xY`uR)no!|uhaBTCeu5=*qP7^5J`E#xp5NS~;3V!7fFKwS zMfr8J-oH0=Orz{YVo?k0OA{MaD!9A4s;M8Pt-Ku&_WFK0yuDp*zQ4EH3w*kE1smjD zZFTv)pM6bX=Y75Te*y(_M*b*V6WVWgb@+O`A6+dN^m@LZ`+tP>z8~~v&y;=NUR^!i zUM-zwy^k;|e19BmZ})b6o?SgW8wd#aJ?_2U+xNU4In6|+wO;pld}S@X(kb+OzrlO% zE$ye}2}F_WON@03@QzV!b@~5W<~UCPnEOouOmdul&N+;|f4|=1+w$}FyZ_Rd zSsu+BmN8`{JR=T4$(_i`%jxOr{N9@wQOKKefu){K|Jb}f%<4`2t{M3pIQ#@|_j-Fi zw?8<$dpbYAe7Ju+19O+zIIS=qmIsjv< ze4hDyYxIBVT%a^qy%9*N?|r+tyzJEQx_ua{>YUjIBELy`K5a0(A#~05===KmKTnd3)C{1k>kc?6$XGuk8;9uLyfpGH+TxzrL0>-;ukn z3Brk2-R-tbk+XZe-oL))%Fp>28_5b%vz*%}H7BAW8C!Vo=~!Z0ude{ZcDG_}5$WZG zC+smYRx05)6fGW7cmBTTO+#2;20S%Y3yF-4{HJUsWjS!L&$A{Lz8m=dUt!nWWj@rT z(MK57Z@uk0fP-*wR1BI#&#+eQB`0C@y~c`_rm8L_FIc3}gZS^z``qf3FSZ zY<)X?A6#VtclKG%>h*X2rg|vg6!0sG;KckmoJ@ zdYS1}cy;@H+}yvc0*>f-|HaEmCigiX?)|vRt9E=lIGn)#e!uMW7d%}8&TM_@|3Y~_ zHS>NI(VRL5j`+9v)9VO5Kl&%xevaMmhwaM~R6pKbA?cn4bsa2CtUP-i-~0P^`Fp&W zU#2!r>t7KPUU}>$9pmHw{q(_mp`7`ws)p3Rb$H+0_%$1H);-Q06zBraE@7C>s8=@8+M zD&zEAl^-0&1<$&Lx`W{%N8XdJc#g;-EcB@lrmJ@qt$B}SgDpp$+kzY2ZSQYaQ$USB zT;tfia8G%HcY5Q9At^mC7te8V@6F%$PhV5;?k zE_J@!f9n?mZQ4tm&<}cV6H9Q5T^R;)kE@&E!*J55Mcl-k!v85{6Rxf+vvg+9JkMV} zR~B8Om=iu3!%OkWJJM3$i~d$(=!`t>$MNZ*ls*CDz_=uLgcxIEnq$&HNetWH(`;3! zV~kcAC-1mscyRdhXFN}~W|VO^06(hTw2!#JE@F3W-uvk(_~#I(sb{}e@AJ2d(B}j6 zF_17li|?^lkc)F*#>efA{4rxb=`=$mr(hxtv7Jk%C*qUEidwDI7$zsq$CVnUIgZ)Y z>7}v3Ypsd(*~8VAAH(JC2Cc{B`%zS3hyE>*9m0R`dE_AsS;YY6j)YRcauVeb5gT;6 zdy;y>F@avo38&XF(C=&b`Pr*|ajo#7sZAxET=n9yAdl5c;OWinogLNxiDhFsFIW6f z=_pKdG0EtdMwUJHff@0AFz|e=PkiId$=4KI@SECMA2Q;3QIJM?t{|@y`3t=3$=sur zxeymCDOQCe*I|^-TdK`f?r%s#`B5OIf_eAqd|O4OWw4)eX}k(5yNzB(8jZ9VGt`uU z$pWIDRqgFrrXVRDjQt5^SH9%8V|I`GH`guZc)-Ww)@RafH08&!&_Ezsp@TH4b0aKS z>eZe7*UO^l_9u6#KsyAE994suQKXhYAsneS$MY$R(_}@pn>yI(R`7rL@%8bTGhD2G<-pIK% ztCS_oIc9N}2NzaTA=e{azk5(7($06uz6@otpCO5N3ZZ7xuh@L|q8<_uBaGokBgC1# zbe-I-1~}8kT=i3nc3xeJbhPT<(r7y$Q3yMUsz&OphXpbuK!MN~4V^^iPk_>LVUuzh zoY`-w`p_O&GlPUy`=2w{*WV7$A}AXuFO(!7RrdZ-6JAl1x1B4k$ZdBq1vb6Ksqw4< z&r#`T{-2kFn?=>j85H~2!aQ$B|B}20wh&lThfh3&joNL`jJ?6OpwIK3`}NjV@0-S} zQ}yHiW@{W6(%X_tm%rz`1LXzZxb7hZ$u7&$Nlh&BAk^jOzf<7(-zNU_D26&bzuZl@ zURpH)2LY_ea~M!bR9a)rQ?At{q1mPdj#v`YE(K>3U& zZuBx0XwuO#hmr@SE(yU@M4c!X-5J+TNvwsp(~ou4ho|xrd}n|vM%azWG+C}SM?Evu z*%GjtJa{oyy;0*lui_<5;q~rQBom&8_Ykl)e9UKJ0DMP~x(Qzb_i7XxwNrXRH-vE~;| z;_~brl5I1dyzY{BHB_3vtUqRnQ9l>E7R!F^vT?*$s@awht4dYeY=#|b=aXT(cKFzK zBbglEi}YtIEP`X=rK23SkSfBBsg#esjU)gCe5wzkkLHDdaCnPlYqwyS2WUC&u&B8fTM(( zm7oAe<3GLg{szswW># zjhEbLZGuW8JIg}M{-WQ2To7KAVG4SaN{2H{<$|+*OTqn)CIXhyDNJC*LqvBoC$Ggg zVe1_^uQ0mxGzYO$VF9OA$Or@rf*Ixr?nAoB#haadlDGRuS7aAvcqu_qU8uhC)^$s? z?(`Ase^$;Gj5dwtnqK=p-7h}MOA&rknu1@3rpJ!fh`9gh&*yK4}ovyQ*(-VE$aO)H+m>t zFGHME*Tu>D`?jo>ylNx3ybvdTVuuV9>CjO4LHBjb3JDOf>YU$}G9hLg+pi_DUn&l- zhC79yDa(4%+D5Qt`KLLLw4{zj0Bfg{5muMpj`myqP-=YCsW3E(*BqP@A&8pdHr}Lb z>}#A*&U=XGC86l&1F;U3Wo#=)nxjs38hw$AMMzQC;`<}!vgH{#H$p?DiM3OtRV!;! z<$C1~VDA5xNv^8JU>xvh&EYOV9oFw;=xAvpgTXdl6_wF0)@po@)biK$6J?LD!O-E# z%V*5Gs`{h9asLMY!3XEqY!eo6xzZwRfZlCk9EU;!^3Ko_Z)2XRZKk3VvD#PO$ErJL zYbdwqVnWnOydTB}>OYuIx(E>M-11XQktZvoY1m;66)hik6DCL}&8H_8nk;n>c^p}l zvxU5k#{W}m8ng8}>ehe7oF2H*aS=$vWF2jSeIR}SRtYMwO!;V9nP`0=LCYT4(`Omt z82LBx37(jHOx=hL58;%Y{>{MY2T^gXiTP-%Ehls@nl`KMJ=&tpK~|K=MA3N$Qa^qz zMCF>^I-ge_o)HcznC8ylLUaHTtW7!xK~wNXqzottX}@J1MS3Q2G@52D2qbm&QGQ6Z zGXD=!RCYwLB8UQI%ZpPKpTZiGC{+iftKV=^a~lt68t_(-qw}^P`M`nzxh$liS?M0~ znD39nGSUUsXt$=SLQ7LZYyt_SNEj5RHNI0kN>|%S}7;LG=oC zP9o5TYNVMYjWs4Iw(7@HuAg|jG6OG({OP0;@#ZC6Ojfi>G~)&Pf!BzGj0Jc;33}il zX!iw_3qL`VpsG;`O!M#or*a_j{c;>^zUiL3P%Z}87;4;76MBoNhgYi}>rqDGT%zoC z@IldPuR|M*@d|Vhlb1fFOskIWmKraf3tG8bwrqwxXTsnVnK9XEByz6-X@B_93A{|K z=TzG9I0L$1o#`9%NcfI za6z;{8{(JZ6r)YEaJ@j(O_6nLZMBUGWn z>sCp^>7WfE@5m=na7k)dVyQt4@>^%8x$5%}g&EN)Z`hWAh5zniB1QHz)}tmPA~hG8 z_ScX3=m1QbGiogxm9=-`_nR(GpN7pJVgVPKRp|1L?BNhUM%cZlYEK7>g>oG!7PykE zFAy?mGSNV)xxm70;w(&q=0rH<#3BkYqgz}C>S&xT6!anD# z+cr+{$z1iSev+wQNVlgv+gUeTVuaYLbIxOHT4mF8(bR6ORbTlzbqIwMB9D8ysyb@> zof(4Bc(SaY?o&+=AXa{QB7Hv7Zf5ey;Fvi&DX|^dfC$Qyb;RgSnGf~Z9Nu#QrM%!n zsuW<>))zPqDGRIpn~GJ8KxUggkZK3n#bERTWPKrB*eCs$JUUE*)o-N)*fl+t_Cu2a zX|&V6vy^4+_uw`>?Vxk>lV*K(J)yq*aKWi$oId_VR${QO%0rKP!~rW`l18Y=DoIvM z_Y+~RPEwd7iwqVLAwJ+n{4gV(Kzj#|VA(8>1F1l9iD#e>Fa$E%?ZQA}TYW3pyVDw@mNC4ggB0U=PTN7#;*!D( z`a=XsEry5E$SJL$r5;c2IN#*&3d@|Jc))e-u+lSRZ(_Qw24!}aPy1W|Q8fck4hFTB zb5G%hT(d*NDh!qFigO8ZGRY=@J;hfWHEd#2{%ZH&kcjE5)IFzgJT7aTW#Q=7)5=ia zDzY1D=S)$XMpdVMbyw|Y=;TK2b?KpyWcdVa(qKQL?4#nJ5w2Qzyx{L^$wFWJcC%fW3XRNm?(`v?wT73RaKeVk96yp0{%;$cFI{iB485 z1>LsOIU!d*brL?=_(ZXtsji<9#}XtTPIvw0w4TPZ9m3XZ;#Q{YfS3g{-Iq=vhPs0} zR^MD(GquT0pZ~dPJDEm9`sd$#-Yjhl9z6n~3- z3#LZOe!MfTr)`ZT^UQ8b*a`I&6Adko{Rb&CU2qv>COXezfxH&2N`jk3vAi#W`K{NA z-hQ^-3;$qB<{E?v&J!=Wg;UJq(QL{fpBFsu`&y2%-we1;a(G=xOUbR_izV8`NC154 zK2U->s`ZeTl2y$lB+JqI7#7Jq0a0c6GSX)CS6@pJh?W5gFaf}jJe06_>8?_mw;|Yd z+%o(%Gdh;#iG+)UNES~OdhmXf zo8cUSG>HS~yex;KJFqWr%)4$Uxv4!a(YNZ7B*B?VA5)GpN8B(%kBw^Mp6Cu*Fk+Qg zaH583ycS{^>nC4ND7!x#VsC)iETf@dRTogbbEbC1M*h}t~-T$qQy-ToCKKTrL)e4XFYTL1hjH#6n= zINht^IDHh|4nG|Z_I@zVOza!|8c$PJvEvkRD)go{_kb0f%^dNYyIDv zP*=5NGFgA=8R^#YZ+Am+g`A87cnYZc)h+s5DKmrxCM{%zN*vc$YW(2~g;QS?a-PwfQe6+qKEd1f9$l3*6!w zXTv9!H@=B=>0-eF<*T(gK@}oH+wJwLu*)a_iZ}=qhJWxO`@|v0b)&QtjzYiReuR$%_0W}<(z4w85=ZGHmCv{M{M6_50-X(edoz_Ew&zM8@OV@ zT}rST1x;!y8*f?Ft?NHnSI%Ev`^s=+l>=^3S+VGcL{qr*X&PGQRYMcdZ7on%#)_IM zOk&9^Fv=_@!58T?jw_jS>E=Ndsutt%Le@BX13VtNuvJcOOny`TGpHef4cwdE-amji zfZXF~%j|zQ!HBxQ6OJlqgzSc$Xv5FjUX(UZ!PkPZ+ai=c)U!kS)BU7q1pIW{6)vT7 zD-a^L0@sFCF&&=_cko6)PYeGuoE^$VG?_oog5)zR91nN+xZz8BS~zmDMy2 zp{F_)54Q7#4R>Iq(A0(tnPfh(YCosTx|MjTiG#keS!*gt_UuF9+FdtULB-~4f@}3{qBS+XaNGb8{4gH z0}*YQKMF`Vx+b%c=#r%VY&} zRi0?&*ZkvEj%ej^kEUtP(bc*A;MCV@wGI{fsMAR9k{l;OK)(@UGrj}y7qX&ErUlbX zVy$COTNz@t{C~#2CL4TVwgFylvsnaolMlhO8+;D3oz$)>Pn9QBZ6C1}U*XF?AXUG> zXudP^@4~XV4h3EIe4d_mmkbK%CXrdUU4f^)6E|+#a^Hp#dakk?VyX+Tj>9IkdRm0Z zB>pWs7IsH`))#XYDoMHxiM3{(y?j)p#g@7pEO7x}8Emy(oL79Mm-KQH`o$9RR#}Xs z7LvH7w!RQtM!aL)2n(%tGGdukquA$_(_GYZED~toh;=U37VT%3d%3MVIoW`Ct8 z)By7WZb-Jx2~RVV_-_(%Fx4qdJShw7%DD`ft>xffoBUS7T3VehaoWEuhjG?0X5VED zG$XzHA{w(@?{7v!Y%W%FgpKeLy)-C@-*Dycd*m`13F$jWUzaq07gd;XNb8x=t`D@m zQxJW#xnrdXM{5^f<0eIhSF~WK-(HZD!CaOuqi$5y$hTuk9U?)8ckU^5NAnO|MVn>f z>zzI6nEohb{xbfpGa953*cLI+fB%30);Kh93SdQGH;24)IS}F1Q3znm5Itv;9lW5u zXN{xS5M~IlDUaSP_D@(VK)5jNOI#q#EmCS`na(Noa_7{`5Mx!@9{+pens+M&rKU2l zuTfeiS((%1JhBUm3?MWt3aHj1ZwlYrh=i2>4UJQAIFBO~g_7Qr{jO9mZ9iBG(>B7o6OLvdTR)uSSUosr`ZZOqSRRFNwW`Jg{?#h1R3Hl8Hwq=xrza3bydurH1zBfe+ed|H8Ba` zGUEPfOPWA@QdjqBr|Q8n$m}#n>Y{fjx|naw(z!V8vEX;3p=W4bO}SXOoe8Ne>*ZEJT-;|oXG47B5o# zec&Y+*~ET<*~R}zHZ;$Nn2qTYxrwqYBSuwDlZd1DfF3-_j~$8ZS+ovOO65{wH+P)K z{#yW*1Pg7dxEeVb9niR!5&$ElD<9CTSiGYJ@(0FtE~*j~*`*LqHQtbdz;}JAv*~nB znQ~HINI>Jp?GPJBvgyW_cw6n6lEr;)BQrp3Cv`_w2y=p<(xlcKGmamitR(L$zSS0L z%OYyBg<)5WF46^R6xWn-Q2M<7c1Gni(BW+@QO)U&%&Hd@*-~Z&6-F951uXHhaI^Jh zR4{PNS@3bK5*E_^so}UmrS3p7Y=f@W)sQ&z%~9}ab;U}8$5+3O<(Nl7SbeMFe^k!% z>%KEAbWcDTl#~}5T}DM-7I#CD*daGkQoa|?ZpJP&fT8E*i2`bAFteb)=+oltYZTfU zS!`9CcrL)DSwWOn(LqoL5ZDsEQgc(`408tm!A$N@Lc%RjYZ52myAgGAcXEG@qWLN1hHLS z?&C$@1)R#i35mlV;GJF;;s;|f{YVa&{DqPHt44{xPe%*ByV{7qZFfVzRpp~H{k6-6 z6~J;@lvv`J2t(6KL4-Cjnk#q>GkR%1VbGhB8epm01+OlJ8nZF$PpU#qb8^3HG0@`b ztmA%}{d0h{YBh828pdSYxGuNrHnG}Mw5@imXfnlF7Cs{Z6GHt}Zz3J%_jIcd3Vso( zvr7FUI6a^oWu~HgARw)*ww$N2PG~q=9{*DaikGV9s%0|a&R8F(T~1wq)!>6olg?D8 zE@ZW_P6DFw3iVs*6osuK^uo>u&*F*33+D(4#QKkCrz;twyINM(xRx@HghEL%iqRHv zm65j{lCp5Hme-z?jM;7|Ibg@*Zo|bfLBH~QH2aIORLikOMl^^;r z22-ZaVFvkH7aBMt)7?jC;AfL(up-}@FCY36eGs&+eS1~l;&b#$AHr;-Cr9RzX~Ty& zQeBOWlHOSA4i-)MtSXBYnGP}gIo?=S{oERUd_ugH!@_v;rNet+L-BYD$EO)Cm!ZYPdh#?R!dfs?)0-{BUKtB@%`mZ#YQjU zYARkagY)R1jr+i*kU5lAhxFqSZ%UZ_&Fc`Ds9IFTGF+G6&9wxU%_5TU?H$aYJlGJW z3Dk1BL8#e!ew;;C)%(T0nJqiwz0YWGTU@k`G{slE{e(rbAvk8QL;!eSl4LtvGC33J z@cl8~>k2vHVWN#c7}D>LM{73&P~mX9K+ohvgaoQ;wI+s3m?8)iT*ujTHk?toI!qST z$#}KKyCsB^vf9;dCN!XKn`V^bs5hjsXK0K%WS_8eCFQ-MC=f|6m}okJ9a3r{!{B$N z?x&^R&EfDRi7#mZOfUfbvEH(|rkCbYJFlK8#qKFC-F~9SIa;$hvFudx9Y}9vmA0+S zbrDc;aiF!P5&UG+E3qPEDJ8@zw|ZJndTU2L)ENV#a;J|HF!UM|btPCiE;bP-SdT-l zixRCNPvcz6w_FY)Ms8Rghw|3lzs=P@Fc%AvknO8P~#QTmU8;2L^Y$*1R(su z8S&{5g#KpWXb5vVrikDrtei>nF1{X;@@E&)6N}NOg3vL2G>jCqi1^_i+GK9RbV zt2rqQjqVOJQP-`ctbJW%@(H5$R73aBy*0Bivy95Dup($?uzCTePcmih7Hk^QJ_aPN z`0y#b2C$+aq0HfbnhU67(u8o};p`N8HnO z=G8G=Z{L*2mPuFA?E-=3D%qrz6-^w8MUkwWYxi;*f^r<8Q!=*>;c57wZ3{gJ+u^{z(Hq%_ zbcXssCN4awGU^1c7~f6>mXQWNwR#*}4ZbP^yXUOTV~6(7E>@86Jt{Fv+1VzRrwz=p zsyBk*GMQcTih8p!!YR{4{TanW9z_rqJ1m?M!js8|BnLp{IPFQfJ<1$%+5FK+f5>}( z$bN~|Nt@HI_LH$}xI%%PWKuZvEc?_Rx-d1l=OJICBz&Gx8@hD9WGk4f*<>fK<&fO^ zz8J;!t&Zk9I{s{2&msZ{cT77_@bSE} z*psMP2pKYfS)F?ZgRbl}TJZt03XH?aqR)m?e{#u}KP1Q%CXerSiOTL-;z(ngW{;5wdYbKFYzR#{I z49_tn_3zz5j}NZxUM>T`V$Gzu3~h2Hlh6>@DYCfy+P+tHB)h}nHC^ZfsL-pLU`6G0 zqJ;|_e+ey0+|t>ew|r}JCJJ(7)>pIcFu>|bQ%Au_AxS5j zo_ip><6fjPMWG~!;QK-6wGKN)L`@_t?jRu3+ZQ0HWnpZV&7mH!nc^((njpb0 zz7rZK%^ATgHDEWADkjuvx@%ZQC`odU6jwn7u8$T_+Bjr2=IGMKdvDlm`)D!1!(Nz& zd?@Z6Ho@)WovXoB>K%}`xaN9JqlWbyqrycdXgnTuyudK4hiQUYo2smj{pH*Nd$b*x zl^?n(htj!T%I>bYYH#Go**_!c$*KLVn5Y5)0e>%a%Y3Ws$@5bcHRVC45$lIRm$Aiw zl!*QenA%{GBD!xzz^r@-rVRrtR5o-QMk3Y1uI42E*J=9a2a$t$+)sOrCDAitqsybZ z3@#Uqkby3O;m*O;$zR>{onZvNMwyYh%`Ib(JQEC^)|8OYeh&*-kQnSYZj<;wh`Esi()CMl)qBsTlOdE& zB1em0k(-w5 z3514{N=ULB7P?vURfmuin*u_a_=^-r7a)a#_D<6iInI}r=>wn4?xv)I8VN54U!Nw! zY%QaCN$-DOF|;E>Y{3hwY-9_Iq-LdBP^#9$mc6ChYLQPv|4y{HRMZD0u;q(EWd7}p z17^LJU;)QFeB=j!jjnoBq7r4ltUuBYtAb<1>+p4k4j}j&hH&Nd)*&8jiO&2u!n`N} zt*JoE(KfOotv%7=)R=Bf7z3uFcNwNhG;d4T*INhT1Vw4<|dN@!Lp4Ekv}Z zFc_m{QC5{X5G7Vs7L3`tc!H9}vv?jLgzztEGzwT2HV#xZdox84(t)^LewDdpH^_Xa zY}dzt~uzSgz66@*3`GUmV)V&uuu>`&lasgu>#9D!BT<|^GHc$OltYM5--HnL+6)8+W(wq5=~*g9bLi0HIz7PlP7bZ!SPd` z9lSVa6a@z2iLsd1jR_Ke>vqhrl=m-)>g;aRb15|O#pZRS2t~!DT1CK#fMNIfHc!DF z(6}Bxse0SGiN2Ue{vb(Jwv07#Z)csKZp(Ve)EZB~pMPAEYjnd;&_jloE_JY;^T{NqBSu4)PWe(P3 z*gKP!dS48mZ2&Z0c(?llTq6QaB0~*{9W}e+;5fS35L#K}8k-W7;F6uzz;rXsOEXg@ z{Jk7pm>87M@pKll+&j9V@yR{u%Eo0=SIF#)tb0Rd95EnPF2#6|on{hdGru)u01umU z8@8IscFq@XIhDrMaF=B6k{>|_mbqS72}PV3OK9&agXG74_sVB0RvPxlegGYyb^EE> zPQWPo2QtpWkv^!tiDhttrc9RSL_M=kR#~#Jn8&EXGdpXnJttZ#@y>JQ(Hor&nB_C3 z1F;jLY1(dg27#`uXpoJ=%`A!`Wuc)oEl1fAt?{3S48xE~zm}W;^xz?wYwD3(v2iu6 zM(Xv`9yk}zj(D5NQTu#Huw`wdrgzk<_Ex8+3TXdFeH;(IYFy@mncb^@A@A3V@Z0!u*Laq*0G};h$DYWciq=#j52MiNV0L)my&Dr8 zmhALNBcG@@kRDXlfJkQ&yt^kCQ4{3_Rz=we4ea2(B)k*Xo^_syK4lcH<;GM9*f~Ks zLt4Av25Lnot)&v(voO2UEN=mP;(V7=^>sxfwH_`Rd65@boE`gJcA!NyxUL48QA46O z-h71`7haF1_a2W8(w;p~avaA{y?>9XYgO?G-y!!$7und5z0uDa^+Cf{vD6#%oP9e! zD{H)lg7)8T?jwk#K$pug8x2=d5Zrt#2Ew!XYH~}^VRSs|XzAgt;F=W*=5-DPl3~$) zIL1UC58eWtQ*?y=H&HtP zQ;iq#x<*_graRY{;U#JkdcsacCgF9zPPp}IPjLe>#1KsqMl0EsEq@))7Y-+P>w83v zaZTUC%FmObmprNER?;F{T`}ib6IQWhUFfCplcuM@OJH5y(E`uM+&_Ij8<$|HMvXi1qRY3U?dgP6#@Ha z?Gj(y;oXbk&jVP|NllHAve}>vzU;yK$VCJx&kj@Y-5>n*!vq`Ea!F#}CIw6iwYn@3 zt)q7yb&6o-vnD%6j?_6elZPCGqOjpAH%#dIv#LYgU1_OI|3le11c?G`>$+{bd$+aQ zwr$(CZQHhO+qP}nHt)W#ZoR5AJcCpwNd~FZ%3o{c|FT;+g}&P2-_#|VlFXeXRchO* zc)D2$my8u-R=&sf5Tn=cSBHLyS%O9DoRojzG3;bxNb!t;&kyZv zj)j_tPQDR4Yd4BQ^=J&A3hj;4L2RWzxMx1Pw_nzFJBO;9aWO9kA!b6Kc^*8PkEd_S z?yi;n5#M@7mY)4x6nj&eqG9P#XFo3LPtI!rzpr?)@le*Y2iM2PCejTN)bD04)q#!_ z=n_W9f6~h&Wc(q^^_`#}2H_mOJ!+B77e@ye+Xj~o&+vF{Mwl`Gv6%>cg4>kt+TQ{L zL09uKedd}*Vl0c}GL9S51wN^)V|#AiC}qRC+-8u`YA1 z6EUMLrIXZcDaRbjcHmMIpY|g8pnHlswJZ7U-^Ys?u7N!d(-C|Dh2$?vqF46UV z<&&#>&x96~K`)DH?BI>*uFG|Tt!PSlw*h(fFL|K2#&;$JX}YKRlsc0;^@;nqax_-d zPqsZf;FiDuR?D>HS#$Bjg3&=~iD{_H`$qsM6!YFMs;bDZfU~qJ)}+X?X=rjf|8S8(uG;93s7Jlcu(PxhctoV_LZw+W0-V$L zfS9s^_u%wIRXkaRNG-rR@rkC;U?38>b!7;;*sEzyz=G zh#DR%EA8u$Xw zMvZD0vT>nGKu7M-nsLLo*0_+iK$|OX5TvQbJ32!0<4RYrUH-U5Fu>>74trzkeD`tt z*ar=QSq&ja{>4IGVr0{^TX}e>q01ofl=`F)jPqCnOkK&*wwMJr9!1Qr*{6a#EF0kr z^#2jblRS=Kxu3K!f= zG5#RQIz>kqvgu5Iif}Zg$^igEsvKz%4n#<5&!lMZQMF#AM477)(I$2DS%q{_dQ}U; zPf1952VC;?2GfqxWJGI@eTdW4AI$u=z8a%S(bzUH*wtoT6^JUn9d%BfU%7uGMAl%x z@M%o3Q#XWrurlw`fBh%jKsz=R!w=flNthVQ z8iNZtX!OBEDMyS;AA==#fRQfT=aLPRs3*XY%Dz7qnEdnn#E~XiJKd$b;mkO8 zKj6B7HjwDRkSmIH@#l2H!nlAe&2DB)p1F7cqNFNo#=$5`6!u)(nCO6NvK_QPfpeQS zP=yD+XJQZ@BpHCL>|}*O$W?@puL2)M9ySiFuTFSrLz+@1bm-P%Tb%}3p*0X1qmudMg5GH;ZcJbTxIcZ3B4CC zY{DL+_3VrX6Lo3z5fY*~?lSTKqS{t;WXC>Q9O}%4e@nHz6XPXGMIo}}9_SW0Blt4Z zfht0IT@25Nk-93+Cf!`v-N*46zdTba5f)fsPBRX*zG3#M06OdlX@Hjg9iyUm*%K|{m9q(N?CM!m z>0=5BRGbtBLieOgLx3|^kbggNnS$~kK^!7k_KZMheugPv+<0#F?VQp63CqmZXxAw0 zN%^?1zf*s{*p61^l?tFy!y7Vk%{(vs4BOwv6Ew?y;x!Du1yTh3y2MfSO{REkS~7qN z_85yR78#(w?aTAe@^?i2nH^z5|5{(E2V2mI<}pO3Z@%w%&A50B-RsZ8yU^1%p5YFu zKXJ(B=vtdj38tjMXDKk1j3MhG90P{7r+OHjR}LYC(kJdPvp6Ofw{rk{Hyz3$PXCHR zL(=5q@|JTRn7!}M3>cM`7Nx-@Q{X#OkS0~aWXzZsb&tqV%!-W6KT{;$35i<7m|0I< zS}Pr>mravGbqyLtersluJ>qPw9!vQm~do0vQ8fQD;*}b@7YJPn;@qrikZuRTZ7e=231tE2Wiz zApN@Ezy*dgeb0PUWFvydL)~ehYWyNWqng(MT|Uu8tAfB@>!eG>SNhUzw8cWOPR88t z^?7v%*Nq;9?7Tp$@3s87bKE6lTcu~7v5L$Uh)v#!sYb+whaH&Zv&}w2($ux@G%e~2 zynbxLX-6iwSLH{csG$D?`}{z7s;XTSMQ*T$ZSkDmZ~((Ux)`ZSf6){u{dd(*N!1JF z;0$vJBm^|>a&WhjesVg3GxEzD*SUV5f9Bdy)9%!OLjKyVSeGFmkfJJL41IoE zgK@r93!4hYPEqUf8s9V)t($^b$;)DN6*f>i#yXbj!cNc1_K3QcE&$bw17NsGS%0=% zK2lOzI(H~xlEs1%@thF0R=794cqTvvC9Hhq4z4-Q;E6jk%{SLex@R%XB$k?d=Z~|E zbbQlxrR%)TnYqq}lw8!R&*N3g%7ysO79(!PO}sI#`H57HN!?IH8j+_;ap}Bp zsrJfPel#Do@eIHqVuX=leyxw2vUG~dHSTG5GH5?7NtGGOrH5M_pZmqqi|@{Mw-=YU zwZ>c|}tx~i$Rn$h(@M)SdR zu9Tqc&Y$b<793vppC8Nj(_f(fbZj$Qb@PCeN zLwY85Rs;5btTZE5Mg|iD6FPlERt7egUFRtA>;=hD`YblhY^>iJZ)OW&v{5-GYP z2GCehvTkVPOl2od-)0mZU|>ZlCp4eT(d~upA&+lKjQY#5Mzd*9I6n)&4Le?$d+QqR zT>3~jvq1T$bF9S)%S1lQruJ%=_xC_-lVSotI)GU6IXTH?Hm(vw>KXt<<*V1a8Y-c%5DjtvT85+)! zh%pnw;)r9BGs+Ru+PMKdN93pItTN?ct9(Mw@_wma&GHezb;Eqxas_|?NE*-beC&VdKCUj^tI!QuVh3EBsoA+RCS@+K)pldG$Gti${hfAK#);f z1nA$Bx@_S_e(L zYM0&MRBdlbKXVJ2i@jXjKd9cNllV{*d9|R_!fVn|dAOf=yk8AAOjQGOzqTp9=BOGe z`VcJZ)LDF<+wrRMXM&*HpvN3L{POg}uYb$ZDvf*T{$U7igI5e3wNnqqeNcis*Q_*r zC=Q9=m&wieD!%LCJHV!V+8UYl&`t*~CduRJq8aCS&&w>6 zcrEb+%yP&Yyd5^Cpn(oc$DQ^E<_>Vt4OGpK(;2{Bj7e|$6D`DVln91x9%9r5m!En> zkS!nrstL)XLx+QtT#kC2)Y(2n+pBs^D4O164)%_7&ghllpI&XTwhMza$(O9Pet-f6 zM6?AbX^2lVuL&6!HW~c*xs9d4#ClP>if41=NM3_5W-{f z2&j92kaxO3^7I{j1IbzRaDa&bgyN#aAY$}G5Z%w zF&dHb3+ZzfY|Z90QGqKiC}I^;uU`12bx{aw+X9%lCdSG7&@P5{ib1CSkD=K}_Vy0X&5xKcF-@Enl_H z2@Yn&Y6*=l3-32t1966ao;Nle2c9^`cE>0}T%a5J{a=;X)lkV;S*0B^hM>hDSg^s5 zVA8RP6;g`mh;1xtF$5k$G;Qt6g!<_f;*f(yrDUmt+G)z(HR{7TObBV4*7|L``C~06x;HkuM65z~F;~>koBHelc z5Lkc3Jp9N)@-gM?k_E+|Dqs**6{HBdr13F800f1~mqpZ{l1Q^j{jMvRFbN}&8Hk%X z>- zfjj(~wa>n6?g%6kSE#7734a7X>E0zUGW9docXd~c27$sST=^9g z;g+onNzz@Pvp#?h3*MM5b`zc4Z?ecOa*GU~5zCz@2$5%VKz{GNfV9XG&yL|5 zX3prl2y9jLg`-S7`cWLdWTYQHGVmG80y!s=%)^)U#Ew=OHvRyfz}`c)sl;0QWcJaP()#b#gD$c}c~bbo^o$;yfbc}`@Pbwxmf?94 zUOo5veBMQ@o*pJEa{R;sOchabt7QOHc|i8XNT<;oB$>kVhO8O7HzLgfHp~I8{KD8a zs7~?VHKNea?zoA`(HsZKqN>OCf|!hwPGQi?G`Ybv{>v1QwBrjacZ7|5t!*t4P}(vLJNd*6KBb+scI#meWckH=Yqr6Y{|eyLNJ; zH3(5!7|G|Eaqj5u5*U-q#7QsWU+04bgbj|SkB;u!J-oJNqFo1JVXaf6qa=bNX_Hr$ zRHjDm^5}Ya`GaXYDbG*HP@!jQb@BQp`kuO<6`loAG$~vjPeyebW;DzQsP7LhKoq&*y^$I60k^ z^;?B)d_!s#2WV5K1HBpwMg&*Ivquxfr2)DhT!_=3?I9cmJP-YDKadwK+~gVx)@c5Z zT&Kkr)sgDMTn}?6%9xNX-h@BypMQrOeK*o@lnuDot~21*C~&+_6d8;}dM1dmHCQ(` zQ7UXWWG8VGX4#pW4XUfH+fqI?FjFrJaE7?&BrK>|(MVN&BalR>wT@@3(gW&4rIQAtWspT0r^0gy;=U}mhz!Mgpdv3MM!?;9cBlmd?Z14 zB~vnBT*lKc1?CS*6!NANh1ZJnrg93qI=?#0k*ral^2U^Mkgc0rR%NKi`ajrD`JfAyVt!SD4R63o-0nmS2$s#H zM{G}4&l7tQ!XVL>&pK@vh*0q#f+8H8ov zkmBT}HN!-+Kbc_2QzVN+QMs^0No|Z6(=@S;ul}wyqMuiHOb@GuFTR5G6ZQtKzZw<7 zvSlpbpSon=WvY|SZ{*8TdA}O`2*StOCCxJZ{0$M8Z1K14odMr+U8~ zQBTI{q6?!6w6B+m8tz0w@Uy4g7UsO00+Ft`PkM;qZI_^cG3r?MJ}yrTGh)q%SvF+F2NZ3Ne1YG-iF?{j$uY*kChBF6DA?SYo zj*n2y)LrHacWE9yVAS)BDsDh=Xr<#Sc}F>09JkrX3f*vU}g5 z|1-EXNsyd^kOBbUTmPei{aD{4YY>|DU6)OUJ~f&&JNiXkut!WI(5H z#Lh^^LeIj=!bZoy!bZ=`{J(*2*?ZGLOWfh;(`#6LY(>LRQ+ez&SUP5kIDP7=r9?eF zhoCMa8V4cIKaJG0N9P7Ny%dV9?vIfnQ|C9GAn^=|tVvO5sHoAwGq0DAZ}(SI@28uy z=i>=yuj4NDXXfN)t19d5j@Rq$@2PIfb?5Qn_we*)c@J3&X$*#^Xp3}tEuR#Z$!u9>&~n;8@zrbWec8fPkZlMSNHpy ztEuJe>=#W`Dc5t*UKZzQ=4=YytLm*!m#^c>V9nd!{Y7rgOYYD83nQNV5yVFif?eCWd zFW+w8-rn|Kw;R_Vt<|27xBUZ$-;=As?VrP+o6>JDfREqE-Ivf^>e}7&ZM;?2LTmSL zA79`5mxCXH-b~)1xlEt#u93W+k5=Cw^zXW^o-VIvyjE9VjWv(^+*aQay>;ie?afJ5 z-mRVedEYh<-+PMxR_f=db7YFS_q1m)}8AZ<=3!S?U+5sM*oa+}im>JR94a zR=nDu2H)e&(AnL~Q9PO*UG3kmi`-kA+MS>KgOft(qwk+bZ>Q<#{tr7q%ioL8yPBg2 zUQISo$*Im1O$lq{2bvNT58W-3%fXsvB}pAUADYe$7PxD7^bS`ZT4PlY*y1whP8Qy_ zx4Wq8z!&TFb}T`t$(Me^m6P5m{a2dL=Sar&S+ z77slr<-l#ta4W%Hcm1Pk^1oe~tL<0<_g0kCpV;o&5cPGMg|N3_F5oqfpVsq_iM4$M zPxPs26C&SWcFau63)&G~l%9A6qR2j~9!92s8D}hDIEj_Aghk6OLD{MPWx&lseK<5S zBx|OIa(D62yrnBD>q__VyQyuD1jc_LS%kT}oKxA|?R%%)T&m`WBf|UT-q!3C$9fJO z?_*L55L%X3JVYeNNlO1HmX`$34@dKaU{K^9aZhDS zkLx2bWY~E^df@#762|YTcN^*%Yi4=+5Rw+hhRji}N=xUo3U44t)t+9M(Z1n20id^G z1DO&o-(ZWjC+h%JQ+?nPnL_U(XPQ8}x>L(mCGa(gR~NqikwN;4zKWvt$1SyE&OJJE zzOi>WIq9OQgF_Q48ZI#m-u2U(gryH9k_!Ej++{0XU?mBX&kNQIkrX9lpnb4A+4ezA zPdqWY{VA9ZSg0C9p?YXfADK4L+FehRfUh6K-}-G%!@OSTR{N$Vm_(lmhi`n(jj2Zp z{^E*%xM4uc^##98iGjDX4b9q)t7ce9J7ER@kokh?fC{_cZoZAKACW9LKPt=8r8yae zjS;X?)0G5%^>5idT%yRQB&ys<@~)&+ljdn#-+NYyXOVqq7TtOPEED*1-spZLY%4ivnzA~q zD{ykhrhuq*HD`_xv`l4c3eh1BaIP!!Nff7wHi2%pAR~ia&2L?`J)7Q`c7{Gvrv_@a zjx#idL9nWYk8ck80C&SYh*abw^hk{n{Npzz`5 zl^vJ5)d94tPpz>X9zFR~fS`U>S*MBG1Xw~L|9Q561mYvPWI>VTYw4rHabYa+Th|E( z(d6FGkMt7ovC<;}eX!HQGVkPtthRuC3P_X$WupNw>VX7T1MKZ;{$w5wqz-<&iQ-2; zd45&F(auUb)C$L>iygFS2o6VCcF#3}1+cM8W97t?4!j0}0l-Z$cBnAp?a_~)K_GCa zg%89?E_XG}AnR>e(35_cLT;sO=FmF*XVr@GlMuwR3Gw`F5NIdaXJ|{d-VO zi3OowgW2X&5^U3|!#ogyYVP^Ukz&Q3KT|O%hO%T&|6D6xJ4Y5Y2%b&7Tc(1#|zqp#I z;W*t#lfa3^7@)i8OdYsZ4(r8Cz=1$%nrkF;#)o7=A9T0Q<`NK?bZ^T4Z6SBYM?7gx zdsOmix7bXC23;LQ8|;qhgE}HvVJEH`WFPEV{8GV*qisyDzRSy*S5mQom?nD#XT?e5Arz$n3=LWN(KT8=rZS&hVoHBXgvS-tSktiyeH~@tU!2PE zSHVQ=sUzzIB7`Y)yW3u>TX_2KmV^6f0Rg3?!bovG|I@m2i>H`<*LYLFkqJOn!iJ9^ zak2q>_XDHcvu+^N7(2RB7@>$Ji^A;7yG0Yk1VfAoP+0>9W+bd?EU=k!B@hlEB% zN-P%9o&G*14}6X=Y}QRo9kr_wW1=kkK+uFB=RZasHir&;7kYAFYtsy*cIvyUESTFY zuvx=&-4GW`VhrKKal`4#+GVR*pioAvTduZ#aYK6o_>kkIDkiN=f00y>uc z48ThS16}BKphY%mE1j8cGwN+nAk;$L6G!;0$R#(;neqF*r(~cS1>ZKK?Q|c zD=}l3P689SSSGbVapG?R|D7^O#kR$>qE{p!SSU%z&|<7ZxW~r@g~I|5z&BwnwZtEZ z%n&w$q8xgsf91c?XG!NH#uKs-c`*3*1BdAhds2qIVR`y1LC}0#UE*Ne9H`^qD{vI>mDCu#M06!GD5HhLkWN(j5yF6< z8+Jg=RJ)y4wmE$Oiisc!33xv{1RP?%5T2QT@m}h9IaLs_S?fD#Bs@KKBdhREA24kN zuM>i0h7Am!4(j4w1b`Z=P`@f-Vd0oIq8IiyT8Zu6C(PqHxK%(AO!z*Xi1o4>{P?w1 z<5~nBSq^J^tI`TrAcC-CvXHh-mWv*b-K79zLG92jJ zu>HZ1-~7n+3C8Ep*5G*=GLxjiM4!NYEr^>ktv3uJ*DQ%Hbkni>f!a0ScZw zjinwA>#6%iH`adI$@}!#RqK8qU)coxVt4=Uf4nUAZtv{m*3>bmruhW&Yi z{8avSb^CmB@76cpx`Xa~^Y-@c?C##)wn(+=Zg+Ve-=)d6y4vC~ol%~q-iKaO`+EL9 zRQ~9iEtnysZ*7~${bhY(%bkCzs@)jt*6hAH^ICRn`0bu(F{!|^-aWn&$ybNo?Cv{&Ji;VPGwa{0o}uwz*%XL`uhc3 zxZjDQ@$iAG=}S9b;2#ECRE09sJbSIeCC-*$h?BW1B1w-r6&9DH;1ke z7qftBRZN6|&w7`~N;ZZR0+BWzBs?D?eMrC_<$FhIwE%0wCQ)1r62c;{Ntqjz1>Az& zU+0yO$G?eKSPc8{4ply{7FF7-Vm1vIM#LGl&l#~!JDD{Fy~@?v>DQ+f(0i$V@c}CA z!(%lJqiDAand>ea{87wFD#>fvplY0Re6bfQBRwDVrBgD+3^iPOV;Iym@edb%e2=_j zxK8sZWWcvhwl7Fn(Lb`27|-U17p9T;m?#vtjJuHSF9TgplS_$Eprb2GIWC8gN2P0t z@%uuMPCvtE4+z0X)+_5)@CIdZpOs?{UD7tP3nnKc6-~NHx;UdpKUT;#a*2Q^k2L}- zb`qfo9)|{96^t|H4s5M5QXuzNV7FEu=IxTi6qyt+DCJLwu%IcKXONUBCS<{*CbMdG zJ}$umJ?TQbD0B0tuQvu(n8ad&?Ksz!qLdUh-$sHauS+s992aA(7`x!$4&Sd)Uh0cQ z4R3FE-B!gm@Q~=ssR$KE-B!mGx>FLbz6otO%sVJZca-&m6(ywLR zpQA@SRp(-)&`z^+N^(Iui$AYv2Msr#V5d|v-DMOOS42VWmh{%3GTqw9;Fggn8Ps~J zl97C%=p(QbQ!>mETfgWFt!9TYw~tpVs09K{b(kexEJ=1uHy~BzCauAXOb7f1sR%Ko zXS})F-yXUQ%urWP`s7>>ngs}}P?6rzDTxm> z2XrbdS08w3b^En5oIEYH(Jrfm;Nn~zvC;IEW}%$VE5A`Q@~v+L+C4+ zE#xDTE%cSb5&psKjC5cAuisVwE8kNuL&#kzL+Dd36M%_838GXyRF!CEnJ>gko^;k* zEk`&l5dL;75T3{Z`CBF@Fzc;Gf!JH3RPggGNphgutTcePEb*pGp7K^&+>mLv?3@Uc zs;?zsT2Q0UG6&QdqMsLz2Nikn0!Gz`eMa)#|AsI(|Y#Zj02Zl16v{vZ3KW->&~f|HWu z?9e!BU_L!U4eSF8;llzXH?jmiC&y@BohJJ|Z$(5J`rQLdUSdgjLRN!>0hJ%EgY#|G zYfC6(v>;sHHG5s|1<*1pA7pAGLY6c_eQ0bdFBig$Wu_Trdi3*zYD5^%5v|+WGTR@2 z1e=4>dkWL#rg`3(7(?IMvZw-o+D>*g>(|)~&&q+1a<>o=Z+MoXo7BL~L!mYRZJ?83 zvwvK$Oecf-V~t5Z*tPsfcU&z_ot@~IbJCtU`k@-icFz}5Zx2x%S~r;@0U(I7QMd`7 zCZ6QBz)9;gtnF|@6rxte(x6#}DhaVb*uI& z3;{mn034~x?>3wY2@jJKuZPyAw2R@&KJaf`Y@~0)5vbAnFinihDncs>)Gc?-u24Tk zma<{|Pb|0Cl42sp#!dUTRc!;09sdLsJak;%5i#-$ZpUCQPxuj@Six8`P_5h~H%XE(Xrh7FiGimqT1Ik9hijDsVkAftiThC#GH+0M_2fY) zAOA`|%Qg#PAi66B5ri7bYyy<28RC>-bpb*dGY2fu$iY=c%)V7zjHQMb5R^Y%sGk5i z)~^JY%*@RYX%lKVRehRZF<{65e2+#d;U3|1Der+sDRWnbrI(mOjtT*Yc$3=wfQ#-T zs9cqLv3NMuk}?$OFH7!}HU(0B3Cwve+0Q5vYKrmz+L8dk`#6Z4LMKiB~45=B~2X<`nWEe&kk#~O)mbFYwAcz z+om_;wktco5t43P9F1gEka&!X=8*D#>x3iX%W8v=URW|i44HJXz*jot87Nn*s;V1< zlEzr|v z`Gt7dW+4m)qBA2z+n^4_e`2-NJgy>{pk(dQ*k}!dEk8qjBNkRv2#(&@4VhPqPDGfc$p*7QVYODc+6$optC8p%rFo(?K!qE$ z`mH(-)d#a_fi*D27pU>#k?ss*Jzo!%nk7Iwv3?fyz<)GY?^b1U0XGeWDU zMtFT5|34i^CD@DuDr|b39YOUVrkW5@nbahc(!v4^AkBuQOJ;>~DoIjI;C{slO%INk z>Z>~$|F~9zzT4&8+Eq+U#R1^UcGJwP7H$dy6G~_RdN(0AHBwcLIGiV}ZK>jLp#o-@ zGYzTErwTfmN$pWwKPJf2wqt=32&IXQeY>2TLV-LnwuErde3h3AV(06lq-|-_nDt=7 z^*A1Q8+U(p81zE^)qTs?@xclz%|W~}lo{`wlIzD&WM)uSDynlnrjD!%OI89&%JyQZ zgNf|$G;7tb>RN;s%iI=X$ML#?(p|irW=#SsNa-OtQ;jr_p#itE9C1~WSLa?dGYqpZ_ZfOK$G7-U$fX4W%apSCwU` zRNcxjhH`D3k`7&`0S$_~Njx@U05pnSW2`<}*@Jo1I!e6Ueglo}~xY~|VF zElSbnBa#xSHmjQlG?MWCIYaYnW3kzS&GKQk{8@uJy$6rRWXdrn$ps-Q=x{T~pJo_e zIK4<*IaB+jqO+tUkxXF{pUq0)NZ@N=1Xbd=k-QvL2-V(1Hw{E)E^rPpPohd_$v+r} zn4A+=4#A>|fH>*`6LhPGNk7;5cZ6j)CzcDQ9O?(#P3&PWZ9i47>P`-y+7kon&&hcPsO_cL8iKi;1OP$VP8zVlYO}84N(4x#*13~=6cTZD z0JM`SP&=(dokTPinf}R~`_2F{F|Jjk1uMBoiqtWzj~FYcR|r%OTjhrbPM{|>!G=n5 z5^VBGgbrfSHMDGH%%$rz2xiU?Z62OME$9scFVc(H1R|lr0Tv8e@1G+|8sEC_yrMRT z0mh1{hbIcFBLCAp;JQW+{D5Pb$qyw@UM)v3fES!SO~VEwYNJwAR=b$-7a`+(%Adz5 zHFhKi?4clmo&D2sAh6aCjny%c*$^@Dwm~Rty&(i*-fvj=IAfF_Fbh|}AI{+LKG4NP z?|R+~7CBhM+-NM~PbVXWt;#N$CY{KDpKht@hJGZri$Q7`@Rq-Elav#i#r!y_;W0BQ znaJ4bl~nRlJ35~?gS}}H0VtNS(0X|+;U5|q&4H?vrXp!7!+}$CcP@s8T9ZaJr_ttd z;)5ZN2%`33RUA(~%anZ%_9gT2Q3Ytg4G2TJq~LW;lWb>SAq`5cCB=$&hX{O2hfND9 z%wAkC8q`WPc+^9Q(L{?2E4KQ(n?k>3<9yFdQA|I!G62pxgnl86zaDW)u=vGO2_Ic$b*4V8B4i10HZban6>SehN zmcr$x9*JV;LSu%lFL~9{!`9OEV;Fg=zj;V^mgS{_*9Na3M$Ap`_1Y@L->ohJSBXFx z@3&%>;?{()nF&%Dj&Y`;6pmn4Fa$<|`O(>k7#eTr8L5#@)Cclkll2IBTyxZ;)F0&3 zvb<4#=AF?aRh^K78TGx!O)57`iY%xqqp+z1C{g$EhH!DH``O15G?OYcg1nWn$YKHG zUWmSh=arXn=<&~#%U8x4F`F}m%rN!y)qtf2W7I%>TLrW^XOgfP)d$-c?fF6(qI@^{5q+$>8#P-GcQ_^hoEmM$Hzr4ae8dr<6>I^QlEHiC&pR zVfopjo^x!42vxQ@#lffrBY?^{VTq_Y%|$Exlyordng#~>Bup3;G04oT%wLZz^jYo^ zye>&F>&h$_SeL}mlll4MbTBP>p&8!MZ}}L+p7W@SC5P%ry69;cAS{wy6dJF9Q`BuJ z0&i4T_@(RrJ)$-rH zfyy5xPITwcw5&K_oG_htn%D0HOW0n*vn9x$j9>(iIU3sRFGjEYoGs~#z<{x5#ZZ+= z5jnLH*NkC;cPC$gPQSxV94=p%nQLI0;oIYvRa!Y5#idA`S_~s>K@MFyH!DVIj@5=F zaI-DWp_z$GLTqqei}^|(k8*Spo?=E%!jqoi$F}HTuY`=kHLiS_$CP2=s>Z!o9o!(C zEp`5mq#|UX-`iLu0B4F3EU%^{*tZJnKpIvJV@z6zsl@yx^CivlgN6U%w;h%k@gbM2fH)A9CZ&uJF}H7N z!)%(lSQW4&f^UH$ar3uNS0+0zq;2E}Wp{@l@rwJjP$UDt&(SBG?6imz)ElD^kXA`A z)kzJZj#A;QBm-h;pM8(N$KI}M@iBhg$cF=mOFgDxQnqozTo3lYW67=%D9~zBPu5K= zKay;^)gD>8*t$HFLU(34YDqRWY89?lPV2Hc#H2o{O?+vt?&sMq^2dC>9-epspT>H% z1CT1fxg{7l6?{+3krXz*GO^?MHaFdpndE;*8h0f6pue{IFqt>C38h1VA1Lh$j7TtN z@0rk*_k7 zrcM~_L0PaUXll>euDVO{_L$ty2LLRfo1w54O=2Rxj873yYH@-nEp`|N=_XOT-r{~N zD2{L>*(Ac(iK8CYfIptuSRjCGd!SoPr%KPLr?4Ova^x&5XilQ$XhexCwz`IAu!FQ? z4Q3(N!F}TRbOd3*;v|+GzpQ5!eL!r-P!PNebTwxwGc`E%d5{)*o8@Y-jxQnlC2g0>}H5R_RdwBcaZS^0wp7nO-HHrE+bEaAR=`Sow64RU$PS)Sf zzOKCA?>;x5cP>{A+nhP|jj6Tz$0YPPpNN0>(L4Y3-g~Q;ex6l-`xXEG-}(XGj7$s+ zBEUsw91Nh#Db<$p&O8ki5#(oJI1dyB0Y(S~BnuLYN+9de6c86wD&V-F(#+U2Inmt0 zGSR}=G||{HEfu)Q$-*)|-poA3#MIKj%*fop+%hf2BsDG3+&tCH#MmIsAk{M29C(=} zP;H`la+;x`kp*z8lxb3mVX|40g{g_5u~|y8SxS7oQA%o(nMo2*(!wOg)FcUL3-GE- zb4w%BBum3Y1H<@uLt_KW)U;$%BcP=w$>xTMKnJ8IrkPo!B&V5}CL8OeRTUt6UaBYE zdHO@2cTc$)7%uN%VBmv#8shmK%nS@gnduoNy2bfIu>g(R&gYl)%+? z^ts~`-C5{c*AULC_Juf$W*gbior1oE8{w3HVGyU#XhAo+L(rF7A{=rXxU?J;Rq%zB Yv|D@`;LXYgvX~7BD}kvir3u6X0KtUFwEzGB literal 0 HcmV?d00001 diff --git a/arduino-sketches/right_sonar/right_sonar.ino b/arduino-sketches/right_sonar/right_sonar.ino new file mode 100644 index 0000000..3d4af2e --- /dev/null +++ b/arduino-sketches/right_sonar/right_sonar.ino @@ -0,0 +1,52 @@ +/* + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + */ +int right_echo_pin = 6; +int right_trigger_pin = 7; + +int ping_microseconds = 0; +double sound_cm_per_microsecond_at_sea_level = 0.034029; +int count = 0; + +void setup(){ + Serial.begin(9600); + pinMode(right_echo_pin, INPUT); + pinMode(right_trigger_pin, OUTPUT);} + +void loop(){ + // make sure trigger pin is off, a.k.a. LOW + digitalWrite(right_trigger_pin, LOW); + delayMicroseconds(2); + + // send a 10 microsecond HIGH pulse to the trigger pin + digitalWrite(right_trigger_pin, HIGH); + delayMicroseconds(10); // leave the pin on for 10 microseconds + digitalWrite(right_trigger_pin, LOW); + + ping_microseconds = pulseIn(right_echo_pin, HIGH); + + // wait for the sonar sensor hardware to recover from pinging + delayMicroseconds(50); + + // print out the pulse time + Serial.print(ping_microseconds); + Serial.print(" = ping time (microseconds), "); + Serial.print(ping_microseconds * sound_cm_per_microsecond_at_sea_level / 2); + Serial.print(" = distance (cm). #"); + Serial.println(count++); + + // wait so it's easier to read the serial monitor. + // change delay to 0 for fullspeed. + // default is 333, which is about 1/3 of a second + delay(333);} -- 2.30.2