Mt chng trình trên Arduino cn ti thiu nhng gì?
Trong mt chng trình Arduino, bn cn có ti thiu 2 hàm h thng ch!nh,
b"t buc #h$i có, %h&ng có 'à %h&ng ()c* +ó 'à -tu#./
0à 'oo#./
A13456
Mt chng trình trên Arduino cn ti thiu nhng gì?
=
A13456
BC nh<# nhD: Ni dung chính cn nm - Tìm hiu cDch ( (iEu %hin mt
con (Fn '-d nh<# nhD:* Phn cng - Arduino 356 1G - HI B-d -
HI (in trJ 22H ohm Lp mch - KLc m B-d NO P5 - KLc dng B-d NO (in
trJ NO 4P4TAB IG
BC nh<# nhD:
Mã !p "#$nh %& gi'i "hích TrQc tiên, cR mSi %hi dng mt con BC,
chUng t@ #h$i #inMod- 63TV3T chn igit@' mà t@ W dXng cho con
(Fn BC* Trong 0! dX ngà: h&m n@:, chUng t@ W dXng chn BC 'à chn
digit@' IG* 5ên (on cod- @u cn n9m trong 0oid -tu#./
0oid -tu#./ 7 #inMod- .IG, 63TV3T/Y =
BC nh<# nhD: Mã !p "#$nh %& gi'i "hích + bZt mt con
(Fn BC, bn #h$i digit@'[rit- \4P\ cho chn IG .chn igt@' ()c
%]t ni 0Qi con BC/* +on cod- nà: n9m trong 0oid 'oo#./
0oid 'oo#./ 7 digit@'[rit- .IG, \4P\/Y =
^ng 'nh trên _ c<# mt (in th] 'à `a 0ào chn igit@' IG* +in th] _
(i u@ (in trJ 22Hohm ri (]n (Fn BC* + t"t mt (Fn BC, bn W dXng hàm
B6[*
digit@'[rit- .IG, B6[/Y
BC nh<# nhD:
Mã !p "#$nh %& gi'i "hích BUc nà: (in th] ti chn IG _ 'à H a NO
(Fn BC t"t* aà ( th<: ()c trng thDi bZt 0à t"t c@ (Fn BC bn #h$i
deng chng trình trong mt %ho$ng thfi gi@n ( 'u ( m"t c$m nhZn ()c*
aì 0Z:, hàm d-'@: ()c to r@ ( 'àm 0ic nà: .eng hn chng trình
b@o nhiêu mi'i gi:/
i]n .0@ri@b'-/ Ni dung chính cn nm - Tìm hiu cDch %h@i bDo bi]n, cD
nhn hó@ d^ng 'nh*
0oid -tu#./ 7 #inMod- .IG, 63TV3T/Y =
i]n .0@ri@b'-/ Mã !p "#$nh %& gi'i "hích - Th-o cDch 'Z# trình
t@ th<: mSi 'n W dXng chn 4P4TAB IG t@ #h$i gji IG* + cD nhn hó@
d^ng 'nh 0à dk hiu t@ %h@i bDo mt bi]n th@: th] cho IG*
- K<u trUc %h@i bDo bi]nl
%iu d 'iu T-ni-nY
int '-dY 88%h@i bDo bi]n tên 'à '-d '-d N IGY 88gDn giD tr IG cho
bi]n '-d
int '-d N IGY 88%h@i bDo bi]n '-d 0à gDn giD tr IG
p qh@i bDo bi]n tên '-d %iu ngu:ên 0à gDn giD tr 'à IG cho bi]n
'-d
p ai]t rUt gjnl
i]n .0@ri@b'-/ ()c *i+u d, i-u - boo'-@nl ch; nhZn mt trong h@i giD
tr tru- ho>c @'- - ch@rl %iu d 'iu biu dikn cho I qs T -
b:t-l biu dikn ngu:ên te H (]n 2`` - intl biu dikn ngu:ên te pG2,vw
(]n G2,v - 'ongl biu dikn ngu:ên te p2,Ix,xwG,vxw (]n
2,Ix,xwG,vx - 'o@tl biu dikn thLc te pG*xH2w2G`CyGw (]n
G*xH2w2G`CyGw - tringl biu dikn %iu chuSi %z tL
boo'-@n Tr@ngTh@i N tru-Y ch@r q:Tu N{A|Y b:t- A N 2``Y int '-d N
IGY 'ong N p2IxxwGvxwY
i]n .0@ri@b'-/
int -nB-d N IGY 88qh@i bDo bi]n -nB-d 0à gDn N IG
\àm .unction/ Ni dung chính cn nm - Tìm hiu cDch ( 0i]t hàm (iEu
%hin riêng, cD nhn hó@
d^ng 'nh, rUt gjn d^ng 'nh* int -nB-d N IGY 88qh@i bDo bi]n
-nB-d 0à gDn N IG 0oid -tu#./ 7 #inMod- .-nB-d, 63TV3T/Y
88%h@i bDo W dXng chn IG %iu 63TV3T =
\àm .unction/
Mã !p "#$nh %& gi'i "hích - Th-o cDch 'Z# trình t@ th<: mSi
'n mun (iEu %hin (Fn
B-d t"t mJ t@ #h$i nhZ# 0ào x cu 'nh* + rUt gjn 0à dk th@o tDc t@
có th tDch riêng x cu 'nh (iEu %hin B-d r@ thành mt hàm
riêng*
- K<u trUc hàm %h&ng tr$ 0E giD trl
0oid T-n\@m./ 7 cDc cu 'nh thLc hinY =
0oid T@tMoB-d./ 88hàm %h&ng tr$ 0E giD tr 7 digit@'[rit-
.-nB-d, \4P\/Y 88bZt (Fn BC d-'@:.IHHH/Y 88eng chng trình
trong I digit@'[rit- .-nB-d, B6[/Y 88 t"t (Fn BC
d-'@:.IHHH/Y 88eng chng trình trong I =
- MSi 'n t"t mJ B-d t@ ch; cn gji hàm T@tMoB-d./
0oid 'oo# ./ 7 T@tMoB-d./Y =
\àm .unction/ Mã !p "#$nh %& gi'i "hích
int -nB-d N IGY 88qh@i bDo bi]n -nB-d 0à gDn N IG
0oid -tu#./ 7 #inMod- .-nB-d, 63TV3T/Y 88%h@i bDo W dXng chn
IG %iu 63TV3T =
0oid 'oo#./ 7 T@tMoB-d./Y =
+ Dng BC Ni dung chính cn nm - Tìm hiu cDch W dXng cDc chn
digit@' ( u<t giD tr
@n@'og 0à Rng dXng chUng trong 0ic 'àm th@: (}i ( Dng c@ (Fn*
Phn cng - Arduino 356 1G - HI B-d - HI (in trJ 22H ohm Lp mch
- KLc m B-d NO P5 - KLc dng B-d NO (in trJ NO 4P4TAB ~v
+ Dng BC
Mã !p "#$nh %& gi'i "hích - H&m .n./g0#i"1234 'à 'nh u<t
r@ te mt chn trên
mch Arduino mt mRc t!n hiu @n@'og .#hDt ung V[M/* 5gfi t@ thfng
(iEu %hin mRc Dng ti c@ (Fn BC, tc ( (ng c K h@: hQng u@: c@ (ng c
-r0o b9ng cDch #hDt ung V[M nh th] nà:*
@n@'og[rit- .chn #hDt ung V[M, giD tr ung V[M/Y
Mã !p "#$nh %& gi'i "hích
int '-d N vY 88%h@i bDo bi]n '-d 0à gDn giD tr 'à v 0oid -tu#./ 7
#inMod-.'-d, 63TV3T/Y 88%h@i bDo BC J chn v =
Mã !p "#$nh %& gi'i "hích
- Th@: 0ì (iEu %hin ( Dng BC thì t@ có th (iEu %hin tc ( (ng c 0Qi
cDch 'Z# trình tng tL*
- +iEu %hin tc ( (ng c ch; W dXng nhng chn digit@' có d<u
~ #h!@ trQc
K$m bi]n
Ni dung chính cn nm - Tìm hiu cDch W dXng cDc 'oi c$m bi]n ( '<:
giD tr
digit@' .ho>c @n@'og/ 0à Rng dXng chUng trong 0ic t"t mJ (Fn
BC***
K$m bi]n Lp mch - KLc m B-d NO P5 - KLc dng B-d NO (in trJ NO
4P4TAB ~v - K$m bi]n
- aKK NO cLc dng `0 - P5 NO cLc m `0 - A0 DE Fng Ana+g t'ên
m*h A'du&n+ DE A0 - H NO c}ng igit@' trên mch Arduino NO
4P4TAB 2
Mã !p "#$nh %& gi'i "hích
int '-d N vY 88%h@i bDo bi]n '-d th@: cho V45 v int c@mbi-nA N AHY
88chn An@'og %]t ni c$m bi]n int c@mbi-n N 2Y 88chn igit@' %]t ni
c$m bi]n
0oid -tu#./ 7 #inMod-.'-d, 63TV3T/Y #inMod-.c@mbi-nA,
45V3T/Y #inMod-.c@mbi-n, 45V3T/Y =
K$m bi]n Mã !p "#$nh %& gi'i "hích
K$m bi]n Mã !p "#$nh %& gi'i "hích - K<u trUc hàm i .(iEu
%in/
i .biu thRc I toDn tW o Dnh biu thRc 2/ 7 cDc cu 'nh thLc
hin %hi (iEu %in (UngY = -'- 7 cDc cu 'nh thLc hin %hi (iEu
%in @iY =
- ToDn tW o Dnhl - 9ngl NN - qh&ng b9ngl N - 5h‚ hnl - BQn hnl
O
K$m bi]n Mã !p "#$nh %& gi'i "hích
+ng c K
+ng c K
Lp mch - 5i (ng c K 0ào cDc chn 63T A, , K, trên mch
c&ng u<t B2…w* - K<# ngun dng I20 0ào chn aKK, cLc m 0ào
chn
P5 0ào mch c&ng u<t B2…w* - 5i chn 45A, 45, 45K, 45 tng Rng
0ào cDc chn 4P4TAB 2, G, x, ` trên mch Arduino ( (iEu %hin chiEu
u@: (ng c*
+ng c K Mã !p "#$nh %& gi'i "hích
int 45A N 2Y 88%h@i bDo chn u$n 'z chn 45A p motor I int 45 N
GY 88%h@i bDo chn u$n 'z chn 45 p motor I int 45K N
xY 88%h@i bDo chn u$n 'z chn 45K p motor 2 int 45 N
`Y 88%h@i bDo chn u$n 'z chn 45 p motor 2 int C5A N
…Y 88chn V[M (iEu %hin tc ( motor I int C5 N IHY 88chn V[M
(iEu %hin tc ( motor 2
0oid -tu#./ 7 #inMod-.45A, 63TV3T/Y #inMod-.45,
63TV3T/Y #inMod-.45K, 63TV3T/Y #inMod-.45, 63TV3T/Y
#inMod-.C5A, 63TV3T/Y #inMod-.C5, 63TV3T/Y =
+ng c K Mã !p "#$nh %& gi'i "hích
0oid Ti-n./ 7 @n@'og[rit-.C5A, I2/Y 88(iEu %hin tc ( motor I
@n@'og[rit-.C5, I2/Y 88(iEu %hin tc ( motor 2
digit@'[rit-.45A, \4P\/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45K, \4P\/Y 88(iEu %hin chiEu u@: motor 2
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor 2 =
+ng c K Mã !p "#$nh %& gi'i "hích
0oid Bui./ 7 @n@'og[rit-.C5A, I2/Y 88(iEu %hin tc ( motor I
@n@'og[rit-.C5, I2/Y 88(iEu %hin tc ( motor 2
digit@'[rit-.45A, B6[/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45, \4P\/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45K, B6[/Y 88(iEu %hin chiEu u@: motor 2
digit@'[rit-.45, \4P\/Y 88(iEu %hin chiEu u@: motor 2 =
+ng c K Mã !p "#$nh %& gi'i "hích
0oid Tr@i./ 7 @n@'og[rit-.C5A, H/Y 88(iEu %hin tc ( motor I
@n@'og[rit-.C5, 2``/Y 88(iEu %hin tc ( motor 2
digit@'[rit-.45A, \4P\/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45K, \4P\/Y 88(iEu %hin chiEu u@: motor 2
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor 2 =
+ng c K Mã !p "#$nh %& gi'i "hích
0oid Vh@i./ 7 @n@'og[rit-.C5A, 2``/Y 88(iEu %hin tc ( motor I
@n@'og[rit-.C5, H/Y 88(iEu %hin tc ( motor 2
digit@'[rit-.45A, \4P\/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor I
digit@'[rit-.45K, \4P\/Y 88(iEu %hin chiEu u@: motor 2
digit@'[rit-.45, B6[/Y 88(iEu %hin chiEu u@: motor 2 =
Mã !p "#$nh %& gi'i "hích
int do@ng N HY 88%h@i bDo bi]n u$n 'z ( Dng (Fn BC int gi@tri N
`Y
0oid 'oo#./ 7 @n@'og[rit-.'-d, do@ng/Y 88u<t giD tr ( Dng
(Fn BC
do@ng N do@ng y gi@triY 88 th@: (}i giD tr Dng 'ên `