From b4762f276e4729d30c35ef342548ceb012ea0b65 Mon Sep 17 00:00:00 2001 From: Philippe Roy Date: Sun, 7 May 2023 03:02:33 +0200 Subject: [PATCH] Tutoriel 4 : ajout de la matrice de led --- .../4-labyrinthe-imu/4-labyrinthe-imu.ino | 49 +++++++++--------- .../4-arduino_pyserial/4-labyrinthe.blend | Bin 1151792 -> 1151792 bytes labyrinthe/4-arduino_pyserial/4-labyrinthe.py | 40 +++++++++++--- 3 files changed, 58 insertions(+), 31 deletions(-) diff --git a/labyrinthe/4-arduino_pyserial/4-labyrinthe-imu/4-labyrinthe-imu.ino b/labyrinthe/4-arduino_pyserial/4-labyrinthe-imu/4-labyrinthe-imu.ino index 442a985..1e7b788 100644 --- a/labyrinthe/4-arduino_pyserial/4-labyrinthe-imu/4-labyrinthe-imu.ino +++ b/labyrinthe/4-arduino_pyserial/4-labyrinthe-imu/4-labyrinthe-imu.ino @@ -29,6 +29,7 @@ float roll_deg; float pitch_deg; String roll_txt; String pitch_txt; +String serial_msg_int_txt; /****************************************************************************** * Led Matrix - I2C @@ -40,8 +41,9 @@ Matrix_8x8 matrix; * Communication serie ******************************************************************************/ -String serial_msg = ""; // Message -/* int serial_msg_int; */ +String serial_msg = ""; // Message +uint64_t serial_msg_int; +String serial_msg_old = ""; // Message bool serial_msg_complet = false; // Flag de message complet /****************************************************************************** @@ -63,16 +65,13 @@ void setup() { matrix.init(); matrix.setBrightness(0); matrix.setBlinkRate(BLINK_OFF); + matrix.clear(); + matrix.display(); // Ok // Serial.println("Initialisation des composants I2C."); } -// uint64_t StrToHex(String str) -// { -// return (strtoul(str, 0, 16)); -// } - /****************************************************************************** * Boucle principale ******************************************************************************/ @@ -91,7 +90,7 @@ void loop() { roll_deg = roll*57.3; roll_txt = String(roll_deg); /* pitch = asin(Axyz[1]/cos(roll)); */ - pitch = -asin(Axyz[1]/cos(roll)); // positio capteur (X vers la gauche, Y vers l'arriere, Z vers le haut) + pitch = -asin(Axyz[1]/cos(roll)); // position capteur (X vers la gauche, Y vers l'arriere, Z vers le haut) pitch_deg = pitch*57.3; pitch_txt = String(pitch_deg); @@ -104,28 +103,30 @@ void loop() { Serial.print(","); Serial.print(pitch_txt); Serial.println(); - + /***** * Led Matrix : UPBGE -> Arduino + * https://xantorohara.github.io/led-matrix-editor + * labyrinte : 0xff90b2a2a6a4ae82 *****/ - //matrix.writeNumber(0, 1); - //matrix.display(); if (serial_msg_complet) { - //msg_int = serial_msg.toInt(); - //matrix.writeNumber(msg_int, 1); - - //matrix.writeOnePicture(0x3c4299a581a5423c); - //matrix.writeOnePicture(StrToHex(serial_msg)); - //matrix.writeOnePicture(strtoul(serial_msg, 0, 16)); - //HexInt = serial_msg.toInt(); - //HexInt = serial_msg.parseInt(); - /* matrix.writeOnePicture(serial_msg_int); */ - //matrix.writeOnePicture(0x8080808080808080); - + /* matrix.writeString(serial_msg, 1000, ACTION_SCROLLING); */ + /* matrix.display(); */ + if (serial_msg.length() ==2) { + if (serial_msg[0] == 'X') matrix.clear(); + if (serial_msg[0] == 'N') matrix.writeOnePicture(0x00000000000000ff); + if (serial_msg[0] == 'E') matrix.writeOnePicture(0x8080808080808080); + if (serial_msg[0] == 'S') matrix.writeOnePicture(0xff00000000000000); + if (serial_msg[0] == 'O') matrix.writeOnePicture(0x0101010101010101); + } + if (serial_msg.length() ==3) { + if ((serial_msg[0] == 'N') and (serial_msg[1] == 'E')) matrix.writeOnePicture(0x00000000808080f0); + if ((serial_msg[0] == 'S') and (serial_msg[1] == 'E')) matrix.writeOnePicture(0xf080808000000000); + if ((serial_msg[0] == 'S') and (serial_msg[1] == 'O')) matrix.writeOnePicture(0x0f01010100000000); + if ((serial_msg[0] == 'N') and (serial_msg[1] == 'O')) matrix.writeOnePicture(0x000000000101010f); + } matrix.display(); - - //if (serial_msg =="Bp Am R\n") bt_a_m_num=false; serial_msg = ""; serial_msg_complet = false; } diff --git a/labyrinthe/4-arduino_pyserial/4-labyrinthe.blend b/labyrinthe/4-arduino_pyserial/4-labyrinthe.blend index 7a962ae8d2e4768b17124ab1d8f58f9545d81677..f763cb99af8e322e16275a5858f5cbaac73db270 100644 GIT binary patch delta 82331 zcmdqKf1Fj*{y*M6XYZL+cP35EXfo$yM!zP_q*N-V6vakGgi_qPxW<*M{4Bqk{J3`` zG^iDYA`C+LbwVh@MyM-^3cdaa*( z?X_NepQU#nvh?mlW*2))Us!t2FZCV9d%?Ng9_ci5`kd)b87I!U*(oat7OgDmJflSm zb8*9$oiH3asj1UrFFXC*cv#fgI-YaAbDizITf9f7pzDhS{cmBsg=4o~=UdyNZTeT+eCT(bQp@t3ZE+*EJZP64onM;x z#}EPru@{I)1*lNAsg-lYsnhQNW(AhdmvH;N91kTNVBh|P%D>Mm-(eU^sP*Fjr`IC< zr7nMf+rojOwuqw^$H5HvYaa0oRM+T##EYwLfB0KskZ}1+uaHr-d)!Ag9B#im6WXn% zPCL&(BrPF!g=$ODRq_{)RO)#EcYD!(hZ^oId4t9<4p> zkoHa+kMQ=#HqM?U3OPWm^GAV*tuAuz_eiV#pvb9i$7%x8atn@h3hksLoP!I^~ z2nHVaHI3FzUbxlW(#h685j!ABWFVmA2JJusw99_g*11!Z%xRZaVzwAkLLn<@UNM^I zA5>z(X%|WK$RqWiEmxRjd=-N>wPE{OiN19^_YtIu~mrUi_=;SpV z`bZO*eLzdCGh-|EcDvaryE{cLww&Dx?b}5gk=hkXpdF4n1H^gsHSK^g-Pqo7?S|c* zwmrDk%u}aPp*PIsk)&Zbl`Dfnoam%+2yc&V@07cUz@oLYz4mqs?al3-*R&}L^0+B5 zJkK6yReCzG|OoJuBY*dV4- zXe-7z#Ra|iCgb%T?D^=GQi_%mMRYz#9x@BL%6hc+U zB3V_(IH6TlNq^DOx z3(`8oI^Ch$*K_01iUf_tl?jBtG#-W0c>TBnLkuyg3};YxZiQ3m(t4(-0{TC$NVySN zG^-JL-NTJ2Y}!1`sso_TYd8YSiY@7J7B!9`-PkzEhJaUU=Bc*nHCF)Lmj$V>kK&3A zF|~2rHFL7Y+vZI;cjC4_0ElKw)ut4*06aF&({=EZ)olJ z7rO^yXs6zhzlYsf4mVVivD6n@6{__tm}NcVR_zUQp-^d8FaxkEs4I-<=hS(@^=S3X z9!_xrbD(!BG9cy9TakgsbT}Kq>-s^ZV5a46LyW8TgZg1I9CrnX1hPt!pz+C<)IXSK zW>>)7z&L}UZR!u*h_0aS7Pv*3sc?Uo3UA{23%}#~({Q=eAB8fS4&b5~3~kf?(C&oB znk)0dr(CT%mdUC*2I4UCSe#nEfvv*XiZ7|={yH3K#_{k!u5wnM)*-l<;La|8bdb|?jwqm2xzB}Gc^pS&-p|%w^?z$_$c2kq&W zB{fMQfj~&qP95ST%UDJMV+BBh_Fhz@NeT(;S%kQ36GAjeAp-Yg!&^4jiD=qv*Lr5Gvs><6fyu+OXW#>vn^uB|)e} zxSS9)P_ML1@VvB(A!&$8pJvuy%7Krb%3NsRZe= z%ZB}0!WRkErM;b}1!}<@9i}1D7hfCSOD$!IKjjzl1F)uj?V+LobJITB+fuDWy>ab4A83+6~vN?diR1eas$Z|K-Av$pEe zp~-Dd`wxQ9l7|vkT`IwCPU9m-VxGj)x@3mnfj$++hl>c_8&G%9#Nt|>R-Or7L!8!a;X>OYjw?2FbFVQ4@2=^CY)>b!O zVK;SkueM_jbAC)<8YoZ299*TEDVcT%%6`7WqO|c>Kxj<48MdBpI8=qhuOD|blN8=2h35V-=6i5K0EXzr=#t5l=DGS(-jw#GLD(2{y9G1 zt{Cl1OlrE~!VY3L^4j`KVjb=AM+2XxE6z_aj^t5q(*FGz=k7vNCVDW$a`*5kDK&bG z)6Pk%n9>AEh7�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 H^2+}MMx3yD delta 82830 zcmdpfd3Y36);HB%m0Xwv2}vN3ZcJn`$Rfxt0fT}T3J3~{f(k0{M8y%@hDBKvwNz9x z2p0quT%#g_f{hAFTxQAz1x3Y;#bu1^$PDA4qJC%XbeGQfz0do8|9p8KxOLC{o!>ck zujO>rn){AjbKkKGio9>GJ8$2CnpWdHKR@nlnLB;abf=Vsi*q#jR+XTt|5b}K((}cnm8v+Dmmx@s!n}VPOI}d?JKE&)8Hbi#^p<>I^i@< zwZRg<-vnS4=Mv*^}7$4Lt{a55VxuM7BuGG)TFdADTB%;yXVFx zg?8ivaj!^f*%ee!YXj!7bBbqw9(O>b^i%-43LGnn+DxD;f3AxMs;4;Bs}McqQ?1## z*?JYDBcAP-_E*9N#cW3vrv^jOBg3}*Qm3VzkmtBbl`C$E;7H#t&38(ZDpH6J1yZ%! z0OFCz?#*`!Jwn^YO`Xy%eTD0AX;mY6^;s)Vjc20ZM|H>L_OB~-@(bU{tL-JrLq_+I8PA6N{(rM-q-hS82Ik;FM{lzX%sYA8gkq<4 z9BP4FC+FAZir2f(QLfsr`mxu27MD71<8(9H^26Li?UWWyfs1Rb-3vY5K9GK;o`(A9 z5Y&N1Bf;+Z0jBxxmX2$8v~Zetk~ZuHKBJ0`UQI3cSBPmwe+7uQV_G_8E|(04+H^b2 z&9_TiI$N}3hD*m_%FX5f9XbT<7;LVB-A+5VQd)~@=#c}qdn>2EXG&p}wo_ZdZn_?K z(`1FL`I=VW%-ap6w)+UDC~rD%IQ|T5l=E6Uojd~Dg8ojzz2s=%>t61h;IYQsa;G$3 z_XfswFLjEFgyaa>EtqUuIn;1+sWaF8>t)asdjaT@l|gM`feTQ_mM5I~Zao&SO+YaL zop#Oz`N5|kglbc22PL7}D6xCmJIlNZ(jZ**XN;@;982f6aoQHEs2R*L+=aNP`=QQ_ z9v^~Yp+_h?@nGj_&re9R^|EcsoYP~EQ`^=5iyL0kCGB}Xr4;wiqP&^hc4ihr^ZwDE!~kPRAdq33^rm8$9O6eUmy&7mMN33-Fc z*69s(3%*3~wqDSTK5|AVz(qK z{?1Jn3~fzoGM?%LFly^b4_h@q*eeiBc`ncq&jr-SX1O3g6e>#Xw$9K?R0y~W@~i*B zB$OgaTaOPxmFsW!cXh7t!ZtV=M)h!d+eZ#}PK#~e$qtjy zkARVArr>%7zTXmig4aLUYbqqIzLN(7rQ~+gu#nw02~6$OyK-CG17*0uqK-`ExhvIs z*39yrfv^r17Au*Kg`hRI1&xJay_`8-buM~M6Bh{)^p$7lWzYb0qXUfu-@TII)RzJ*#9j9s_Y5bV(b#K3Okrn$eLt zfpQ+}L0hf~r93B4V#^1>I0$Lqsv7{~;3=#_mn9$Za1GXRS|KNv=Ediz7ecK;dusih z*tlX<(bIJw&&%x8pJFXL;-;ckBqWB`QP}?X_!O1Y?P*8BiNA`{kQdj`3dM{y1QC%! zD*i0f3)yUWZmcw^B85!5hr3}vs#>QC45>&V{(7k`ve^L#yNQHI6cPN1&j(1;POWm1 zr7Tdu{)_oCo2cvqXhlT|sg@HT;<9@Xq9TPX(bWRkY^y;|=@=C$WLn6LqN>ou^4FD8 zZEwY?UhOAbN8+>B19ehG3aP#hu92aONY&OML`4dzc!V31RPA>NQISG)=#Z-Iel+gz zIGXTst;j`vdmae8=+M$DkiIhXv^v_4-1~GTB?#5n@H`JnWzufto~G*}L8wOf3TvpX z?2a$Mt2IHW#uCY^Ew#b@JgVt0HL68JZRyZquWEk9MqklTTRK&Epis>tUKz=&Ev*M@ z(3NdOqxNN~xyW^J(wwt&)hP(A`83I^Ev-2XJi8aKQzII_kEEi5GWbfL0?A1vRBk@gVPxm-K>AjS9)DDIJKcQG;C` z(bzAmquNrZSYsP%2tsXyl2=; z$*V2xa-P355F;A8FQ_f`iZyT`x~Rdo4U}FRlzX`VF8T-PzM}UH{BqtYf3X+SI{)$c`TBe3!s1EPq-|nvf?o zySHhqrJZxUvpwHj2D?AXF||{#jl(Gz9o969{b1eUPKn1x%kkozZ1fxMe39>8&U)cb z7lB#0E-K6qujG9@m<=gj#?G{Jis15j>pvW?NZ?1v&5GcUWDZZl=NHBTyP}Ib)V_J5 z(=tgV;E*E2X>5oL+CgW;%WTJy&U;CfE6&Vd95b)HIJV4g9OX<%s$6mYOmQ4}?c6a= z(w=gXvooo3#f4Wgj`R`N!9Fq}K6UXJr?K68vePy{xIzqKN>|mk*J!7uNAlFD(N3Y0 zR1zgMvss6XA?XiE6)D7@!w^zs|GqvaKErl9)j2n*g$fSlGMGrPaSpayPj%i;s$6m5 zRbm&(nRMsu*bF=2G$7SN1)F&cCK3k!bQ-jf$`$8d!#L8n6KBS(T`&%v6uIJpYZ*uS z%-3~1@TpvJ;dP87ea5Z65}e$820AH)3O3h^lSpnSo*%b%$C-drx#IjA7)SavPHnT_ zyZ6{;6P&?GEmUxDBZG;=PMrYVqauZb^BF>_2sy-_c%Hk+R-FxeTBu-iGlPjFZM?DF zbhfiAsf7ymZxK(?0)wYq0G>`c7d@3i1qTZlOeE+=D?6*Zn`d{9j9qRgPl9o;2-OH{ zSc91Cwox!Y=KUAoRIWI)ka47+!QAv@U|#-voKb>M4gXfwAf~j&EW4%}2ZIzUI9Mc( zBS{*ZX9tb}`d7|F#|5Dp;bPVxCOh#0=U_YXl-L#a?k4u|#d>PJ#waOos*)vBLaX@e^mSgXchHM4X1LV;B)KZ2Vm3fxNXMehm5X zcBnn$LZ@Z15xJ@dR8BY9zUl26TR9J=*f&=>=XzXHeod^%MIEM|f3>qa8H!2eFpsk> z@|baxuLYX2YjB;HLIwLN0V4@E(ho@$DJ0my5K_hdX=gvU)_FUra>a#DFpl)G4HNdO z>tMlFx#G-Ij3a&aZ`ktKa=YSsSg^HF!Tv@D6N#O82Xy%Px5pOS4L9KGE`ZvF*0N8SL@-;nWe(-Kb`37C1i?>zQItIUB5< zg=dVgTEl31AoiCe<$+Pl>5LNcq-O^`7<>$i04ByMno1coa44A$}4FUdN@tmqRGDJPI`~U;siAk{G$DuftcTSD3GASCv1K(?u3d4jv&CKV z9jqs?#dM~l)XMvub#WJKWb5vVk2gB9?Vvw;NjqzYJ2rL1L(U~`r8Ji=3Vu6oK5bXM z-=WQzeUD|&BhY-u9?Ri7n$DB@&qg2V>O2sU)-AjWic;6Faqe*vcnH>u? zC^e196yqZ^HVx`hE7%o}z_xnNI_Eo=tWq1HR_clM*l_5Yox0h1IbX*c$0xyM`8d0I zSd(JAa)Xnol)7tM7`zjXLq^(&ZfZbY+l1}`L7r}USZIqvoA-oMkqm}Pi)eZ!`|D3b zf4N0Oq*V%MV$sqY;^R|4J^@Q@0`owvmCr8(yfB;R24i6qv33s zOp*qdv*Ttmq*8Ygso&wHShRLwye#$3v(7vxf%(k3U&48!N=<*B>Mk2@Dcj=SAm>q~Dzhf+K|J=V9~^$Y6?XwXj$r zy7?0{we}?^4vmXymiBrivUPjmRQ2nZot+*NY69!Ye_C2Rlp~mIF%1nP# zF4$owE^&(aW*Eke6)USgWvE3~e9F`|Nr%uJS~N`zl8T-9K0KpPkwScdFbh6e@<_xX zWrW6uNiDlqfIlSy)_b@0QW0?$9+z;%c3^7P;!SHosKy4#D^s?4dQcJ3(8f|*szJ6a z-nDj7gYT;F; z4yus?r@4J#w^M1m>~c=D2NpXe_SRhxE5&{U*GTXWrX2iJ+l1qrg0m??1*5X6`(Fdk z&?qX4Si!nl3IB^7ChN9lw{y20`LbJLhwVw*F!Ofh;QB%-+c5u-0Hb3YYBv2f$L#Wt@xGC;D64-Cvr+|Y zt51lv?h|3fFr`EvCN)EaJeT7Ud`x*g3Iw9-QP>xt7S^M??c`74S{k!Zb1gPUa-P)E z3)Cz-uO6^crdYo}W0{f`vo@bOyAmQ+SWw9@qGrlAA3Hg=@^j~%gp?^Z9Kcwj=6ig@ zYGdL1#rxnAUge6@0Ym!iT8Dq)K7<3wme<1hBr*i2yx(b(G5(Kd&wNZ}{NrJ2(090L@oGZP zP>?=-BHQc-$JpxTv7+Rh+)WTH&3||-hmA}RoMW)}o}BNukyvjRhd(Y&?d$)-(>RUp z2kQhltAC~*_e2b3Y;|{UZ{_ zpZ<03pu3kYJqko~P%eLSx-WB&dcDokfsmhrvK!9(-O+m=oc?Uy+jnk;?3|z0G=8?_ zy33FLSH+5|Q^&k{)Xc`4j(X_92cQ13{iRRa-Hn~1)SMrkAu$&h-ha14ufHpHu`5A! zv^S6NVyDM8(cU~(wwWdG@s?FBX}E*){-L}#hhuPWb}+m{RdnmDpnZonUOI%9)1v)< zW)@Q6jaNkq2?fF|6w;w0g)9*Wsd7k%iWE{U5K^_LVbq6;6jJd%`$DR=h5|!Gq>%mE z2*_q%M2LzM5(;Ksy_pVXw5fBUTsm= zr8VdzEus-fUTvucdqtrI5sk5uS6kXvOR(Sg_XQD+3dyT2Z7bHGV1$UqewoW^i;z$c z^3GB)f*`c!I{VdD+6GMw3`THKgHJYK+r>G)QNH~fiOa+iO_TXdUSK7fXV(?5) z3KeWlW-yT;UmLrtMeKv5$`$92W*q4=?!+NLdT9xeYN3LIF$^XWJNMvN(l%`sgNM>0 zS6q0Cc#7nV>slP2W$$T?o=TyD%~%E#34;fg0;$Rs7o5&G(nnldJ3bLxk?)@-#xUiO zf@Ct*(j&PYR1$y8ewhTjs;_+EIMyRO%s0PHY)4Y%iu2E89O)wt9+HSiA>jmukgBbF z79L{tEXS&fTyep*R{gXlkhm(X9Nf`X)A?TmT6=#0WIMQca-oZe6 zMLQtXLIwNPLW(2|PP7M7l`Aedk8z~WxXN-MUDW|Sl|luF=QEf{Z1+Q;`p+MV)fc(q z%w)!qK9f#v3#9K?pr=x(VE;k}6A6Q_=!l+*Tyeo4#8cF_QxC(5BO--_7cqoX?bb%sA3#+|CM!HW}G92G8!LP{F|^3?>pgDlgu~ z{;exaM3pNpyi}Y-eI{+%2}tL315zziu(_PUL}JUk#4Bv4W8xico1@+1?egx}oPtmd z|BtLeOsHY)nj_F%kt;5k#yHZq6MMlUw>E>_%Wc>Lz*?x_a5{sDgu&~D@3J$JhFp)6$;XbilNtG)uoW(fOXWW(^ zKw8xg+f)h_Y_5Nkwh1C(@CW^XRON~b=QED<8TVr^Af3`5Nu^N1=4J*H34`-1kyPZ0 z^KTJS)VBqFp?g*gz?zF(alr!NLw&n)V7$E@(Jy|v-8c~XTniQKFJ&;1Ah@%=@W}WD zcI#2G&iP@DFfBnQ*w2b=vMScHSmjD$7GgQv8#owh7@uS7tH3Q1X6{~#n2eO|+@oVX z?D9de7ZV~@u5hu~Bu;=GNQguc2E75|05#ENYr74OO>)Uex&%c9Ea+l)4vxK=)H*6b zaGMZdL-92Fx(cSzgk!;NEmUy0jKM^Lb90%!;y7FwM6Njh4k1Nyp2IEu*uDAYc9v7h zTh9kRY(1QZt*4jmIusTV)mOgYPSztkxFEH$#~qJrg2)vYu3#MLb7jsv0r*s|xZobf zkv{YNaTxk{m+0RODf>5IIP|f~Ro|y_xS3FDmyd`wv$qb9?eJJgF$YM)w6_e8d3MzZ zSclc7a)kG?E%J?hefmW7Rpg2@_cM<4Gh&$_2n%k2NTGuLS|LRejK6}tS40X49$*Nm zX7EAi)mup|RB-qpgNY;!rl>2|E+36uF9_8zt5}1W(i#+c1@20rg8hdXOeE>3tM`*C zS6r}Kd`5l5Ewdk=iW6AmiVGiM9OxY)V$HFa zo(X(fs9-q;Ph0igL^wXhLFw;e@xZp0hQo^+yc`+miLR~L_oyV+TxxW&xr0|xt{on#z zl|-)kTu!SJg+q0o9NX=&kX9vxBW*`}(uJ|tlWI=Y!@JoGxy4OB{tvO;NtG+k+{-x9 zXWXS10Z!$L^Y0TrHxDpy=s%Q(`v5PJ>XEFy)N z2N^=D9NhcXC3r$Aa>WI!7)Sbu9dy7;l)*%TLDkTdB2tK1#}HCwK8UBDVVhlvPD-JI{q+nc z5(Yz1HSFUeS6uKo<4B+5sjFtAe!5_fwnq!TiPGdBbzUSYRh0}Y^tl_S{9w#Y#SLsTL-EONz#b&Ml@#3k%C z*TLzs$`xmx6F$_(Q3Ua-*W=PBa>e=2GmiA_+8f|%=E>{f0!8JD3tnIx=_3vN0C*eh;A|D;gC{)^%tlHl3JGJEUIxHOAgaluQB zBYnhC0R3gQ_7)s%QmEkYWd;*T+5-xppJ_KQ01ZW`hS|az#Kam9ML*B(r~$ARD%gLO z!9>D+34y(H?7lyt<5H;L;5Bg^EzlXq;y&&)n|CWl$s6F2J%dt|#s0MtYL2o+Z~T#A=~AcFH+$8TRpQv67@BRKwpPz93UNgm#(T zx-2$0sf7v--eEA2aAQFnEzBs9D=vJOaiq_2rVv64!&c;qGw(Bw^brS_=ps^x{{cft zl}%FMY_}EYpA;%M*eU)Y3ERcMS?jL^uofyf+{IubVK79_f|DXwoY})T(q|k6%}%=; zNVQPG{)Y@E5)7eD*#-BYry^He@DbxkpC4{Ey%!c|l`D>J{KDxB>B~dVOYo-VeX)xC z@MAHCDUZFc?t`&Ma%d~K3Ayq9*aVO79^>zvJmTlc29LAri}h}@#_v`v$d2!&JlNNA zQ^R+kNsr=tlPXe3y+D|%`$Mrek}6V2_$Ou|Ra?FaASzM_-QEVnq-r5%_zjQmctap@ zp+{)ztd4DW@t(bfAmT0dzDHsM2N=2guTKMlUi>sbA2DV}Eu)W%^Z|`N7onE0 z{hom5A%BoS8%e`aT!mok0&M`1Xa&qjKydub6Hmn|Qv;ri9S2Q;(u}4Ez65>96JKiO zQ`i(LOEYa}3^PKoTuVD;Q*3*_|0$1kO693NiY!E}9I*ds7WJ8w!c~U7fOkTqP{HBX3?`EF z1c%-9&$#tUp@Pj6u0E0AsbP`5@Gp4jE^@{BQyEA4?7__;dMa|o1s5}p^ce?{Eyk{X z5pRb`p@PFp7)&G#e)=UKRk`BKW#T02XOQlE8SmLhp@M@yGMGpZ3_&ZGiycgPbsP}J zN?gpQwr!z{57APVa2l%+JF>L1?O%&Q(2B?vr^AP=vTMD!#vo_~hZP5{paz$W*cRJa ztOKnF1dd?rNCm#M!wz~qHaa1%@6Zyz1&5T8hF$x5?1XkIN<-T78@h-DM&T*vP5Ptl z-UZ^;=vTZ8UXQs+UodGM9N~Z^E<5*)*f5vIJVbiJ`-Tu~KYJr~LQ*G%6Lg??#ED6tn6PwXJUsMw8D>CyA{E&_rBTW%<}^J!3ahK z*|N*sGRaT;G*&o!LBZX&5eF+rvwi`)ahK0=Hzp}qRaE#F z*78w1Rr3Yz#wt^c`7>jf5qIO%gs)=rU~88G1^Ul3kO)%F-;hjYiV2=&4C!Kc-qoqf zy|EHF)xiQwD+baugxvijw#6NcuYZIa0iEe6Rj>~i4VrB5+mXWbJfvDc?U-xtzhXUq z?PnzrMUFvg^u{9&Qu`5t)Sl*d5J`AS{aYNuvq4gSJLgSKT_N_GX$&a_sr9#CzUPz` zFA+VB%&MlK6^c}&Lr~G8z5*o`j#N{TLX1F|1tQfFi3tCWx7i=kx{<0J^x7#ry})!>GliZ5J=XjDjEZBad;x42;`#wnt) z|4nXswWS)|&J^P$2=ywIyxN+U)$ADK)H$NDMDl7&HOQ77g)eo9XjDsHZBbL>K&63L z^D8#`iiX-!4Q?xn0gTu%l2==*LEiD3T_YMhWZI~$lB^!27(hX2Th;1B6DHN*{-7AZ zh{iO@tF3zJFK(;77&REt(8;W}RAUEv$M2g(4ZAHKFDepU#gIQ1-WyX?DN8~65=-*Y z(K=1)tgXfEJJgML>S9)H%>HphATel?hMRe@^f%#(Scj2c6+6b!Dcq8`AjMaz722w0 zP25&1;FLk(y4IR!Pz~eLY;!OEq-R!xIa^SX`xKrdHcntM3=xHs7045fU7Hhs!!wVd z1{n^o54c6627xu(k4VU6P@9(ztd>mq07HjZCy z@9J_;iA^+#_w~%f!e5j(o9TlQ^bSIJG?RBL-yf*3csByhpXB{C7~|Gn(0VQ&T+7

