nNJRShSeVRjeG(T7pSL+atQfl5z+X7T-xgJdp*^*==f?6l~>!o<2=hW~^ z0t{Jg>7hU&h>|hPBLpsRj}+vCw3_}H%Q0H6tE~Qt<0~?TBe{`ZiOa>PG}{`-$=J(du0mVSZ+D75u#CJ?che!?BlD9Zr32*B%I4Xwv}_9k4>t zxHV^Tvop z3G+Ur$-IwaCgqk$rT3tYJcK8a05&U(L>-f?qn2InX`=uBfHk9(-z;kFB=~9)NL}vR zFi)l}`9
~zJ+LY}u7XVV{Fcm-5>Rl;tjuxKtEU>)hrJ^_6i^ J9dbzpzAk=tpGqDu&x{&} z5xtb+q;0^dmNV~@stEDZR;X`F%PWcC>v}v^_BxR+X)Qp%ru?)xyD4>YapEW##S&h+ ziK>_`;7-?8tP?U>vNypxUXLc%esTek>X`>505&037RVieiXXz@eJ1FRUh+K`T6A)x zWus`}AF&|fp@wzC@vGxMuzuVJtdzFDoAN`ygv(@XvLR)m=A>D#qSrlUw3b)EQoAz+ zA0b&~n~u0S4uyMK%l7D)B$T2mM!Mg9ZSH0l(Ucs_VZKdo@xJ!tg3-0(jQe5haNqh7 z%hbNAU_x;_27459n=dW;CN7#d+|QH$O1U@k*Bc|LhcFmSx99!h?d+$|&mjDN+H^*` zIV>+tT!%tm&~q}3R`-;-B$B6RLM8aS7qfFF1Rks}=|V98j }!772#SqTo|#x|zO(zu z&hU(at6BZxruKH)@5OuygEsV|d878cIiAxa^S&eYsSs};oaCYHd7M8t@!7R1-NPQW zUK{$k)XJudbk&r~@mdMqSb~`uJ>qzwe^8wC-y_o6X2BijSGuA_c}IqHG6T7szir1K zOg$*+9utH5GP-sDUi+Mg*F&C!+|JKS@@%FjLX|w1%~65|b`U{6VA|vtLm#*Kmo9Jt zaeuY?8%FxeGbpktNnGoe@rJw)r|1axh@8c~y7{`bsOx*CjR`oThLhGL5Y-=t`_9!r zn;kNGf_u8JW(_*|WbfvYrSk=Ra`HOnmQS8puJ_us8(z!g9kQ!JvR*V18Fifu2aj=u zDN>1u_|{!c>hpMq@n-BXGaXMotrry9_?mLDrMQ`w_@L|!%FhIMH8^+jgfQ29Fm!tl z2FXHf&cDU2bkciOeHl}Lz
rIVRqDr;goa;JtNxqV@E+xSNSid2oR~gqBia)qF+mR(Iq8XlN@iVG>ew zriDG^j27ofniCenLBK+jQ&R!4B1+h`0-2ESYr;ajvYsQ;i}!OspDqzmkJU_enpE?p zPXWIOdekygqu87p-t0-)=6CJ^VR094|D!Q@7mOuy?7?_}5@}uDljMP7un;Bn1Mgj} z<1nK-I!&YFW_Q#Yrmn|`Wa$FVONvd`$~d(@+T2GTzxstzOSQx$qAG^?ci=k!S$%uS zhFtQmL>mLfKD0*$&rPtnMVi6r(!Jf5C!N7kKjARbLb}neL4f?9@91Q;#m#`sNzD$# z(8%1CqsOgfxy-`Wt*bBT_Tx8JAB|$rF `)r#@Vy83AAV)-a4&2plSU2IqkukaPH6@*n14E6T6?HR%zaw`<8lWh -WGcBALBn*-OoT6rzg-lW`HLmVrL2)PWS<=OMuGa)jG2>)DFR@nN z>xS+U_p#gULt0_Uf1hpC&QX8=ggg-ySPCz##pBPEBwycn572wM?=2^V&xiJmAi9lL zJr~|uS3O|Nac*{M9l^?uHYYB*hj=m)itu_blw|C&ow^l1#E%a)@dym;iswKr+jYHa zV zswoBl@7i^5ACPhaTat`#eL%eLW@O`RT1ryCQH>qcTfwQx!8?H8ud}(HE0+{K9AeyZ zrfjrXQ5yOUbzuCgqGU%$Awd2K9{>wQ#@vrV)i(ym&ZeU-DHYU8IOxLC9x-m(tG6Cl zsCbF<-gY=#0&z+`Gu30}U{hay3A*#RoHDmAs -%HC-c9^zX_Q0K5hdZfU;jMVSvc;cR{AGw-+_rH^af57_x zA#Kafm5d~D>LLc+Z?^2@Z-o@RYpKnqM=J4mdK<>LezB9QWEA4zThYF0yI8k%aG{EZ zlueP&2k4-+ClSaVS3K#bPP JJ~QmTQHtnRuB1Ju;$X^O%v%`o&67| ztd}V-j>=thAA^>+4 PZ!6(c&%lI>7 zE8~_6$hqd4%_Z!x=AC4H%^T>@bIjN@n;C9znd<;b(ZLbG`yCH`8=?e!=YRju?Gg3y z!Jmu6P&K^Tq-QJL!e5YEBvw0?*ZZ@MQnySB6kedJ=93}Fp7BGD8ivFXvPqaPB~ozE zLXH@`m5TJ8(E@M&Lf;&XP2NaS;#8J|hN`@h`LUiW#reZmdKjgiiQ-*abikU=54sn3 z!FzX%sie%lX7~~n#Ue-#hW=Lf?94eo>w88`4Z#$OHgYXcZPlNIhTXekjg>yDyHX!J zoiL6*Y8EZ>RG+u!e%qY%tNA7lDY;`3^VxBgFrC2v#9K;OIH7;}vBxVyE?T!vm%s4( zmxY&nV@b`q(hEUA<}OAnQ6AW#nAThU5xTeSX#q3mp&ip=2_sbEG<@LsFUM;D8Wbgq zAr3ChsD&{|Yi;7l!ti21Z;_2IwyXH&^sw<5WyPC&UvH_`m7Md?!=vdxa6KyQ{|(o- zt|GUama8=@W-bVjRu??|`vuc4E)_@24Bn~vAPcpU1G%ip4#e9)6#g0-lz(^JTWkBR z?9I_8GvepXMcyQ?m*j17bamx7sfh&i0wv$wQ7;1^5DhjB317C*?HJ!C_xNJ(j1tHc z*fhcwOQNZ%80b*>e|M*DQme?7r_g7z(!D9Ohq+qvztmWPzKkGgv|LpFI)`M_XEgsI z8M+DcWQ14>a=#;)7Vp^t>?VTL6hQOWJhrO09cK&^!mL#M4CAza!g@FI!NxN+#wyQT zN5+OLC?hJmp{)}@cCHf@y@MPC;!d5`(Fqj9t7@MCgW!vjc||8f>!0oSWe{Mxd1d)Q ztAxLQZZ!OTRdR15usSl`_jFpt-e#m`A;($ESb5^&-Y#Rq1k-7qh*4VIqCcrQu7WD+ zwfPf3r6=2dibXm#U0v@n@?G#>)mZrzIRNNY$U={v!rK&$DZ_yOg~6Bif)rRo;YREU zQ=KmRX?ALQ+}JS>rM^!WQlw+_bS9jpe^r@IFEo6MU%wb1g@}oY-RRm(Hd?qlQk0-I zzc>-GpSDSLjU6CvO 2o z59fM7gslgO2#5+!T9p}ANtLIr97XGXCoRlc4KyT(ME{)z?^K BALW z$2He0Ycf}=976-G(e{%{npj(I+=P<;j;Luech&x5kJ4wV=+u|3% K`<9CMccHSJUt25Z+C53Ab1GP0Z<^!4W_Na;Y5 z>$|=r>D!kEUHYShSsr|I++CG=Scn%iBzz!6*mfplD#Q}UWzOj7RsE_-?_N<;t-*`Y zKa^e&Rw^QBJNXgMRzcqnMid#d3ux;}(Czv(Bt>eoxzqM=u@vBaqb9&uCDO Im=gR*}--TbHle&_!$o-m!Z+>*Xdey^H7b&u*p9zB%L0M{Q-Go1v9JyqTx| zb7p1>6?DWFh=|TNPT2n=7>G&yYp+6-)F14BP*p(Z4-pmh5 Fs4~{5XO3qyI1BKuoT5B+Py(jD&810+EwFHMLj(F+nLj+|g!oR-G^yOru%KgBZrA zRl6PH{@7mGASYhfRz4U~>inc*vJ%kf)$g~8{(;fkTQl2IJI!|X0KP#sfj~GPoW8Ru zVbUA$j+QfJxyyCio4O)^N%|)MUC;E3|Jy`!tsiaaI*h!Jp}*f4_5c2ni1eBTRy7<5 zA|!T)xo6yY^@Z7Z{Gy|%fQ;t$#=-y)=#kUEcD8g>J!-Sx* Q7| zf!NLH ~NR@{6u4Bd%K}WYVn#wQB9QwreEEII;iT1* 6`#0R;y}*+qy0O99$4(~yf&P327JL`*U}*IkgJPL5W^|r;Kfw< z*|d`aB9u#SoIJNTzpVn3l&8B85T4{(viTTNE$$WGZ$xk;v%acDk;$0!mgtV{i+;GZa2sG`g;_zNbfS&Nc`VM_T~j z%_=x9ek4oV3{_R+)4QnfXH;l<#7Ju%Qtde?^dcfKBhbwD_}KVa_Te`Grw*{nGlc^f zm$lOf3-jtzr(b=+UQ^w*gng&_nR=PKZx-m`C}0~8V8pctfY|i<-`d3K&woU`cN%*^ z66dm{wck#sQeVH!yj1+OtOs}&H&a6%c2G_4(T+~==<9z=egD!x{*l 78#% VewB^l0vGcbUpF_v{_Xtqe*lSa*C7A^ diff --git a/docs/source/fnk0060/codes/_static/imgs/12_Photoresistor_&_LED/Chapter12_06.png b/docs/source/fnk0060/codes/_static/imgs/12_Photoresistor_&_LED/Chapter12_06.png new file mode 100644 index 0000000000000000000000000000000000000000..56cfd1c4183c285bb4e6c7b13a486c7d8edbf9d5 GIT binary patch literal 8873 zcmeHNRZtrMkS#@8+}%phpaF_gBoGKv+}*8sDK5p`-HW>xFH+nsc%c*m6oM9t1-;(? z-Q3T8+{b GP+5(CG3B2vyvF$F9fB0){{@tf z8uH*5^)obxe+inc^n2+SFPajuAI#DJ<(RHe{f{qR;0^w#p^UmzTD^DykWi47*77zv z$$ynbvy^|@cUrBokQ!=}h6;X(OO!(JI+#Ej3Kgu?cl>VhAhq?5rh)gG8;WLbX_lF{ zTzg~QXMGNrB9a!w2$Lnqz`=S=Fp)jZ`2G~JVZ3y9|EmClawg(yS{ZQWF*;{LyZtcm z3cuZ1pnxV=?l1Z|UYtM lH4hJi`wDmJqDkYgyANRs;zgCuJnHR3S^m7B5b-ec_K!M{^EJE z7XRw36W^)s @dA`!*sdEX?Lo5h=Ra;o5yUoR2gY$)yzAU<;F*5+K#53u5DxrQu25`!P;nqWSofO za4Soa05)s!jnChC+vj^~$o@jkc>S5lX?5t_+IE-WT>0Ksm{OQI9I^8G7x`zNt;k Y>7xb<8>=THg*3F7jg_}K+eeo8A*1`|hCT_#&9rvf-Kpu9+ zft^I1c`}?S-v+gBdLJ`2V$0OEPo$MJiF@4;%z8JcqBzu|L;|g?Yz;Nv8*@bCYHJ}7 zeN33d>CnVYwPJ~$BaeSMxy`EV_sfzodf7JwYQ_9OmQ7mi?L~rS{TR0V?X1vraLmHE z6`4LAqbZq^BNfi+PSd-C<70@Str(ss4OrDyC?_X({^wFOB$jM@JCYvkqYp6&1C-7> zY=n1cLNzRag5k0Y!FoX?L4Hf=-oKIiz_2$Nocb~2tjiz2k|;mnGIODEb@6s_i{;A* z7D%xq%d!-pY4GZ`@QGkCez&|EG9EADYGTtOs8}FT)j(s?k*lSiH75xNekZ~+rzm<8 z!XVi#-DJfQzAZCiIl$LVV+eW)@peX@onNN*$%*EV(6&FLtr)jcY{TIX)?*4r^(-p} zOu#lhJU1R8?oJf^$G?NsaHYu!*TMIa18ybqfQ8Mt-}&ovzZN4Ly~s5J-a(o9{-_Ik z#=y;|LUD#|=BrEj91P&(Rj}^q2}a)J>5t>?v4&Q-k{T^~8Nb4uazLShw+C3Efs!F* z)_*e7OFF7Cm}TrSS>q!6JcUjC{BY@lj>(~A8i!el&-XhW$LpE>m+GGlpz^PPjU?-n zxzCFWv+$V7zUkF)@EcNX?T)>Sbx>0?%@N&w&}zFUZfP}+&3lPKRQfu_B%Pw}W+KZO zVeBG?r7_ChZtE>yW&p1OKud&pRAjtTwk5BXvT z;LSPnH}h%MaKFx$EBC z_DU86&cpM6mc>?)%LaME&zv->lYgH^<2#OK#FCYn7J2uKOhukQ+%6F(YHE?@apaBX zQ?w@s+pnlqZmzrZk#gK>?K_UJ7%`1|p&L(jhhrxniHG$x^d+Qp8RU5m14#0P(Ra#K zBS=-vsWT%7hbaOtaP(Se9;dkuHhW%0wmCtLBI&;%d*0ib^r6Hbt(3U!_}P^Sh;)47 z@V!1Q%5{|O{z|;2C)rIF`oSRO#jN@AB4EPoXE`$tZk-(ZPt%=<_l*ed$O2zJIL>$7 zzD_F25rYeYU5cKQwI0+_RS7y) JG>yc5+oKUTvw zAMdxyj?6>kR)!_vBi`H-X oYS>W661?FTufs_b%rltLng^(595YS0y3-11^~DC+-aS zf{ijIm;Q)&YGyn2`UD4!CyRq5bK(6w{$%G5a)Uo4i|$r2vwZrIAiH2bah=Ly659J* zy }( zN*6gokHl=*R{k#8;a$}A``oz>TOJkB8>3YQ`r#CClC$egj@OogE$>tJ*W`;=jShS4 zr3ZLr(_ TW^vRFAsP zRtyd70${e?8|2QD$L}t9KM`m3^D|oA&Bk$%TN _Bg*Racl)U%GnU@zi^zmH9EaFp}km$ CN+D!U^D{ph^fS*q2gLThD~I7vjzm^J0bg8+M)K=jW@V66CL28I z84Iv|oA31;mMC#|@R4iVc|d?nAt{$WcG&f>s={Ku&B-BqF{X4@gQs~-#I`W>h@5L6 zqVSOeaOU)VW8HZ;tHGZX*p-UIrKJ5y Y)3Td+>7qF zsfV6RHYTGxB#uLgzX#=|668u3dPQGn2%_0qjfHB8jhOxsnCd#EC#d+ci#)cSYK1@D z&tGrKO?BNlq$wB1&@X^b*1sk0kr2+qq5Pp~g(1(&?Y-fnbbdIHmJH`10kW#kdH{uc zh*7mf_6!>b>0}MCvb8ocM^qK+H=6$Bu>pL57=Ylq=CHG@2@Yv zA0p&Z^t1D$76x|J40PiyRdQnN|MrGZV)G2`itJll4(;e~lPISwvt&q@S5wK@=3~^9 zhK=s@<5F)QVv)oOSm{t49fTEzU%h%LrVdX@Y4N~obpGkfM1(1DB3H9pO`*`SlOX20 zV(hhN7^Uq5mAgVr_Z A+#I3pU0zEi(bJal!IBY2c3VHQ_Rerke_ zSq|qJ%WO7xhd+O=CyIx71tFD`bG+ydc{(ZDpN=bT4+aypvX?voqD{~TavY2%$2C4q zqmHE0 Vt8F@_s2B6%EFPh7+&EMV0nJ5|b56`xjq0Sc@ogbS#PYf2dbS)=Zh~18P zi3xGg*~qYydnHK7)3@LYv)>K9Hp6#MX>ac=`{Yh t>sD zpg=4&Sus-|be^XzD%pGAbnSD#%I3~QM@#qhYWoG(-}t@w&vV ^3FN3lb&G`A}>I~aU+S|#0 z-EZEwO75^nr?x=uu+`?etOWgTP9dMPNoSr9ky#Q>UGA6{vI`Gix@(Q-tlze_F-QxQ zcU5IKCoIQtE5I2V5D?B}*^f%tR5`hG^9#Xkrz$OP+s$UL^P#Z1ut^Se6aCPbE-I~M zZF8s-?F0pWYi}!6ey&8ZQb|j (kC=i`)SG5@@BR1M`zb5m1aUH02fUAV%2`Mj zd}AOfHx952EfV&D UM{DvTjV +ST}!5#)1QLiB( zCQSmHwUr^LKTXOdL%enI+lvJL+;*l}o-*Hmp0wgL^^HP5hiQy`NOyFhhvi9ljmLK! zXWO1nvjz v)82bS3-^8wLNElLbDUNt#j@UCw$(|KOLQyqve zZgNPgc`mJs$Pi`k^uU1m`sncRP8NFca^*eF9gObDN@q@SC>y1 _qud?=jg$fFUj2i@ax>;N%kHf{Cd%mF0E~2*o{6u@zc4;VwbFzD&q=UF z8kIKPt0 dasZpNczm*c*0K`-9zTDf}^M1Tqaclg_$OEX)YydB& zPEnDz>z-g2H&kVlDQ?7AIn-+TgwIY0l=Am#@iifwhoqukFVIZou%l5L);$f+p2P8j zqE?){P&k~sD1&bAj~b7Ee4vyxjy%m@-zrg-h)h#Y4-OSA5BCm|R2~0#by*Z*-)A6S zY8s5T1OHtL-1;8;sMi-rE0;hM42N5^# ons ziqV$sjPTtGB*$F>rdy1CHJ8H%K;Q5fn!V^B6eEd_#yX?|<=~9bEhoxkm|Yy0wKX!# zSs)wEpSqHwqM};*#L-M$qM}XaI~WhAWxuKd_82EZk~ShfglRP@YHMpB8f&F-TP{tc zd!HlsXv`YzZDe1D7hZ_K?;{52{(B9}u3oLn@xP9It?9)pz^)k;V4D)Hh2r?Xi! zpO~f%5pJwo#f1_f*nv-Mza=k0za{_7>bd?3?a2C@%F{&v9I??6=jM?b@&if`5|1j% z@{RAX0@RuAN{~aJmmw0}Mty;(Cf?>ECMM@pCV@z6@kwFFY5Elagq#x^R2sr8x>5Em zSel2avq gS`_ixR;=|Efh-Us54rTCSe(k zVb()F0R#q`+LGV-`D)c#E_7K_3@OntJ3;OxHxna9FqXIlUG=Ml`qO}#i!yLQLd<&K z6&5IYN|k0saeIUA^g{10Bc0Esz4h dUUo7)j`z6;p_v9}oN;EeK9n8XF>f zFW+u{+4+%h|6HO;N-M*|nlM>G{~qCdzb@8@(Cr%-b*Udni{ ww|1w<{6l~c#v zTvr#oF8X0GVuKWVK)=vU#qSQ!=C=(5& e-?F$^40?Gu|~9&T!zyq`Q0`HZWzc; zAaP(t$PSc$Fm*E)MlE#}frD;W#jdWS8!6=jgo_8nosL-@GoOX*#liBDzVbn-QJCzk za}09{V@K7 -ipOw6wIkxBF)R+tM`IQIhCzzp`oQn{?<1 zVNM9}YM2wu2wUPge2C-|OXG=s&p;XWSK0if^T+dMcslb-CCyOg`9sPHD>tdUV@ zq)CpjIrc^1AFOp6w~Fh=)5ofRRq5{#sW3l2&OXFWAzY~V;;{&_qTs*c)l|NbGrNQ& z+dF`7%Ht1=9t90d41xnDO{L3QacN(zvyHL&lSCC}Td)vXPgxe1cH?9?H8~<@TdN36 zVr7kd2;b)mYFp>raisKt!T}Q &(nSdMucB6IcW) zPY@ljTi1s+M+9fJbQ}71KerMP73?Ea`}V60ccJgzui}g2wZnIX(z?3KSbp_Y(X}_ zhDx;zXjjUZBm*SYir-0zKPuVfQuC2_FUHJzeghV@EQ_;He JWt<@%9}g&5cDjKGJ+c$uBw_{j&S($*)SJkX6} zoTL-R0Eyvx of|9bXKdh2q&sA3v jInwA1vni 54ZJ4FEM}vL`1OaK0V%@OxA+?$P2I>KCMAVvNq(K9FL-F3u}Leh zo_(HP-o=Z2pVFh|#uuY|oRj}6DksUXB6(&hsS>{q_Wa?Hh~&-TS#d&${#UnmbUwSb zg%1+2N_EC2t8t>Px7e5?>bfRA%yssgfKI|pEMScZPfKfCbs~vwy;1l|*0K_FI&Wp~ zQ#m!r{z2FZ?`@HB?^G0oBEu@VlsU!&^z#fM&9a$j6w&V~SRtAL^a5n3S%u_f_$*Pz zlK`mg6?A`{D1o?1XZq9XTZSPdcDylmbrbeKl?@<<8)o_<5vsW=NDtsozLNv^iBh*GyN3@V*7Z;Ep09v=S4}RDBEp07qgbHmexIyLHqr|G>!F7g` z8tbnMO$s_{2GW>RFwjRjqLyVi U_7CvxS&D-G9l<`a{A!Y%g{`ACA?&;DPyrc2}HRlM+BaE7x&%;)p+Z zW*5IVO0j>mAl{{;jJI33`xN#J4Rp6~Pqz3^Tmq5oWD<2Sf5rN84E8P%cZ=M )j{TrbD?w~LI)ecrq&3J#8%)gQNv96WbC a zmV(1^%UMk)w4%!XK{;l443(qmlNnd0ra#a)_xD)If1}mGghT!(Iq&~V{%e`@|MFaP zvBr1K-(*f!AqF}=*QQE;w3;XTr_a`tr05krPaHmU#=~eZjXoqx@Q`)AeM;Z!?B{0o zd5txgiRNX%r1LpaXWZ7BK!sV2CYFIFo*_-yO<$+(-tpMOBl*JD%zzABMWU#;Oa%NW z9{gr 7mBLC!~$W1#NjwJZSS^x-=n=@SjDBc8i2q551K z;lY`_y5Fk_Dnm8cYMezzPi1>1ynXT7c_bZtae;X~0{`>rx<86_+cJH8Ykz_6_*fc5 zq-|m0EYvtU-;WIpoxb=10v1c@3W1y0a7u+sx0OcBJw5>_P9mj?Iw}9P{spSs6=BAX zD>;bMB-uu!NoHMz6Y}m+O7M(NYs;f$+-6I4NG(qhU}lTRu@4sanCAQlUB0^RPaVf` zJXSFRGI0<_W-AX|t{y4~B1GLqqT~5M!nZJ>H;e?PF7MosDXPdg>OH19xoe)C-uBl3 zJhuaRll-zJDM4HiVqvY(*e&ASjWLWW@zcax#3h%^5&s`GTS{maDgKVmksAu>H_U78 zG0B)Pi(_TJu5!QY$RASw&+aFh7ENrNMI@F4IYJ6lAgz2(=e+H^)fnnMyKHphZ<$kD z?9)s0=yKuadTBe#D%?XqMcpfsa10pmjYFcw2V+1usiGII1(}SbOql`{KkP7K%+xj_ z`m=+-ofKtNa*?j_66wNc5oY&eC7Tu55}5ppE#i9<{Lmh6Wo8!r@mHp}^3)CNxkK`K zziDrP$qVSQQL<`zv^ZVQfDR4lrYnU=YKZzFp=42kQ$n`u0yw*f0H?1CXJEdTe!>uQ zjb{%N&0N8!> PPxb;3O6q<-w#yg0?-sPi7i)~J@DQKM0)s>kHYpxkwJVGi5#lo9 zgwdw`JQ-}NF_!}k@hPT+Q_K54aEx;D(9Y`PjIW1~;Dy5M8!f|7g^xCjdOG71DOs{1 z7Y}susKBzJISfmN?5`Gt#|G^v?{MFP+%aBiYYU%F@e@>kx$+R 8x{Woa?c+IG283`Cv>OUD&NJfhSmPkyuIWe0t_E?h^L!mqfFkZ)@a-muQCG zRJp##AcOwszj$wIWM&A`GvTSL$aSkrdK-$pg0Y^{AO63F&?uju@n<^Z2k>@_iT}Nq OyikCs$kv0+LjD6Z2-SlC literal 0 HcmV?d00001 diff --git a/docs/source/fnk0060/codes/_static/imgs/14_Joystick/Chapter14_08.png b/docs/source/fnk0060/codes/_static/imgs/14_Joystick/Chapter14_08.png new file mode 100644 index 0000000000000000000000000000000000000000..f1b11d130b89ca60dacd6ab71fa3381f4740f8a9 GIT binary patch literal 3111 zcmeHJ`BxH%7RFPr9J6emmYEAR&Wtl|HC8UTkXD+Snz^MFnCpnUkPEm?)|mTDrWB=A zrX&cCDIgk} z0ARoS#q(DH05$1OPf_2qlLwBp8157`_!T!70O_59Xb0?$cJ^`x0Gi77sc!yj2Y;1x zF&GX29O(W}s4)^>MgRc&Ub~-n_D_e1`2%GJL56#mID-wPhH;F2r8;K|OPUVV^xyf` zJM25k^l!UcG1?jzpU8CYoZHekmZNrCKjn7HeqEh!Q!ehlljj`P)LR!CfvT*2WHiS{ zlrV|az2%e};LpoV$hP)2{3MFqD4^nz$+6_$0J%xryjZ}oBgYQ_oWDv2sC(Sob@sB0 z0pRw(X8;Eu9Ne4x^o}iH_jf&N$A0)<9C`Txb~CB{Cla*Nsr8I2@xzqsP%8#PY`+Sf zd{SQSCpx7Ce)9eICLii{o$eR&sH4Pd)Df91C8P5UEYkq}dU2?aJ0rc0v}0KJeKLJj zhr^A&eS0Z`hLb0@y8gOeCO{Hi8+o#2pcE6m>!uleb|lX5X$U36Ng%P1kJMnZPFLk@ zDG* %*_Qm#HAJ*lw5x2O%lKnJX<6^BoSv)K_=!}GxB9G- zUF#(Hqqep-rTRqX*0QLlKwBhb0DZKz+t+gIe?OkBkWmLuF36Gfehyuc2eX;5(m5UB zQN~}Y*Nd )kN@fK@%q3gtL>Ja@!;a|> zrl;qJRb_nQCp8#4K*p^~3l+M$hney$;lem#OQl%JOn&pAtS^nQv#+0zW5Av1%nYW9 z OGALwU!r&y5+;l>I{$Kz^->fXAo32pR26l zexBd6%Zqx%XW3U;frYqBR10E+xRHEN>lpB)Fs>hxK7Ds(j?h?_sDmCKA5Y;Xu=)?? zNNaURU7Dz8Y;3S?RS9zl?#(|*f_dDdnp2{s=KPVj;iu}CA0>DwF8Q?o{7cWCzFLnt z2U46Br2!baCKHpJR PhbWP{$=%m$?`UPlTmf<~wv zilJ|eQzg90lKs-!TA>Vq% 7Xz`=5P6qxq-Ic@L1ZGUQu)5Gu0MVVJ@Iac3wjt$R+q{U{V5)& zaxmV_Igi}S2mR`sx$XqHnDTpA@lbEvYPQ@l=s}eaZY?Nq1nphr;RD`eBNl0J(KEVM z#op}T_A%cW>YitiUfxTPAabS34jz?62tKMeGwh&T2+9A^GBSVM6&Gx=`c{^y)slAz zWLAZU9VQ~gUj$bYp-tLWc3&>h^z8cK@}tz=0+PY?ShPoV$0UDFYmxxxvERYyQ+Ppi z2G^EJ;- @lTTi&rsEs?BfHp&y$3cCSaEU<<)Zc{Y (%;JrjmHrtkr#;3CKYvop4}OYauPBM8&5-$r?3chu?@E~*?at|%DRpv6rOkc^qPD^|KxGowu!eX&DOjyfq!oqN=Y}b2X@I=Ws zmeh}yT-hjA74Z+rv(+e4=JTUh$reICKO2*Tx=x3c*%n*!!;mUx6Fv3=@e0=0&05PP zfP*wl;k&ZUhOc3B2$8NtlmQ;8iROI!IG#}AKj`m 3MvLzkReGqWBehlj`kxzfvP&o>sGE-a02c%=4XCAB}57BJefbH z!N^7AiQeG5)a><|E@D(n#64(h`ZHBeL}GGGyqic(qTrVl%m_?~J|hgVppkykn%71P zX6K%cYxg2m@?l#J0)9dtl5Tx1HJ#rr9*^PU<#8>lrH|dhsG7Mmun>x`oqbaPKR-U8 zY{+Q1EIyjcKN7I*JNl}mPQt?75O`NMRt{KSBRN4MS*nZ<7?SQ(Qwc;*%S;tpf3=)j z&L3$KhR497+HAutTpaq<{G99`Hy>9{gqPKh;(Tx>*i0)izdda;KbB(FNYIqUZ)|Wn zoLbrDC7RMAv}N60#a)?MRECe~h*n(#siE#eoEaI+^UzkBTuGzYr+>}1hL0x}f`zxT zmN_6+sxpwg9=P17>o+mB=>2|AKzsK~+5BK6kH}lf)b|=@itW;$A~Rbj8aftU%GqeW zfOp>Ufor}LJR^yR&v3P{!7rqQNO8zT$(J%?jfo_~yVK(~m=0}Wn+zKkX@3JscbcCk z(8BdKnf1f3f@$XnrX`r1td0=9;Eu Y^A-o}jOXwIM`TxScuM8+&;a;@IJ|Y|kusz828vABEI5-td55 z$Q8WKFuT>JFpEkCjm^x2fl?Q)BBxc$qW%Kodek54(yghx{%B}Y_v36 J5E0#CS8T(-kuT_Gi$K#x^u5=4yrm4Uf0`UTNZs)J? z)^gCK?M-Axg#Do}s2TQf?`I%#0QwV3C`1opL-|CE-b`;b`_Hhg>h BqX;WKx(IJs}U7~UyFm@|_07U_Q#;AbUPo7Sfnc;yisOIo2I84lM#_fph zoN|>!_xi*0j8zYuVQLoOZ!uE8VxIVJ;+c#Ce9kr;GsFWg#Y`=AI@;+MCZ}$K`? 4?*xVslA?h>R(fwn-QP>Q=1cXta8HQXuE776Ya+-b1{30k07f`?)+ zKYOnK^?pdQo83KoW@pdLJ#+3k@!DEyg!pv$XlQ7J&(&34qoHBI(9j+U;$lDiV}VO! z^zei3^;%5{t$LE-_rngRy`rWf8d_~C;KmZ`VIR+3-OvjSji~Rh5BiW>g$)|oed%)* zMLmDBgB6@$3R^f1a`obaCZdy?ED*6$ZE$pUCi@C8SHEods&g;z{Gc *iGifPvl4j-Jk4=+Pun_rM Rr~4&GmT+&aCqKQ5=J^^g~~ChR3V56jeP@(^RG(KM?df*FP8$RQ>)#^!(tB z_1sCRGd _+a)=KP#bk}F4y}%7Vnw(K^$gf9yH&(Rz zeC83K&BNkj0Qy!hT^Y~d0oV|ejHr_`2^vN?sr^LC;IheV&dLEUldaS6v-tUIwE`1& zn!Wcy6?joiJbx?jL1|Rj40Vk263!2L4{kk2yEt4)yln+d+dRtsWA|xWq8FRD;WH2% z9;4m sM4V~KLSjbGzt`IO$uGjpCsSVQiA(hL)PWmW zacs{grVD `e0t71G%K1M*Msa!WM_@IH5w#(T%G9 zk~TV*SV74*XEQTx|_NSJm0w59(%&vNGpj+4~;aL!5t=Ptb%O>n!O%<3;+~V?}{^ zaP{uut*rOz3Jo(pxAoAbB(auiVGh=-3`VN`+KAr=Ef(TWNG10~mal3+$jdOfSYyG0 zIGPy06H>BtEk-ab&%N$!U-W>}MB3-kMlky6-MyunA!*xGLqu>NF=}U9{pMFb4sxpd zj`H3=P~;H _WR)H1M4(6t%hn}c_u$lV|QMW^NBC~O@O z){0&t*okY{y v2g5N^#xTo|cp{49lH#%pJE19o@E)-v|UyJYOLBFk`^< zY^j?4fIubOFyVYmf2~i@Q@d0yD)3bnu8fnsqe*R?%{3#f9D0d$Y5pUMm#mb4x6I+` zhne@sGN1f&D&AJ#k}wA&N#*nJr4tM+yq!+Ldz}b(ZnwwqduL%H-;>s5u;1Yj&iyqS zGx#dqMiRpF@oCv7#e-?qYsMxw^H5N76@(2(qgb0=NQ~^gB`YrSIKo^TmyJ!CbeC6k zbA1A}w{m$r2}D@Cn8Ac6h9)|esk&1yp?_9aOyX7H*af7ux1Zx4rwyYU{~$&Mu7gmk zK!laD4siUobKafdy-IR8NmDnxyEP3>oTEdd)B9S!{~B>xXA+&~;*41^I3@md=S@?! z(Sh7_ cQ$KOPrC<5TA$s8}9@oB{c!J3Db# z5!JDzL}E49MCO9<@PmZFS;_-Q`c2?04Tm;3dHV30hW>)_sb&!MV%y=av#X+}GB9bL zd@-xQY?$xHrxE}&??`Hfhce?NiGT?X1|Bs*h+ofGb{roYG4Q#mHm}4k${A}Hi$ASF z#A+GGxggRD0V@vGjxn&G2?={fRLkfY)eQUQH`q%~-*t2hllOed0eNJZjVr@ _H NwQ=ddg!Jtu z=+YoF>>i_IhY@aKx}J65t85G=xTXsltwX >r~jN!k1+} zxn40$h567pHa;S=CQoP*7|a2-#ROn0ari=(SK`a)sBoRK4IF%*ItvWUD>LHKob$@w zU4oE3n!2P2LB){%FCBnMdDYXg-5_CO~N>FSiytzk65g*UDOV8ucGPL|e}nFhLr> zN_aOM4g4%ucp5q-*Uv`!=?xIPdo5Q1=w`V0M>-PBiCNu-6%5q94z+~L^asw(Fs~N| zidDDYKd~t@PX-~nFgByc9j44dpM5ruSG#57K!|QY^Hf4q|50=vmU}sn=#=RXkg4^~ zDyia*Vd)i&)Igy&oWP!^&M%`cEg0|U_WITzRW#(`(t>p*eXV^2F1F~?5*r=bczY=q zi39VM^NMHq+ 0tvM+Qe_ebqLNxkQ)T~fAE9n3 zd(tJriLOx2e^ivq^`N1fd}raUQ4NzzWT*dHZ_shM!lYs`1f3c%_kmrrpO%S_Q3Bdf z6?dlFQ-O$m{zb`sk0U9W!NI2-K=d6u-db?rUd~hS?qv6{#qI^eC!c}o$NjAD201ul zL2P0U1Ol{Fsb^2yr+?GA&5t{omdevryus(zQ^duaeY);qCM(1?{76}NZ?D}0ahqz{ z6hLma@)MJHiSoUA #j3ECiSQ}<&~1bwS4gT!0W9!zdq?{WnTBbUmE?TVRk#S7?+#9`Rm^(5Z-co zPF5rpB7F{Gb# chGj!A{lTlh=uoL`Lf_hBH51|yGf|-lt{@A05QY5VG~ZyLDn#GGDEZ*rJeOI9H#!h)EmP4wtIma*UTEf zlsm8XQY0R(wc;l%2-pI3J !9EB__f9q3={f&iQBy8&9 zT9A1CFF>fkd`%h4&EO7psfAE?$meCehuSK`w>R5J?Q;aEUKVNxwW)1twmcJo^ZhwM zE@mZy-kcF_U#A`!3QB(aACXt34JK;~;J5k2v u7HO%Q6a*$cFvTm6`ep;aeN($y)w7I)oL0`SyIFdG z8x2DG>CU>cJB-( ZGG_gj@$US_>&vWe{uEBVvlmu65huq^1)4})vdam zqQjFU@5S+HpDaUnd`0JNj(+{n1TOeJ8lvlzh>G7d{>kanw_{FP#%b-Yq-OpXJ{_oo zu;cC;zrsa(e7oo+4}X}K|3OT~@hIdM)M%RJOk$!Wf2=rWWIPCh4cVO0Zn&eDJ)czl z)DRSeq{IEnbWPnIOKld6Cs?;W(ult-D@-PmzHPd#g~?$Ozj_xW6O8|M;|I0*;C37L zc(5214pR^%qU%zg{=rGoe=~TI@w7Nz#bQ$pg)m02sZoc2dFRK*wnKUI>sQ7x 6#wK<-VD}a;pS%S{_p|L+Q>+SK$*gXUY z s hV;mWL5-#TfMdF8WSpk36Jz&;?NnNgF*IIbb!c@s- {6^lbkwUVfOhxh-8d0OT-1Nl7#S?6@Y~y+EJWOrQxHpt! zanL{;(mr8Fb+%ah7M--!@XU2Dp-^W|n;5JLFW|b(X$!_{A$d^-&sK#S2FeQIVG;!^ zvez3{X|!LJ6 zNDq7LXX#5F1B1BeXv}5bB^P)t6Px7bE#tqjr;r<5w$h~aC-6eb72e)L$yS=6FgH3j z5%~}h L4HYU#u)0Pw(2Ih`T6iKiR)Mk<)1{ zhs{)n*Gkel;UIS=%@oLw%Pi1BWN!p}_3zj#_xhHm`8jxNN0B3n(~&RKD (-aygAlF z82pFdqtB#Tkh*-vO_leI1*QRWZ=fGD4;Wwm+k@ydrWv~Z UnX5H#nRSb(Q&ipWPC1b*ZLO&DxuwCB zq5ggqjptfa^UCIXcvr{BsmGGnugsL$L%I2)BSWbEPN1X#W>V?vU>j9@<0qe^v9R!z z!wZ;a@nc9TOkJt@^y%9OvAuV_9bDZ&Fe^$&FKpo2iD0eluu-Kx>JN%VR*FV3A_8gM z%?tbE-_r!l6*A(R_VFvJD#75-%S)>Z=gk zMu?Z)+qr=rGqc0Ai zi;8vG(Xge;$x+Ervx-Z*PB2@Rp@6@ONz^#hJzU}S#sFX#|?NdBx`^R7St@>AWR~ zYo2XWV`(^>m5gv;E+w?d=t+tNIxgbypa6~YmBAY&C20)wiO4h(RK=V&? EAwEi zFv zEI2Nem?#;!P{5Y@c%CfY*8@Lza5k}hRCm6cuD&DwwpMQ3b9Pl0epbbbk&79W|09JZ zqAt1M_F3oaNQ_4$)RZx#w6vLWmXFF(nTM3XsbF*avB~rzyNEzKV@~snVOHg6pJShI zFzS8l(O8!p!KFcDA s~% z91`AT%?VT7x|AGxrn-^vPFI*sj RX u*QU-daqRR>J(?2|NYx47)exd-Q5HE|8}Tl|3vXUf}&ee%32#0>j)*h}l` zJ$IiijCE$h4p<*lQ?)$$5+8?`O7iIF*z#B}aC?(6 X3P#)4pK72<@?sj`j$p z+Tf*q03`T;YZa$UP!{!yR?f(Q*1bu5@xKU_)1T_MP__lwU`kW>x9-~2DQbO4qQbT( zM+yfA+iJ4^Sm{taHCnFMy)b&AHfkWpHFa{lA9*HbdF34Gmol?y>AegtqRG#GGK)IV zn*T#?_s|2@1Hd&cDFX+li$bz$rUVIHV|J(S2a<-?eA|n)CEoq7bMjbS#KGqN_Rh+> zAA~JYLhFtH^+*0VoN;S23bZrX+d *JkIp$ymP6B3u*~t2sTy2RPH+V^ai#0oi zGti&>YG(cVi-jUE@6g&Pm|@(xAWYWYukzn;MM3T+eV!xT!?i$$_AMbZzW5lIeGbMe zkf5o(1iJ(anq&%XOqiK3o>}+$0_u`7V|^QMlce}Zk4-%xcMV~gA^_I0aJU7fp}N?R zLtg@h3L(Sk$Y|omw>VJskAN$Rn=vCf+4hgQ`c@a-`rrOW9 1h?#Kwl-O-9s1GWPn);lvc|<#NymY+jv9hbvl68BtIm_d}-uB(&u;M)g3+=9D z>(oVCNrE_!>?=h{EWxpC_Z43hQ_aA+&Uco}`R$X^ a# =kSiHmJrrG`-8sT5_zGmZE8q)$iddg7@mRtkiwz2Ift`Ai;wpQ_WP3!p #2V;U3wtQ59 ztO$U4b;6;OiQX6REf;T&*I<}b8390fwB (;s3M&UUnG 5=2PJeu}=!4o{SY6Xr#()?? zyPOs&Y-*GGPxr2pI6iREAP@#%3-oW_zrRn V z&Giety%dYy7eVFtIm$pv6Uii$vLJDq12qQ96iU)v9~>l3jrE1vd5QpXZ;4^S@=V$R z6=u8LJ<%>p!&=c?aLkCCe^)-(Db#&Q}p9#$;N6y5kYg`;7wcL7^ zpOYK-6H^J8h}9ns3-YRo8iPz&)uaHc!FQWuSv4T@IENX>qQj%3w`vYIjx$?dIL60^ zrCjRIbjijFcb7r8!;q~c1I*o~^*q65D@5<3;h) 5JDivk77uV=#3`q_Gxia-H<1|YheS T z%-=8dt$%C`K))s`Dd`D`g_w)BvPkipN}V0<`v+YyZBflB<;hc!=1(GNd1ah@*Xt#_ z`z3+IMU~H^w<;YfI&^XRO_EKG=PhCAygy^@tW=!Cwe`!lpROFu8PtBINhl&0;*-Z6 zo$21?iZFK=v%RlJ$# 2!In&A2E{**SE@P(E%{j)2eg9C;8(QWui8_76>V%&CB?-ndOC1x_|oIk z ^R%kp+T={r#lWiy9cS!yF$4L8-wW|pi7L=fhgXMY@xZZSDUtznW1?qqS+Pr8-4v{ zDp9J`uig!6VpPdE6gy}rm!P{1lHRwyS%YV>|LUbi&+^E}82jMny#|9$TVDF6qDEa_ zF;+y#&y$lixmpl7L?LG$^LBf_Z(QHYrUoS_cfHG;++cxa)9VpOkRHXjh`wK~kaP Ew1+r4Uc=LC`GgQn2;VYsazPw;m8oPo*ggq8!fbFAvt&bHP4 zI)>D^Sv$f)qRV{b(Gk~64=5T`W)yrp7K3tBmLQ^Jw%Lb8iSwp!*4NAzFB3ITSM>p> zI%4ia+9_cmVoUQQrb?8RFjZJPdE?OX*TV1@&Z@@BL`^$$g|$nf^KgR%NK|{R{f-t@ zrqLR$i?X#P>BS+pA}BfU)eFlltg%CIQOP#T1=w@B>7GU6lfPd|{qG<84V0_DnCxtI z<2FY1soJN~Zg%-uZ_W@k> n_l8C?m-P)zKy-GA7PZv@1RZ#%2z{-c48lM=m z*>F`JhLW2LzM^Vp%;IA&i;l%JX9_4)@qP1I$P{v708S;gIVg{s2ul0a!vFZOgZ+At z>Vwa_Zp}*G8T$=;@_of)GLThaKifIwa#ZeJKdyS|(0uF($#D5G$&u^`5fU*R9Ebs! zr#I-?ZiGA+7S5D=$M)zpg?NUoNIJmUiJs1Y1@ZmjGw6i%c|63cBK7`m0ujHx)aO+8 zN&*RQi@LcbWoCTr3|Os}pmHRKN}P+CA~Xjtt}JwppJQ~Y^I5S5aBQ7?d~1Aic<^;( z-q*)+`~mTG2l(&EeFtG;;a_H)@|kPv#6R) znklXN=COxW%_6!L{6z)mgfSHtSD@OCk-ULYWsgB@LTp&<<>rwA)aKD&vwo1wIV)-9 zFj#)w6c&l>Twi`2P1ubc)^UtKK8%bi2_=@0 67mC!y4!!-{?WV0f^XO7g?&&BFJymZ$9i f1-mVfE+=&akLueZU71@?K_{9nU6<9mplPP=I2F?K{}{ zE&~;qLpAbIcb)6tBWTP{={&**x |-l*WEmZqMlTdWGXo5ImxQ#TSy+BlhN&BTcWpf#X6>OWN}+ zYV$3^G?dm#lYV2!-iJqz31XH1$^7~)VN+-)0kfbCn!Sb?nR4*7Sz7YSfJ}61&gi7H zn`V 5m9+XwXch3yDB*7J;eI8QmGS+!7bojh?+e zKvNv{x4r$k_Iv16X}?d2DyzX})Z=SUouMw~6(KvZ22S#>sWIx41=w2S!g^?zIzC>+ zfZY&o`VYIZaz(eMwf!iN_T&lOl+L|m02x!ZXrir1VN<;>?v`wMa(troDx)%3Mv&Ms zi$R!AftHVo)jidAMh{<_K>wBC7RK$U|D;o00KK0$?;1QJGj(5r<^jiGA3&SU{mZ<} z`}vl|>mV?2BF=#?$6&wJMSnc546DT{qREvi8b%$|dKUdo4&@(X!iqTw_d>eoe=JCy z>b@lcysd^5zgfMIM!pL+X!a^cs`GbsWXEDVTP+O%DS=({*$bI~- 4i9w#u+KM9o(dIqrSRsMd;BX5E0eyZ RPP<_#2a$cl3c+YOUHAC+w+{41j77NmvxO}j z^iBY17hs_(i5s4sh=GI8f)^L9UOWJQ1@FD@f=6rOK=%_btv0{C@jpI1ci5