33
LẬP TRÌNH ARDUINO

Lap Trinh Arduino

Embed Size (px)

DESCRIPTION

arduino

Citation preview

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 `