0IYO0#rE1H3-KvgxI&#LOKSxc%1Bm}2=!2;GJ(-M5tDmKd=I4+*BYl`AS5&}?#utsWyM63W2e!CJPR+w4HFydzz z#P-dy&$ozAOh}nxgGG!bYQ$1}A4G?>jCahtRm@>(3rgahT|7!bhz0ycPZX6XT+CoH z&O{K{2REHt$BUhq-FY4~!kE_32!c~RvxN1?5!8b)vC?=kH+k9B2OSP?=#95Z2uij5 zrL09(IrgtIL57-6c8{?05}+awRS9kr2a$>$gfPIH*w9u73@uNBmY`HCT*g{tkhLHl zaGIUmCSGiCSioO@yY?oyF|xi5)K1{4Zf<9FGS2D{CU}!-R@%KG+?d{SFlY)=HT^qS zlN?}8h#8z_mzOmd9>9h_DFbzZt9o!JtCIt)4xxl;!vk6K$8yjVq-usMq{hgIafNH3 z`$nzLZDBXx1V56zaA3S8gu*aJb-8T z=R+Gbk73Qr4h2m?s;0SLYKn~LGes-TvV$vNZb_M9{aVJ7HO4~3;zDSZSD$p-*g4g) zVta2#upv0r3m#xSvXu^AoNlKa7H_2^=U8r+O^1QHz*Rkbkk!dNn}wLhg{pZRSMJSD zpeabzG^<#X9Eb)u-qRUsC;(OPAC?*-5h~zVnKcP!pxYJtTS^rjtY$Qs!LU4va-3ne zch&hmG6vHyaX6?7R8_-ASd|R2D#Sd_uwNbyPDzST@8Aw2R{ zXt=NY!y37$C#VQSRm|h8LY7$tf+T0!3BBU2a5Qy=244lo3BjqJpJF{S$$Ahpd8>|u zuI%Isy}_a&RWsPYnq-+ZA%b$IUC@Ut{?rXT{h$x%2~PFGC!})7hY^)))L1t*_Rqec zBp_8XPq7jiO@~*$oe;6Yg642~gy(3eo(`;BlDAPz7UG^FyA z1ZIIvi^Hdd2G!ERl;>JAAU-J}Wr{V;*pq-LA)?aSvVi~-vBG@x2pvXsbohWvK2jVF zV$%_o=i8B0pf43v{jiYrseO1NLsaFigoqVpip3jL$2c^2UE0wwEkvv^zXijHm49;p zKV;aM5V697mSPmu83sRLxYDj043tu)*sz4LM9o5HP zv+nZR*Hq=(bH_lF3RG2tPOM6%*(8NAipev_g2^jS0h5ALy|6Ruk!jRhW`~_h)>b${_pjA7pVr{a|uV4+U8$2Gv75?WqsIVYa(;Us3 zWS{L)5aI6g8q`l=w`qI{T-E(!Se+ceaKZE`$yinzask*BkSYa(rLIWEHWyz2Td#-} z77k$;*q5Lw+CWwaUeI%G=ipj5#Bs&cvTbC*rhwzkkb8Ad)iFAZ~9iBBk`nC|I7$^$}4H`6yMnlpGe;~_3?fw zsMP-WDBRJ^zHh2t-@qN?XtKG&fvCKc!n!*>V1Tx_N-<)=rIhWakSQ-{Jw$C|>o$Kcar$DQPNxQbr= zh%JWS;vpFLJ^}9W;$!AE@^5R#KzX}oPW=Drdj`>m|KHv-*zi0ThZMH)e|irg zJu&}}&xa%L8T{`*AciLXH_v}{8tJsr#}D*G5(WuPuQE8Gr(}@Q6AMW73C0e3%29AN z&ZF)8nKZ04{#CS-@3ovL^JxRmqhMWn9_`2Z18hO#$9^%7jKFms`H!R86IaLIgDHfc zgVRS3CP_s=qfoK{d7`k>uhFLjMc3ktdJC27@bO1@BCnT};zNOB^83Di9L;P>QFMa5 z$9{z4xd@j>6i;-;+xkad7r)O|-x#Au6h#3%qTtHWgJ<%0XaL4rTn{Jl^+CL+XWmSE zj$gPc);7Yozu-U#u&p@eWAm^kt!>vE;-?gck8;Cl^~_qxr{L{*7#oPk8C5qW5A!c- zP$zZT{5U){SDESu!`oM)4(W0*4ZKh=&u+LmzR#mVOV3!4D)r(mK;emBo8f~;>au#p z3N6O!XSxFPI8U_GY}me70kmS*E`w1GzQc>gmdCp_aP-aMaH&sdC?Q)q z2!o90-4XBRrQdIKi5HAH9@`RryO}gTe~}0~3;+7TzaQ}RZSeQH-FpYTOcxOrqP-4I zRooe06nAkn{M(Q(2+_F2<chZUjFWXJ1LWmBp%@j!Ad}AMsLzMm-*ao)&G8JgIPmhKdvt2!vEEy-P?%3aJnX zsmkY}B8KYgZlH~xRPCq-A#_4T%2NH4d>#r_?ez#zkwU_c*?m&Abq~f936UtGR=x&C zn)W*+QISGQ{>mgoX1hOxQ5+&tNc|@aAys=GLR6%X4FVxmyAmNPQb@%N9x9}2-vP)N z6)9x@PBx^fJdW`H$LSE4gEBZ$oa$BlENz7*?9f$UT}2Afp+l;6E#18fkbx1ZQSmz-oXSLf41=p$mIUOqaUwk2bjy`ncxMm|ftUl`Pu z4mD~sehE;-Mz!SCmTK^LrQnr_hLOD5(mB8buR8{PL^O6Z=GINyl6tTP^`IcMt!gE& zw$v-uSc^6y8ouP!maaKG*6HO^5sebbt1W6H93?oBEWKPRqETPBUv93pRD*4F$Nmt6YSexpE0!?nYQP#~LlCO5e-CS@E!E&foPxUq zp&C1cTW#qI!~H?68>xqGS87W&cum3?<>H3Mue?%v1(8D-e+1vHlI>2f0Q}$a_7`2F zvc@frEn2e*9*b8du9tWtNyAOmJ#Zro{tPKcM~g&HD*QSufsi7274l~EHnRhau8wHs1xe*`28?PR*VJZ&am>_d>22S)tH-Oq`R`ciJS3U8i!bKv{ zJ1XWBB20giYWb6J*9B!@UNQcuoDWe~9s^@^$-1WiD`koe#xj<9>8bXJjc~h5#0m>f zV;E60B?Xpzya_0!OtJoW#u7DRC9vec(-2rPPRwD-_gaTM1NT}no0|9xMwf`TvIS?b z26@126kXD}4lGNVV#6~TOCBJ0nH~Hrz(lMtGX+`~I~>(9gycX%B#Q8-GJ*)%=z-_r z?<7R5u;5~b5h24UL}dO8U{uN!8(zX#qGoL8KLe$R6=p6I-%y=l6#TLAFF+|}iuEsN zEKxIdd#g_#))BUXk{=tkldpp-Jj z`ZL8rHWCRhSQHi}c_cdUXGR2zNj3rja{`4A* zXb~%nrWnpyRL=;tSgw;)lANxHrs-{s9UOu;XA40Y>`4Bn>`$AR z=Ed3gL?k~plAoNNpKUJB7MLcb*@Q)re49xAh)Dj}NPb!*KR+uE-&R?iC1_-x?~(1m ztC4(V&+PJJBl#I8WS8F@$uG&w!<;mCWeOm_Dw5wE$-l(;b~W7#?Sc>Dw|WMDCSyD9 zjF%43RYX^nP*xRPZS>??uO9VukWV1z?u^5acx5`L(;d8^gu7)yf$wsPNLLgpN_E_Y zD+YzI8H|1qeE28INx*TR-v(Pe_ z_z0H4;3QrKHT6Gcugzc6UaLsGrlQo^kI-v|(b*I#rlx*Ew*!$B*TMH)S_a`h>B)9* zeY~to5LpYG!{o$&3o_QivI5E5n)-O*?BK1;Z{R>bFN}O6r*tTNaV0$!vlc_R+5Wf8 zr2_P`7DvcuEvA6aT5KH{>Ayi3yuy#Q(hls7tPRn%Vqc{Er%2vpt{rf9-!#t@pvRGX zhe*C#B!6TiA6=|QM9Rlz(C9(lUcer_x@?YKY*giY(TRYz45yF47 z1EyP4J`h)^Ei8HbJPM6D%7X)kW(iPT0Fk9rm)4G2E`(|PZ>*%@CH&1o#Rn%$Z#)}M zomJqU#8;Y{59abkhvrS`AiBq`c|Vbz58Gtt&6I3|W_OUKZ%T*G&e~ieo5L?QkLX^Z zEus$nVl#@iV5Egi`RvRuzWs7H`^_IqXPw%^LKgXG-*4*A{+|*=^*es^LFQKjGcOfz z&}E;=J8&%${peoSNA{pbS=SEHhwD(Db!`IWS(gsKG#L4)AMF2G7dt?ZadAV_BHcqhM=?^vU$n??)i~0kSuIZce`L^PUoS$9|A#G*z3x z_F{CRb%^$wUWBI?N1EyE@HhM7#gl$x*!@;7Me}1b0qxSy0 z4VX3Wa1ccniVo2h{q+X55B?)w+WuGTf-U{a!Ljw*_&T{5uDPm7p`O zhfDXz$2Ac`@CH2nF@#T)X^&?-cuQ)l@CiSf2o)fE- znrh7{XaHEXMY5j!fLvRE9~Vz_-O9w8Tj}Pxku>;;{R)2v3kQEOL`CX)SPyFqy_6%> z(Q~hccWs~`v;KQIPm1_;xDpG%%2YDf#kY4zsnVG^FHyvjnrmDP9TJ&h$Q!Ugx~YCm z0OPTTbYlb2=`fE4dF~c>7(P6wcWvNNswUrscWq!5|82C!A43wsBDs_80E}qp|h(+mb ze@M8e#WqtwO6^trM6&O7v#1xVZ{Rf8BhNOQ$sM2)NTUHMs;r?2OP-@gzCXptRWqWQ$6!nX-VX>4g$hAw^ zDT*Qxgxc^gWev5Z8axju;zAIrQPJcInp|p2HP|bvhal1#%~(Ti>BQyUB@IES#*!8s z`mVNgTya~C!q>M5LN#i8h=wrfu;AHB9ViIZ7`uXl;MA73E@^V>3L>p>A8V*Btp`s4 zdO40DR3ofq4Yj3HkG(3um&yo2HA>cqhA?S8X!vtHiy%}Z_%qLNwWV#v8Wd|H2-T?G z%^GS;yR{yI3!m9;X*+jt+b3?2I1NetD&8i|AJ2jnfxbcxLfnC;yX7Xru>E%I)XrrA8bh{x0Org=m{$_ z+ToqtFZ1THlK<3tJVStB*u)aP_Z}|g)OX}7u$W?e_5~cDjqh~A>Ze}bQL9DfddjU+u3iEGa7*VIc=`qcY?+sWfQ*5w+u|%zJ&weK% zQbmO|j3Q?KofNz`drv~d3Ns7EKUBw8T`#k>{h;kdtT6vph7oJ}jo9xcM69r25yOZz z{Vwe72@xwST+A?H#h>z8`(-6mRKyB1OBhD1{PS)2Mfh~<4g{=}Db`;q4k8C*;b-B~ z@uN z$`otvVk}W37T-bP+VEI_N|8eSyBSLK{Hg_b>%?rk`#8W#nPP)`7)$hw)mKlrcE1k_ z0#JqUUhx@;SOH!(G21pf9j7IoLd*{U`x$s&NE?0c`2Rj?WSzR#>=!VML853@Q6cH8?0@g_$QAMyv>< z&vU$+5V6AO>v$wI@z6;Bq114ke&dNGXA!>&|YzQyw1h*LR&r^eiKA2Q1Dvgv2aFACyKVq zMebx5&vW^G{^w6|kE)cjW<85G&G{@kkh5z&d)Cu>y?;Sx(-zL63+*>>gUTM50;kd~ zI5Z{DwEkN90=xe?q;k_vM0&bRMJf0>Fa{YCjP5ZaDmDBPce&#tmo4}-F0nN=w>g*0 z4kKYTWl%%>w>2ZIrV-rx(EM3&GYZT9m)`jd&&VP{HJQ&j_{t$2J!l>O8$`bY`}9K8e@+8q9%^&@$3DDp__*B_2F zYV>PQXQ2L0Bw`T=vt9xX`OJ4ZV++V{e(`P?-ksNht^+@mfv=a5Sy%8ly&LX3#o*#} z(=@olx^*4jq?R=J8;|$!hlcSkA|3DHJ{;MTrqiV(9s{$M1>bU>Xj1KG;vHv|DaPN= z7~h&`lUo$LhUnDrIWWJB`2GXm!!OH$3)YdlT{qSD zDz|UP0op3sN~T!uy6Q3^clES&=<*!w^4*w+AA&|I;YGnn8pf{UMIj$j{vCu!)c3%J zlGK=0ZlRN3dmCTqQpztXt-26?_|JKKOM-2-+J&z*piV|x`Z=5@Yboy$Y)h4?9Uncw zHX?hQ*5GPGPEivfLF%$cv5Ca<7~jUOTIa49pc7Q%3-WNBr~l?0)qv*(z@x^#(UeKrM;kcWAqMn_8p*W9*5QzhEUR=IoHuI zg;bVc5ot4oEwQFuQgG8hfrlBb7_{O%v82A*0F99lk!lk$x`?Xw-Y4O%#YWjSF_j;s z&>{R_x09W+(f!ONXK0~Ew$x>tu$9H*?|2|qJ>wR*{*oBo)fi{jJOj5#Fq_))jN2bx z{6Kg8`H6^DSth79itbo^$7o0hjq|uXRFX6}l&j~zdoOea-ReP*b+Lqw+R!gNK;%y(K!@`zqWH+P%%K^|*pGtdWw|4O{hwyUm@Dejr6h^c&)H zx4ZBgVr-*dc`B8fwZnbc)sH58X!p)^54UqZaK|^UgV$-8mhh4ToTi=fb&G_UA{gB$ zvi?r@w7l1AVps=r<*uA9sfTyEZ#2yhTJft9Dq5rVO<%d=yov(2XPbg|8uWB*`QP08 zy&bQ#%O{$ysUQC4e&XbW_dnsmFTZcz1>eT*_IGzw(L|1uHIn*gL!O=srPlo2E%#h< z&1nZ;Jg(a4HMdn=oFnsVQHU*Cf|lpDaoQHE2wx6D8y6K_v){eZV-!#ndW5oFzH{dd z!-@dKyMo`p|Fj;Mul|nHden!!{_POC|2>y)khJ0l$lD*kbNlB9Yp`lCr&dFXP1mEn zk>I-U&|~O!V~)~E8ax2d)a~E9C&z}5eV1Ry67(HMA?CQ_RRc~vdmWCkW=6tVtNSr7 zE?k;~8`1oLAKeo?J{Xo)r)T@fAOR3$WUYV!Rt4%+HSA0lbP09C$x;?Lfxe88II&|3JlXCsv z_!NN8+Gnr8F}0M$UWRA!7%K;P=AZurwN%Wzz~jS)ma5o!GTbXJ?~YF4AvrbM0IQOr zQ<;QDj2Q{oG!j{=F}X&9ca6l{8VT;zFli&fzeWN`jfB1$iN7=zJ!jLnFcNZVB$Cuf z9JG-DZ6k5kMuKyVggF}tXEqYzY9uz-NCc{pcx)qa)*3Et(lNK=xbZa5+eq-Pk)T~1 z8WRAbQ{`1Srf!g!T=P*snglvDG$K7nVK?l7w_e!Yp4ZLey!ORVx9dpg3LdmR9ybgS zWlRqcwIqSnMk2J;Go8Gzsb><3y5Xv`$usm8|J1W^eWqt6c8c*zJQg;%cju6U((d6g zxp$fY8l^?|s3F9hx}$5zRxOv<-ult-XdV_4bq9*+&#X(kv$+X06z9>CMP)FLaNUr0 z3h}tX5hYAJB8JovTExKMHZVhuN+f*vQ*T<)qK^2FrX7JEE3sAi&@L>bcA;sF%acrN zJS1;AVzVe~+8eQk-UMKZ)=|6m(A@quILIq^mp;dfRv)MFXjI3%{i>PwdyiMzQAg*V zV8^%jntA*C$oA96vEMZJTo%~xntOeE>+(7fh9B04p0Pt(aU0M<-OUT%Qe8nre~3BY z*rvbp4#`K)Mnayjc2S|%$s;;=eY@ATSeX%pLCLg$+aC+PLp@sGt&SDntIy~oI;K{! z-xPc98M;Scv*13VdxtrK1GWUWL z*t}xhw>Lr|0(k%a>=18Rk`AFUvxFc3 zQ-_OF)xdaOt1Yj*G60+8^NJQ#wFy2)pcE_8zkRTW8L=~bfT`t9GV1oDC$>w4mvAwr z8k^+Meh8!jXn6(t?=g`Qyw&I}9kFPhZ)K4Bk*Kb4RbL|NN(<_wrvLE;klj7K$su;+ zVP4~2f>-@|$t&+K^eIY{^`}(8i-S}_3HnOYsw2N3;4o2gpjjtyK=7&`NM3n=p-@T)MW_|)4;YR;Oo4tDXUZp=2LKd?QY$rjv&Yq~_#3RSvfbh#ZY-T$v?t}=q2Z+*4{cpn zC`UiAe7t+46vLH)!DG9(GnAu$tnc@10MM~5?*ssJoB?641^^wi2UsI`#0nPrG?drl zF?)bDWrFGq7wDK>z$UPD-PA=sB_|Kb0c;trK?c7eey2A$h?gzg)t{dVUHw94SDPA8 zPVKoX_uib;5odXiL)B4Y*Oo!ww!^+1^buYF;Gx~K3I-0IVl!KlbAav7nQZW^EJ3mWGf#^lg(}1ct{+6jmTVw{Q^7c*sK{gFq1935!vddna5y)%<&#@Tol;y?|`gh0~sFL zg6^4~oj(t_Ud-e&Hy~H}6Sg()Ar4JcpEqzt}<*V&1K2UenkB(ZgG zLv0U1HeLk|*#p;8eh| z6Pq|~7jN{Y4e?iTly&e7r{+0M{ntePIY&^3-%9Fo@Kcb(scC|tOLN~8sJmv)jE6wE@{D$~x&7{VlH8s>V6>31o zmX;K}KIR@ieGByPtC>9<6W_Z-I2YQSScS zdjg))AsdZlB4gi(jK(tFX=1V`zXq~xnPjE}$tLbIuz1G4^-_+D0z2r!#wXgm{a(KN zOfM*BMm*%XhCjh(#&^F1#@90${dUO6%TzZfrxxZKN_d?jHr{H9&H2C#i5Dr^_ioPV zu{Scwf{sYWO*cF*XO-ikfVpTDU@n@s<@K3dt(yVY_AIV$$OWea_vNI{X_<4MQ&f{Z zZ36`Gwn5yyUJ*B)5+K~Zv$FAVcFpnd`RA>-#7gY$ai*PJP@2rQIE%bGC?iDQ#ZpvNCx<9AU$Gk=nTF5W@ay&FM(Z#-|ikb z{7Aw>hE`)9G7VD~-v_{h`N2NG_Er|#Kah=2Bli!?fz!x8Wsezy03I_$&SQqj@iY?Q zcGRHUwsz}w7&FZ#Kwts(6s)H84TBCHl|hpM@EZVF0|bnBGs+E>lY>|@Hjr_OT93y(Xt2gIsC2`CLDjHd zP)pE;rT*iFMHQeigZB`*ms^j9UVb~XmxFykF1=hm4tsfFb}tivFBWKpg= z<2;>?d1|5w?nRwi&`311Xj4VYtY4d2_A9}p|3IqG7N;&$J9kw3EqFmL*~arwvTm_A&}8S)zm}e09Kl(dPW!5 zQy0?)MU6q%iVq%fr0#Ec$R}?2Iu`EW@8?4YzmwU)CJ(r?I(X67)B}30O#trTO?YO* z9gK&3*^ltdnY;vgH_Qi8T%`}<)Gy%F6ml9CNqGw?FOl-rQeFxvPhez{-hF#cKV62a z@tBu6G$Fm)>|fv?KQJ+P%)NuQrFZ+DftN`1a0?H4c%V<*IryALit&&;2VIrUp>pQ0 zCIEE~)`9guZqUa=HjhTy$i$uP*Jrdg9&>l12^mkHH2|vdn8y>^M!*10cgD76IWRewnDeQpV_TpH(*cg`HO+OIoo&Sv;#$y*g;!i zkWfGJ2^;q#4ibEx%WSRR2euC~*-UR_<9kEzCPc;~u7M067BktAp90y= zOtP>KxrVo`Y`3DAo4WSvoX6mdChZ<=K9)E_GH6F3crLCV`4GVvae(W&(fy^a=eRE&2U4NMO!gU3AX(6WrX z3_wT#TF1~OUdJ3H;AIjIc~qgNGU}+DFOsO7)UgJ_ujM%E2tYFjtHu?`D6gk-+9a{c zVjw0pfMJb?Tmfnd9@bip1_(gI8eam2W2cXOrD^Wi*zT;J9s%q!5btS`3&T1<2@h-P zS{^stwK#6@6=KL%X&-In9ElIXTE+HcQu-s2lCO07mgm9(xa8}s!9xHZJhZy<;Az-7 z5pLgXmkSHvNkE1BzQwOHYQ&I^@EW;dSsM zOx$zQPli!o_Z|Z`8s{IHTLxclKn1$asfai9J09|CgRaPmO69VD5rDQQ^ilfFZRj^V z=(c()r*VOGLjCcsC+bjc@R<7@>&oMj%6VK;F^xNH0yghw=+iM*fZB$} zO?3uFeW0&`aXF8w;Ie+j@>vedskf*Sf4;do|r_mJ=-pu+zB zgj4@hPR(bWh8NaQd3Z0U!Tp^24{&N8f|SpPkO}*DoHurTq-#llUE9YaL%fS=onbCf zqfwiqeeTp+Er&*@W1j8k7`JMe0ia{<74(>UHKV+qEYPUHnsBe?Wb`T?^QgcYO1EVI zd;*Y*Sak+eX8`D!U8FXlehm}=btD2>4lv$`w~`M}$~`^yQD)zUtAIUK_f75xIrhvw zxy@1+pPu^%SWHlCx7`Z&xM_Fd8QZWs;cEh!GIl0Vew;}etVT+{$>>kYg{N^O;YSxw zHEbSu$d4|H(rkyE2W+2YviWO}jTe_GQ*d#)Eqm}0fX}Y}iMQ(cv>Xq4XF|BmzZ4gj zM}Z2@t{&qwSkI}S;?z7L-QaF$(yZQHmfgDq;NJb+#B}fCA@?rAacL>FYZl~QKlomt!?TS0ISp$$ z4IY&IBa&asss9+K|EIHSkB_Rl)=8X!GbfoDkRSmP9zrl!P$CZj0YShH3L4b5pus|m zbu5TzwFX5BYIRglVtd&^tAgllv|^!%6DmIFbG%+udbNUr!fmaCq6J@tYW1#fJ?5ND zY5%zVTK7JCee2t6ueJ8x=bW55$J?y(C#jUP3^2*|vA3DFkGA49h8tx2nEIoReIw`* z8POO?!cIAzLlwy|DFQ{-%AJp02u-d6C?9|wqs>vEH~d%%OL*n>Bg3eWw&CZ2c0Jh`XAGvPPj;krC?aQ)mu zs-i0PG!%HAd69VDYsd2&@XUFMc~E!Dwoxj5?GoaV-4s=^2M=3{J#X$Jo&#Z?%y#h5 zU!UM-)P?680S~IegU3sS=ZilR&--DX)Jx!@%N6(;byxa*y6m|KJhH%|Dm-{PRCszF zB%Tk#Jl+oQ(Dnj9qb_l81dmJ+RE4Lhz%%YM;`wWsC-(>N&@M35tGuuM3c(^dxnx>N z1EIxzH^4);W!5~~!E=oryoHlfe1%!^eT^n`#}5PvPhPH4zA>05M00!+%E31s{0V=Ok`H6a5^wbpdif=+AYeijrgZ{)f z>Cm(1T$kX$5Sb1kd7ht5=jgyd3Es(Yodge6i4E+Q*nj7|!dB{`F8yOX+J6X;W&pgx0QkMoja9u2bXT$>`c`ND?+f{|w-q}F0{V*I`ZxAVG>!%~Owe4fe zBDs&sv6VGGh%Ml5(M29z2@WO_Ox2U6Ow~*24V5xCOywg~K2qhQRelKAQFN=HPtp7+9L>yF zBG0b9+`}mY>T=n~;gh{o!iQTy_~D4o_$K1{ILwne9X#~#22L4Jmj|wxN0#k?2k%rD zo^dx3&nICXZvuGe5h=>90Y%vbk*pjS2P+4vvT^{9n~;=UXAlzEHA%|UnNoTwDRWa) zezwY|Y5RbCWW_m`O35xTiSKhE=W<=L3tdR|gyea4K1UZ_Yjo!Y>61oXq6?b@keVL= zxGwnxW0fHUNTV($U=#w#7=ZGF4gBD;eD83RxU zsLFDIkElpMAAf)X`e`_zxdvj-PG5t7j%XiH7Rk9A2UPMc2q@rKF23saKI+Yybe;q! zb%B)L*QLyTL(0rdm0zUo7whr2r1a)e>6ZPB{u&M@afl5E4&m{z!_b2`Bo_j3T^xe0 z0ceaY2ps02E+Kz;DcSs&A!;{;gd^FCp^mwyl`zIn?FqfI}!#T|$T@ z13zZdss4N7IUMH6TnZlg6AP9e)aCCX-^AROodZ?5I>3+Xgy-Tv5YLe?PwF!8l>QGd zJ*eaPxW>rA?-Y1Y6(0O%PI#8=A)dd7dAxbx>H8*lxGqjB zar9vkN79x!Ebtm=b4X)=kqX6W&wEU2|M@)b+_$v8rLC=OU{~5)q7|K zo;SZBo_~aSa^C~bvM;?xFM_JLnQ6q$OvBGN<9A_V&KI%Rg=JraX)@PGmy&L_k$gHe|m%(0UU4N?NXJ`th$XXQ%po zo5%N(UtVP11rI$PjSNLyGW5eBLs8ZHF$JE-$B;dxokPFiNF4yr^sz{-k?m89MRH2X zw34w*yAP=axLf^Iq}B&Sg4Ft}l$k?PraqF=`$XlRs{F9Z|E}%-pi)u`Oyc|8TS4%- zF40970!TMpTu45yOLn1eS${+FR@5cCV3TCe*P$=jgQ_GKOx57CoU((0&vIV=F$BmP zBi{(R_fVJaF*M1(kUYm%eWCD+)}W010(TR_YC$I9zsjr1xCBEnf^ z2PspYl%6kTu3Y7Dl_yo+S>?x4DQA^n()41Q zK#Bou0Xu`wDbpbU*X5)Vzk8RMzIX@4G#ZX+rjqEhS1#uyLtU;~IEa#DsLGa)?-dEp z2djvuLzu@K0G?)t+!$Sy8xYB!_AzopXi=5q036SBKQw6|0g)C%q)eS6Wp22(pQ`Pn zw0(?}-V{APi%K~!1(P@}7xD?$B`WAbyj~yjI_eS?bS(tw5P<74v0;+{G6tZqG6Clu zY?Zt+G4hJ#oOc+5S{MT47{Fo0-~^C5B`}fek{B4ZnivA4Q5O^09h?{$1CWU<=fwwK zSk$?`iQ?HY9M4SO1^C_66Nu+&?c>QJxtGZClqDpHC*W?%GqjPU`Vk2Q)T@;;H$civ zos=p1y%x&{seG`u*K7MwD&@{FnABZ17V>9~2gCCeUC2H#6yB1B7FF>DdRAw#T+R~G z4B&XdB#Bo@-pX>07fcoYVF5p?5)6z$)LAU_tt{tgVq|K62#{j{^JB=e&V=N7mdm{p zC1{KcNB`1+hq_F1d@D>R`AZZ`FC5I=FjCH5`7(kzrhPD3B)0-S!Q__R(aKY{MK)ImZj4 z3Ah{hH(F|^5C@jpv!zT;lhQj^%3OoW&r|sYD*w95zd@z!z+e(zhKAD0L*ZDU2k~V{ zo@Y7x0zGRmPYp6Vjk-)Nn54lp00oof91NH$2ACMZWH}pvA&7o11mL=?^%xrfjggUo z0UqjN0LCoQX1Sy*i@ASx1qU+~(&xHNO}wl`g88`TUs&dcgPEC0!XIJq392SfHd6x6c#5Wctn7wK#nC0PMdh>`o zyR8<%JiUD|S)@>XHpGRrL)(`Yh*U zzz{^9GdXs32CxAbn=Bq7d7kBL0LH8YdzKfr#T@El0Xsv^fxfvy0AvBGGB@#&XbIU^tX0cdOzm?@2445jx2+8v-=U`w6(trAtz(B4`{}`Ke5R$i|E(T!C(m_a`XE__d zzL0HmXs83!;emc`>nz`k**mA^xQ*v^JlTCd%Wo`;cW$mfF`hbo4ZlCI?ldZ0^TmFb z6kGN5Vzpejy>G+YkjXq8cIqGkY@nBcLQAR$i;ro8f!908c)Ph%vsgd zf0H2AWRRWu!4+0@mjPl;2FW}lEUfC*0%A=D@g5WitGZo)Sd&3o-;(c{u&V1kn;_O? zkhU7}3ah#)fLN13Qhf!&s%{w|)?|>nz4D3`R&`qdu_lA;>?tg)>J9;7O$Mn`TUgZ% zoC6kZGDzD;G9p%Wa{#d>gEWnij#$;L2E>{Sa=2O`tm<|EVoe6gDTGyB>{|q}CWEvn zgjL-HK&;6iBNf7`ZV@2XWRO<%3#+<~fLN13niRsScuRRVH@l)VQe*9gt5O{6yT0Eh zDr+)GTMrpItGbzhSd&3A3Sm{(42U%uWQIam)jbc0H5ue^cj<^#UFlqcSd&3=3Sm_@ z3J_~DNQ**P)m;gQH5p{*$?^>)R&|fe^{cD3#SpD}%$jZ=k>tKPf zsvDRlh&36cZlFL|)y)CKnhcUt@3N{}4Tv=vBsF?Ezx$X~-3~yk$skpmWl>{Q7rTrg z)?|?Un*w1~Hvtf9GDv2f><6ss76D>S25DL^5LR^?0kI~7c=kanu(|z!Sd&58)D~8C zeZNZ(YcfdHvc>XLAlTeYK&;6iJMW*#?`2?B*9?d?8Kg-2qX4lcgLn#IRd?k)>PK4)F;b6N(>-z&M4KiHbGd!!#+r25KW z$z1pO1hFQAq!hxcZaN^=WRNO_u&TQa5Nk5X3`-V3-8Mk1$sqY=v4vIL5kRcTAZ-d^ zRabvGEt}S4kc>i1wWMU}>AGy1$e=S6$`o!bvDH|ULFyF3s%{q`)?|>}N->*NUFQV^ zu_lAGD1=qr6hN%WAZdlLs#^w#H5p{5o-DGe+p>UCLR$>cs>iJ94uQm)4AP_!CUXO? zAc!>?q(!G2tGYRWSd&50t7Xir>Q)0{O$Mpb^^R5D4nVA_0Qr@y;H>Im3jxt4gS2X9 zv8tN@h&36c?#G%oP<4v{u_lAePzbBKjeuB_K{5(qRkt4yYcfciLRi)Hy^t3p`SjRM4)4C1ZQ zFaqkXyoxePTMUubW7c$!fW(>%(xMP1bNc|XCWGV@!m6(O_XuK5205${R&~<>u_lAm zIkA>i-EDwalR;)EgjL-(K&;6iY26-K)g1xEnhern=O}kxx+#EIlR>=W zg@sk!GC-`!AUTDws@uXW+GLQ!dd#Zs5JCD`lR?`0Nk_)^@I(FGv)A}tYfNCko&5#K z1a8jv$s%hqNPd7oSktaL->`*fwEB7^3J z2^&+m3D?4r+GLQ7p60QtTLg$T86>X|R&^Tzu_l9fqopHOb^8IaCWDMr2&=ljO*ArV zGDuD#rs{??#j9$p)lht6fwGXbT{96y{A7XH@V?+idP=`{7;W}Uc-0UO~C-BkXHpGvaj_R-sFa_8zBZ6 zkA1Dj@Fo{Lb?m`CR2q@TFR={_GI^l`#T$`*-lx!k$_>x%5A|bT>tXyza;X7K!CYUb zME3QabI&L#SxGOUW&$_sC;o8PYcbtuO!AG!v)pr={OJ*R6S1Bc<*xv_&UgDyRD33H z3_pxlm}mPg@n1NmCRHQ%Sgg$Sl4CAGFw#x9(LX!d23^;DBc&g!JNhDdwUgGG;I9C-7xC_!_LsLsa(ddqir5v;@Z;FpRZ%&Ml^P1DE^fcRirJ!5g#58zO36PE(t;+#}2V zvuhjG7NC|A%51vACM#@n-B-|iPpfYF7M(-E^R-+JdEP8H79Nq?*Fx{6WBpw#{EMO< z-YO6M>Ph;3dFqb?#{(uh3!KqiZKHxiv^(fz>R=RyEPu3+Nh5`<&P}+>pIB@B#s?1k zvwrFZg75NsDFssZ9wh~&k@=>t^e08|0%u8q7gtgWbPmrByx&@9N5jX&%Gu!Q^r(Xi zvpep_^vLVW$kR7p&#Pq`bO1y7N##$d5xCbz=*jTJWu zR~qx1Z@|^#11WqM3R}A_)&I*0mxH<++u}bE6;4dUD0kF+L8)i{mpiiC!rOYZa7ZJCV_vPP8kJF47wMA=k@bG^Pmzs9 zxb6LW{rM4mA`UUVtL#_}C%wj*z8?8>>3n+0^0_jvyJYkC`Mb&@8|e=wc&H&(+C0A6 zE$~aLoc~|`7&q=g|JQK{Y2ZI6TS`mZ%U>p{+@0q{eK%yCzf0c!9)F0s>7v~(I!lHN0$HI zZN0^Rh^)^>9`_p~U0Fah&+A_na&z%gZ(4&ca0lO_4+d`k1kY?vaMKmXZ%Cf+mT;Lna2#H zv09nARgSrob$88k{rnZ8UX;J6^S=ld-?@r&fkQOQ{bYi0qXce&x@Ow%JPCb0Al# zd;H@)Qpajbt&Lqb!}N(dUoMcT5$uI~@AY-M@H$xY8(IhPDt%c8@A(a_gWWVD<9|zM z2|*h0#|UK|Y}N3$eSB_&zJK&Pe_kZYZL+p;vm5+^-z{dJXsne_RxN&k&N-_n--fw{ z+smTaF8}Q}m&SOa(BMW0X!mvkbtlj%@(%okFVg0jdlr*v+l&59(W*D`5e9xQA~()? ziFTz{L|GqD;<_u{;eSQ3^*j9YWA-t{Nz%*K9n?#Y&Tik+rB_8Wa_;g6e_b>uYwcf3 z&mQg#Jh%rZod2>M=0}i#2nhb4v!$sk){}PK6$kRpB43sdqb|`CNE7TX3Eg0_wstW4sO0K{&57g?BLh@_voyD2U@RO5})W+ zE{RWd4S)0}xr4j>zL8C|TtV3tRxH6Ypb->(?DILesp z+aFfEa$bZT`t;=Z{0IW&2A>(9U;PR_e^JzTT@CdOM0WF;@i8@?L9(TDUVw53nT2q{+2alDe zBz@5hu5-(7j(5>&d{MklgwI6C@pqN=QkOTW%SUS2sxHsyT|)0~cszz(o>7wW00CqYIa^&>+5gw<^5FI-Apq;?y;tKXTdj~!rCSzrn zv+Km=Qe~I(wJ`5CAKo0lu&lTGy{ahHy*_8{#(d6v(n)rkTd?S{-@TSW{H;c>1fN!s zRR1G9%)8BN>UQilJO7p6w-y$^gSW?Nw+Z*o&fiv)>deo(jdmV(Mr$oO1MS)E%i~Yg zMl-NMRwbBN?b{`5j#kJk;CmSaaUPioKHo)9vkR|v-Ba{^P9(eHC}?y(5jR&g&d+|F5SL9 zr9D?Ij;wJjUrod+75aN(g~M6Jy}dfIwW5=f9Lrt*rF618t5dQGS6t`NtMZe67m@$Y zG#U5my@|&niP7|G-y7~vd=!-)>07X;_T3A+fgwXo$9&_VFZb$wiHBG>OS;2KtJQil ztpJ9}ZuQ$`MUCPx8dOg{SXhW?!I-2{?*!z@e~XKzuU7e@$fNy#?UA5#w3|8Gx}(B-0Gfw zIMLrzYk%jOH%F>m>3=5H6h?n?X`Js1YT%w{$S`$CA-pzRjTBuP@;@v-AF8fqdPQ;Mz{W{#M#l*rZ875!iQsPlKrby)yydjj?LPJFZ`{nA+y9$PZL$^ z69uZ-Q#!^Xd^oFja!>>Vb}M=(w@Nf=8JX-xKbQC*W{IQ|N&V?rx|yRiMT#eqB=8N} z68$3$PnNRBPl%Otq8#AE;9Q!%f_zf8^4E!15>fu7Ii|;5WwpV~(C?NP#`qSlc!Qb2 zpDyQ_F`#&6T%}(;Uo2%#X9ky{nV~St6c2D@NVR+ZRmza7m8D6`>p~^$80NP8G4XPx z!Ym}-_mw4_A=7pyri$x>1j%tIez=Pg1S;VKu^vHPoFJFKPEpMVQC)aWQlrWVqN-+1 z!Fg;|QG%@4O;mN83kib1aOp8;2nJl7A%A}}@z-kgt2wUF2^{Ls2`w$RxwU%}RTWEQ zXx@zwk<%tRZy!x7Z8kH#r4WClJI!%gl&a-UMkrq!AkF%MkN$=R) zvbkm6pj+t!r{n;gD|}cqS9b5`xq>%AVXh2!?;cKESat$Wn8imDQ=_fH4Eg!cWZ#;) zjNA+4k>=0&t=+m%ZJ=8ow=-YxSgB5_OrzFWX!lm;XX{Qd+}Dk()AkH zG3mOOC%+lxTRHBA^5k7*b-@I_Sz=?3KHSc{(GiGcYa1Av!0*SCjn%hkRPWUCu$+^5 zC_@uiVU~v;;G9LgwPjR!Ia-6QO`9zZyxUDFlzOza(Zvw=7Nj14;nV{!QV)bjOTFw3 zytgUL`ZI4xzeQ=sds{k4JD!np%zK;q!v_dCw=9^epOPkYGP|(9B*@ST+@^GCTNEJV;!T1;#G{cIbpnG zVy=i$j(IUt2D7a&T(+@jG28yMGA^B%4;a~ja?DE_oDeK&*=c=}L+RG5rkBoSOFBzJ zbDSnl@l2Mq=9zqa$?zG_VpK@i*MDNMM*3!q1#v**UXH;@fH59|CvPSzu2X5o- zbVf94baJJfU2PwooEpg%n2>d`433H5CH}Lwd#)`Jt5%MJaStjd8@cRjG&g3BNjBS6 z2W@<9?K%0FIO%zSp2}dy$41w)?@nAGB52f92%^T^LvU>yUg=U3lbtJC1?oKp5pTn-6DgqD zY*u-XLR_>BkDW|wq2y1n76M3J7Zkxu#~uiewiY^KNx2)onmkagP*W{n zS9n_rf#NjcLtYMbz~+Dg6=yTA56_*ITw7hD-xVv5!yEmLo&QO>c<^e9w*f2G8 zsz15BWdc3zHZlLKnzb&m^yTIZr$j%rE>TEIpyQ|{|=VSJZZ~nHtYOk|H$}J`u%XZLg2%ru9bX4 z-);XkonQ&lL zZ_%9MbBxUXLWc1cDaSmi)EhS50vEi+tBTuj1x>1B)iNt9^%$j0sx=FfJ3JL@zP7t& zo?O28jFOTICVKA`Y~fQ1IllaRlpjo1bd7q?)yWTH7AxJd)n?BkYQ|`EiZf6WWzRL# z!`|p_zC)|$-F(u@ro%QkyL&ylRM#mV?|YuU>NB z5x{T`f)_am!he&43bX#q8`5u44%RH7Jv|6JUtRGbXP|n+hFf5Q8!&?KS?(F?xihs) zg-S_7KFd{@8Rtzh54OLJV`sU!z&1`vIez~?Xhnx+*gMuSdiXbIx!!@IBZS*|9RP8mx%OF?s-rcLpbk)-Cc+@F^Gw8XpM_;&M# z58KU~ld@y(PrjP4#|Fm8UHjDfWMkP7ng%CkUtXW=6N&M&Ipoj#__;<`_Y0EOLmtoI z48R7jh6P{KhO?rBBhM#8=v>O_G=aeeCgYiuZugpDcPw*{%CxrZ+sc!(|$ts zdAAq%GEWd+UElkTVxQ_8p9c?Nh8k~RU#szTbv-sG6CJz`^u%fLcun8<*yHg0Kl7#T zQ2V;NN5MzWlhD&2#r{)!jL+g={e;Gw5BNquNqlMki(0@JTS>|iv}>MBu8VTKTunCF zJ1VZ9kfm1ky4#OdabUcSTG@BfDsEW2CHYVU4sgr1Bzs0>EY!Fz%EORWv4~sQ7}xo! cWOal+TK`nCXZy6gb>>sa?98V+z4qGw0gemHsQ>@~ diff --git a/labyrinthe/4-arduino_pyserial/4-labyrinthe.py b/labyrinthe/4-arduino_pyserial/4-labyrinthe.py index 957ceb7..9adea41 100644 --- a/labyrinthe/4-arduino_pyserial/4-labyrinthe.py +++ b/labyrinthe/4-arduino_pyserial/4-labyrinthe.py @@ -90,23 +90,49 @@ def capteur(cont): bge.logic.endGame() # Lecture de la liaison série : programme Arduino : 3-labyrinthe-imu.ino - obj['Rx']=obj.worldOrientation.to_euler().x - obj['Ry']=obj.worldOrientation.to_euler().y - obj['Rz']=obj.worldOrientation.to_euler().z serial_msg_in = str(serial_comm.readline()) + + # Affiche le message uniquement + if serial_msg_in.find("Print")>0 or serial_msg_in.find("Debug")>0 or serial_msg_in.find("Echo")>0: + print ("Communication port série : ", serial_msg_in) + serial_msg_in="" + return + + # Roll et Pitch if serial_msg_in.find(",")>0: txt = serial_msg_in.split(',',2) x_txt = txt[0][2:] y_txt = txt[1][:-5] x=-(float(x_txt)/57.3) * resolution # 1/ 360 / (2 * pi) y=-(float(y_txt)/57.3) * resolution # 1/ 360 / (2 * pi) - - # Roll et Pitch applyRotationTo(scene.objects['Plateau'], x,y, 0) # Ecriture sur la liaison série : programme Arduino : 3-labyrinthe-imu.ino - serial_msg_out = "9259542123273814144\n " # "8080808080808080\n" - # serial_msg_out = "2\n" + obj['Rx']=obj.worldOrientation.to_euler().x*57.3 + obj['Ry']=obj.worldOrientation.to_euler().y*57.3 + obj['Rz']=obj.worldOrientation.to_euler().z*57.3 + + if obj['Rx']<-2 and obj['Ry'] >-2 and obj['Ry'] <2: + serial_msg_out = "N\n" + if obj['Rx']>2 and obj['Ry'] >-2 and obj['Ry'] <2: + serial_msg_out = "S\n" + if obj['Rx']>-2 and obj['Rx']<2 and obj['Ry'] <-2 : + serial_msg_out = "O\n" + if obj['Rx']>-2 and obj['Rx']<2 and obj['Ry'] > 2 : + serial_msg_out = "E\n" + + if obj['Rx']<-2 and obj['Ry'] <-2 : + serial_msg_out = "NO\n" + if obj['Rx']<-2 and obj['Ry'] > 2 : + serial_msg_out = "NE\n" + if obj['Rx']>2 and obj['Ry'] <-2 : + serial_msg_out = "SO\n" + if obj['Rx']>2 and obj['Ry'] > 2 : + serial_msg_out = "SE\n" + + if obj['Rx']>-2 and obj['Rx']<2 and obj['Ry'] >-2 and obj['Ry'] <2: + serial_msg_out = "X\n" + serial_comm.write(serial_msg_out.encode()) ###############################################################################