HiӋn nay bӝ kit $UGXLQR ÿѭӧc sӱ dөng phә biӃn, bӣi nó ÿiSӭQJÿѭӧc hҫu hӃt các nhu cҫu cӫDVLQKYLrQQKѭWKDRWiFQKDQKKѫQPҥQKKѫQKӛ trӧ nhiӅXWKѭYLӋn FKR QJѭӡi dùng, dӉ GjQJ PXD ÿѭӧc trên thӏ WUѭ
Trang 1ĈҤI HӐ&Ĉ¬1ҸNG 75ѬӠ1*ĈҤI HӐ&6Ѭ3+ҤM
KHOA VҰT LÝ
THIӂT Kӂ BӜ KIT THӴC HÀNH ARDUINO
ӬNG DӨ1*Ĉ, ӄU KHIӆN THIӂT Bӎ , GIAO TIӂP
VӞI CÁC CҦM BIӂN THÔNG DӨNG
VÀ TRUYӄN THÔNG VӞI MÁY TÍNH
Trang 2ĈҤI HӐ&Ĉ¬1ҸNG 75ѬӠ1*ĈҤI HӐ&6Ѭ3+ҤM
KHOA VҰT LÝ
THIӂT Kӂ BӜ KIT THӴC HÀNH ARDUINO ӬNG DӨ1*Ĉ, ӄU KHIӆN THIӂT Bӎ , GIAO TIӂP
VӞI CÁC CҦM BIӂN THÔNG DӨNG
VÀ TRUYӄN THÔNG VӞI MÁY TÍNH
Chuyên ngành: Vұ t lý hӑ c Khóa hӑ c: 2014-1018
1Jѭ ӡLKѭ ӟng dүn: TS Cao Xuân Hӳu
Trang 3LӠI CҦ0Ѫ1
Khóa luұn này ÿmÿѭӧc hoàn thành nhӡ nhұQÿѭӧc rҩt nhiӅu sӵ JL~Sÿӥ và hӛ trӧ
tӯ nhiӅu phía LӡL ÿҫu tiên em xin gӣi lӡi cҧP ѫQ FKkQ WKjQK ÿӃn quý Thҫy, Cô, Nhà
WUѭӡQJÿmWҥRÿLӅu kiӋQYjP{LWUѭӡQJÿӇ em hӑc tұp và làm viӋc trong suӕt thӡi gian hӑc
tұp ӣ giҧQJÿѭӡQJĈҥi hӑF6ѭ3Kҥm-Ĉҥi hӑFĈj1ҹng
CҧPѫQFiF 7Kҫy, các Cô trong khoa Vұt lý cӫD WUѭӡQJÿm GjQK KӃt tâm huyӃt,
lòng nhiӋt thành cӫDPuQKÿӇ truyӅQÿҥt kiӃn thӭc và kinh nghiӋm quý báu cho không chӍ
riêng em mà rҩt nhiӅu sinh viên trong suӕt thӡi gian hӑc tұp tҥLWUѭӡng
Vӟi lòng biӃWѫQVkXVҳc nhҩt, em xin gӣLÿӃn Thҫy Cao Xuân HӳXÿm trӵc tiӃp
Kѭӟng dүn, truyӅQÿҥt nhӳng kiӃn thӭc chuyên môn, nhiӋWWuQKJL~Sÿӥ em hoàn thành
khóa luұn này
Lӡi cҧPѫQFXӕi cùng không thӇ không kӇ ÿӃQJLDÿuQK*LDÿuQKOjQJXӗQÿӝng
lӵc lӟQODRÿmWҥo mӑLÿLӅu kiӋn tӕt nhҩWÿӇ em có thӇ hoàn thành tӕt khóa luұn
Mһc dù khóa luұQÿmKRjQWKjQKYӟi sӵ cӕ gҳng và nӛ lӵc hӃt mình cӫa bҧn thân,
WX\QKLrQFNJQJNK{QJWUiQKNKӓi nhӳng thiӃu sót Em rҩt mong nhұQÿѭӧc nhӳng ý kiӃn
ÿyQJJySWӯ quý Thҫy, Cô và các bҥQÿӇ ÿӅ tài này hoàn thiӋQKѫQ
Em xin chân thành cҧPѫQ
Sinh viên thӵ c hiӋ n
Lê Thӏ Mӻ Hҥnh
Trang 4MӨC LӨC LӠI CҦ0Ѫ1 «««I
MӨC LӨC II
DANH MӨC KÝ HIӊU VÀ CӨM TӮ VIӂT TҲT V
DANH MӨC BҦNG BIӆU, DANH MӨC HÌNH VI
1 Lý do chӑQÿӅ tài 1
2 Mөc tiêu nghiên cӭu 1
3 NhiӋm vө nghiên cӭu 2
4 ĈӕLWѭӧng và phҥm vi nghiên cӭu 2
5 3KѭѫQJSKiSQJKLrQFӭu 2
&+ѬѪ1**,ӞI THIӊU TӘNG QUAN Vӄ BӜ KIT ARDUINO VÀ PHҪN MӄM LABVIEW 3
1.1 Tәng quan vӅ bӝ kit Arduino 3
1.1.1 Thành phҫn cӫa board Arduino Mega 2560«««««««««««««3 1.1.2 7K{QJVӕNӻWKXұW 4
1.1.3 &KLWLӃWYӅERDUGPҥFK 5
1.1.4 ChӭFQăQJFӫa mӛi khӕi: 6
1.1.5 &KѭѫQJWUuQKFѫEҧn cӫa Arduino 8
1.2 Tәng quan vӅ phҫn mӅm LabView 9
1.2.1 &KӭFQăQJFKtQKFӫDSKҫQPӅP/DE9,(: 9
1.2.2 1KӳQJNKiLQLӋPFѫEҧQÿѭӧFVӱGөQJWURQJSKҫQPӅP/DE9,(: 9
1.2.3 &iFNӻWKXұWOұSWUuQKWUrQ/DE9,(: 11
1.2.4 ChӭFQăQJFӫa tӯng khӕi 15
1.3 TruyӅn thông vӟi máy tính thông qua firmware Linx và phҫn mӅm LabVIEW 18 1.3.1 Nhân LIFA 18
1.3.2 Nhân LINX 20
&+ѬѪ1*0Ӝ76Ӕ%¬,7+Ë1*+,ӊ07+,ӂ7.ӂ75Ç1%Ӝ.,7$5'8,12 6Ӱ'Ө1*&È&&Ҧ0%,ӂ17+Ð1*'Ө1* 25
9¬758<ӄ17+Ð1*9Ӟ,0È<7Ë1+ 25
2.1 6ѫOѭӧc vӅ các linh kiӋQÿLӋn tӱ 25
2.1.1 ĈLӋn trӣ WKѭӡng) 25
2.1.2 /('VLrXViQJPP/('ÿѫQ 25
2.1.3 Nút nhҩn (Botton) 26
Trang 52.1.4 Tө gӕm 26
2.1.5 LCD 20x4 27
2.1.6 Cҧm biӃn DHT 21 (AM2301) 27
2.1.7 Cҧm biӃn siêu âm HY-65)ÿRNKRҧng cách) 28
2.1.8 PIR sensor alarm Cҧm biӃn phát hiӋn chuyӇQÿӝng 29
2.1.9 0RGXOHFҧPELӃQPѭD 30
2.1.10 Cҧm biӃQGzOLQHÿѫQ7&57 32
2.1.11 0RGXOHÿRWKӡLJLDQWKӵF5HDOWLPH-clock) DS3231 33
2.2 0ӝWVӕEjLWKtQJKLӋPWKӵFKLӋQ WUrQEӝNLW$UGXLQR 34
2.2.1 &KѭѫQJWUuQK/('QKҩp nháy theo yêu cҫu 34
2.2.2 &KѭѫQJWUuQKWKD\ÿәLÿӝ sáng cӫDÿqQ/(' 34
2.2.3 ĈiӅu khiӇn 8 LED bҵng 8 chân Digital cӫa Arduino 34
2.2.4 ;iFÿӏnh trҥng thái cӫa nút nhҩn 35
2.2.5 Dùng nút nhҩQÿӇ ÿLӅu khiӇn mӝWÿqQ/(' 36
2.2.6 ĈRNKRҧng cách trong không gian vӟi cҧm biӃn SRF05 36
2.2.7 Lұp trình Arduino vӟi cҧm biӃn phát hiӋn chuyӇQÿӝng PIR 38
2.2.8 Lұp trình Arduino vӟi cҧm biӃn PѭD 38
2.2.9 &KѭѫQJWUuQKSKiWKLӋn line trҳQJYjÿHQQKӡ cҧm biӃQGzOLQHÿѫQ TCRT5000 39
2.2.10 Xem thӡi gian bҵQJPRGXOHÿRWKӡi gian thӵc DS3231 40
2.2.11 &KѭѫQJWUuQKJLiPViWQKLӋWÿӝÿӝ ҭPP{LWUѭӡng sӱ dөng cҧm biӃn DHT 21 (AM2301) 43
2.3 Các bài thí nghiӋm giao tiӃp giӳa Arduino và LabVIEW thông qua nhân LINX 45 2.3.1 Ví dө vӅ FKѭѫQJWUuQKJLDRWLӃp vӟi cҧm biӃn nhiӋWÿӝ và truyӅn vӅ máy tính 45 &KѭѫQJWUuQKÿRQKLӋWÿӝ P{LWUѭӡng hiӇn thӏ trên LCD 47
&+ѬѪ1*3: BÀI THÍ NGHIӊ0Ĉ,ӄU KHIӆ1ĈӜ1*&Ѫ*,$27,ӂP CҦM BIӂN VÀ TRUYӄN THÔNG VӞI MÁY TÍNH 50
3.1 Giӟi thiӋXVѫOѭӧc vӅ bӝ ÿLӅu khiӇn 50
3.2 Giӟi thiӋu các linh kiӋn sӱ dөng trong bӝ ÿLӅu khiӇn 50
ĈӝQJFѫ'&9 50
Trang 63.2.5 Cҧm biӃQÿRQKLӋWÿӝ DS18B20 (-&ÿӃn +125°C) 55
3.3 Nguyên lý hoҥWÿӝng cӫa bӝ ÿLӅu khiӇn tӕFÿӝ ÿӝQJFѫ 56
6ѫÿӗ khӕi toàn mҥch: 57
6ѫÿӗ nguyên lý cӫa toàn mҥch 58
3.5.1 KhӕLÿLӅu khiӇn trung tâm 59
3.5.2 KhӕLÿLӅu khiӇQÿӝQJFѫ 59
ĈӝQJFѫYjPi\SKiW 59
3.5.4 Khӕi nguӗn 59
3.5.5 Khӕi hiӇn thӏ 59
3.5.6 Khӕi phím nhҩn 59
3.5.7 Các cҧm biӃn 60
3.6 Công thӭFWtQKÿLӋn áp 60
3.7&RGHFKѭѫQJWUuQKWUrQ$UGXLQR 61
3.8 Code trên LabView 64
KӂT LUҰN VÀ KIӂN NGHӎ 66
1.KӃt luұn 66
2.KiӃn nghӏ 66
TÀI LIӊU THAM KHҦO 67
Trang 7DANH MӨC KÝ HIӊU VÀ CӨM TӮ VIӂT TҲT
- AC: Alternating Current
- DC: Direct Curent
- FTDI: Future Devices International
- EEPROM: Electrically Erasable Programmable Read-Only Memory
- IC: Integrated Circuit
- IDE: Integrated Development Environment
- IOT: Internet Of Things
- LABVIEW: Laboratory Virtual Instrumentation Engineering Workbench
- LCD: Liquid Crystal Display
- LED: Light Emitting Diode
- PCI: Peripheral Component Interconnect
- PID: Proportional Integral Derivative
- PIR: Passive Infraded Sensor
- RPM: Rounds-Per-Minute
- PWM: Pulse Width Modulation
- RAM: Random Acces Memory
- ROM: Read Only Memory
- RPM: Rounds-Per-Minute
- RX: receive
- SPI: Serial Peripheral Bus
- SRAM: Static Random Access Memory
- TTL: Transistor Transistor Logic
- TWI: Two Wire Interface
- UART : Universal Asynchronous Receiver ± Transmitter
- USB: Universal Serial Bus
- VIPM: VI Package Manager
Trang 8DANH MӨC BҦNG BIӆU, DANH MӨC HÌNH
Hình 1.2: Chi ti͇ t board m̩ ch
Hình 1.3: Giao di͏ n Front Panel cͯ a ph̯ n m͉ m LabVIEW
Hình 1.4: Block Diagram cͯ a ph̯ n m͉ m LabVIEW
Hình 1.5: Controls palette
Hình 1.6: Các phép toán logic
Hình 1.7: Bi͋ u di͍ QFiFSKpSWRiQF˯E ̫n ͧ giao di͏ n Block Diagram
Hình 1.8: Bi͍ u di͍ QFiFSKpSWRiQW˱˯QJ ͱng trên giao di͏ n Front Panel
Hình 1.9: Các kh͙ LF˯E ̫n trong LabVIEW
+uQK&iFFKkQF˯E ̫n cͯa kh͙i Init
Hình 1.16: Các thông s͙ c̯ n ch͕ QNKLFjLÿ ̿t nhân LINX
Hình 1.17: Bài t̵ p ví dͭ t ÿL ͉ u khi͋ n nh̭ p nháy LED
Hình 1.19: K͇ t qu̫ WKXÿ˱ ͫc khi thc hi͏ QFK˱˯QJWUuQK hàm tùy bi͇ n
Hình 2.7: M̿ WWU˱ ͣc và m̿t sau cͯa c̫m bi͇n DHT21
+uQK6˯ÿ ͛ n͙i chân cͯa c̫m bi͇ n
Hình 2.9: M̿ WWU˱ ͣc và m̿t sau cͯa c̫m bi͇ n HY-SRF05
Trang 9+uQK6˯ÿ ͛ chân cͯa c̫m bi͇n PIR
+uQK0̿WWU˱ͣFYjP̿WVDXFͯDF̫PEL͇QK͛QJQJR̩L7&57 Hình 2.14: 0̿WWU˱ͣFYjP̿WVDXFͯDPRGXOH'6
+uQK0RGXOH'6NKLO̷SSLQYjR
Hình 2.16: K͇ t qu̫ các tr̩ ng thái cͯ a nút nh̭ n
Hình 2.17: K͇ t qu̫ JKLÿ˱ ͫc khi ÿo kho̫ng cách vͣi c̫m bi͇n SRF05
Hình 2.18: K͇ t qu̫ WKXÿ˱ ͫc khi s͵ dͭng c̫m bi͇ n phát hi͏ n chuy͋ Qÿ ͡ng PIR
Hình 2.19: K͇ t qu̫ WKXÿ˱ ͫc khi s͵ dͭng c̫m bi͇ QP˱D
Hình 2.10: K͇ t qu̫ WKXÿ˱ ͫFNKL[iFÿ ͓ nh b̹ ng c̫ m bi͇ QGzOLQHÿ˯Q
Hình 2.21: K͇ t qu̫ ÿRWK ͥi gian thc
Hình 2.22: K͇ t qu̫ FK˱˯QJWUuQKJLiPViWQKL ͏ Wÿ ͡ÿ ͡ ̱m tͳ P{LWU˱ ͥng thông qua c̫m
bi͇ Q'+7ÿ˱ ͫc hi͋n th͓ trên LCD 20x4
Hình 2.23: K͇ t qu̫ FK˱˯QJWUuQKÿ ͕c nhi͏ Wÿ ͡
Hình 2.24: K͇ t qu̫ FK˱˯QJWUuQKÿ ͕c nhi͏ Wÿ ͕ hi͋ n th͓ trên LCD
Hình 3.11: K͇ t qu̫ trên giao di͏ n Front Panel
Hình 3.12: K͇ t qu̫ WKXÿ˱ ͫc hi͋ n th͓ trên LCD
Trang 10MӢ ĈҪU
1 Lý do chӑ Qÿ Ӆ tài
Trong nӝi dung cӫa các hӑc phҫn thӵc tұSFKX\rQÿӅ, thӵc tұSFѫVӣ thuӝc khӕi
cӱ nhân ngành VұW Oê VLQK YLrQ WKѭӡng ÿѭӧc tiӃp cұn vӟi YL ÿLӅu khiӇn 8051 Tuy
nhiên, bӝ kit 8051 sӱ dөng chӫ yӃu là chip FNJ Fӫa atmel là 89C52 tӕF ÿӝ thҩp, khó
khăn trong giao tiӃp vӟi cҧm biӃn, máy tính Các board kit thӵc hành này WKѭӡQJÿҳt
và tӕn kém thӡi gian vì khi sinh viên muӕn tҥo ra mӝt ӭng dөQJQjRÿyWKuSKҧi làm
mҥch mӟi thì mӟi có thӇ sӱ dөQJÿѭӧc
HiӋn nay bӝ kit $UGXLQR ÿѭӧc sӱ dөng phә biӃn, bӣi nó ÿiSӭQJÿѭӧc hҫu hӃt
các nhu cҫu cӫDVLQKYLrQQKѭWKDRWiFQKDQKKѫQPҥQKKѫQKӛ trӧ nhiӅXWKѭYLӋn FKR QJѭӡi dùng, dӉ GjQJ PXD ÿѭӧc trên thӏ WUѭӡng, không cҫn phҧi làm mҥch nӃu
muӕn làm mӝt thí nghiӋPQjRÿy.Arduino là mӝt board mҥch vi xӱ lý, nhҵm xây dӵng
các ӭng dөQJWѭѫQJWiFYӟi nhau hoһc vӟLP{LWUѭӡQJÿѭӧc thuұn lӧLKѫQQyVӁ giúp
cho mӛi sinh viên dӉ dàng tҥo ra nhӳng thiӃt bӏ có khҧ QăQJ JLDR WLӃp vӟi máy tính,
truyӅn thông qua mҥng hay ӭng dөng làm các thiӃt bӏ IOT
Ngoài ra, vӟi nhân firmware Linx và phҫn mӅm Labview, ta có thӇ dӉ dàng
truyӅn thông Arduino vӟi máy tính thông qua cәng USB, thay thӃ ÿѭӧc cho các card
ÿLӅu khiӇn logic phӭc tҥp khi muӕQÿLӅu khiӇn thiӃt bӏ bҵng máy tính
NӃu có 1 bӝ YL ÿLӅu khiӇn Arduino và các cҧm biӃn, ta có thӇ thiӃt kӃ các bài
Kѭӟng dүQÿӇ ÿӑFÿѭӧc các cҧm biӃQÿyUӗi giao tiӃp vӟi máy tính hoһFÿLӅu khiӇn qua
mҥng« Arduino sӁ giúp cho sinh viên dӉ dàng tiӃp cұn và có thӇ tӵ PuQKOjPÿѭӧc
Vӟi nhӳng lí do trên, khóa luұn này ÿѭӧc thӵc hiӋn ÿӇ thi͇ t k͇ và K˱ ͣng d̳n
2 Mөc tiêu nghiên cӭu
Vӟi mөFÿtFKWҥo ra các bài thí nghiӋm ghép nӕi, giao tiӃp thiӃt bӏ và ÿLӅu khiӇn
tӵ ÿӝng KyDWURQJFiFSKpSÿRYұt lý sӱ dөng kit Arduino, nghiên cӭXQj\ÿһt ra mөc
tiêu: ThiӃt kӃ, chӃ tҥo và chҥy demo bӝ thí nghiӋm dӵa trên bӝ kit Arduino nhҵm mô
phӓng viӋF ÿLӅu khiӇn các thiӃt bӏ, giao tiӃp vӟi các cҧm biӃn thông dөng và truyӅn
thông vӟi máy tính
Trang 113 NhiӋ m vө nghiên cӭu
- Nghiên cӭu bӝ vi xӱ lí và kit Arduino
- Nghiên cӭu lұp trình trên bӝ kit Arduino và các ӭng dөng cӫa nó
- Nghiên cӭu nhân firmware LINX trên Arduino và phҫn mӅm Labview trên máy
WtQKÿӇ giao tiӃp Arduino vӟi máy tính
- ThiӃt kӃ bӝ thí nghiӋm dùng bӝ kit Arduino ӭng dөQJÿӇ ÿLӅu khiӇn các thiӃt bӏ,
cҧm biӃn
- Thӵc nghiӋm trên mô hình bӝ kit cө thӇ
4 Ĉӕ LWѭ ӧng và phҥm vi nghiên cӭu
4.1 ĈӕLWѭ ӧng nghiên cӭu
Bӝ kit Arduino và cách thӭc giao tiӃp WURQJÿLӅu khiӇn thiӃt bӏ, các cҧm biӃn thông
dөng và truyӅn thông vӟi máy tính
4.2 Phҥ m vi nghiên cӭu
- Nghiên cӭu cách thӭc bӝ vi xӱ Oê $UGXLQR ÿLӅu khiӇn thiӃt bӏ, giao tiӃp cҧm
biӃn và truyӅn thông vӟi máy tính
- Nghiên cӭu thiӃt kӃ mô hình thí nghiӋm cө thӇ bao gӗm các linh kiӋQÿLӋn tӱ,
các cҧm biӃn thông dөQJQKѭ&ҧm biӃQGzQJÿLӋn, cҧm biӃn phát hiӋn chuyӇQÿӝng,
cҧm biӃn siêu âm, cҧm biӃQÿRQKLӋWÿӝ«KD\FiFPRGXOHÿLӅu khiӇn tӕFÿӝ ÿӝQJFѫPRGXOHÿRWKӡi gian thӵF« trên bӝ kit Arduino, hiӇn thӏ và giao tiӃp vӟi máy tính
5 3KѭѫQJSKiSQJKLrQF ӭu
- Nghiên cӭu và khҧo sát các tài liӋu vӅ nguyên lý hoҥWÿӝng và cách lұp trình bӝ
kit Arduino cùng vӟi các thiӃt bӏ kèm theo
- Nghiên cӭu thӵc nghiӋP SKѭѫQJ WKӭc truyӅn thông vӟi máy tính thông qua
phҫn mӅm LabView và các nhân firmware
Trang 12&+ѬѪ1* : GIӞI THIӊU TӘNG QUAN Vӄ BӜ KIT
ARDUINO VÀ PHҪN MӄM LABVIEW
1.1 Tә ng quan vӅ bӝ kit Arduino
Arduino là mӝt board mҥch vi xӱ lý, nhҵm xây dӵng các ӭng dөQJWѭѫQJWiF
vӟi nhau hoһc vӟLP{LWUѭӡQJÿѭӧc thuұn lӧi KѫQ 1yLU}KѫQ$UGXLQRlà mӝt board
mҥch vi xӱ Oê ÿѭӧFGQJÿӇ lұSWUuQKWѭѫQJWiFYӟi các thiӃt bӏ phҫn cӭQJQKѭFҧm
biӃQÿӝQJFѫÿqQYj các thiӃt bӏ khác
Phҫn cӭng bao gӗm mӝt board mҥch nguӗn mӣ ÿѭӧc thiӃt kӃ trên nӅn tҧng vi
xӱ lý AVR Atmel 8bit, hoһc ARM Atmel 32-bit Nhӳng Model hiӋn tҥLÿѭӧc trang bӏ
gӗm 1 cәng giao tiӃS86%FKkQÿҫu vào analog, 14 chân I/O kӻ thuұt sӕ WѭѫQJWKtFK
vӟi nhiӅu board mӣ rӝng khác nhau
Ӣ ÿӅ tài khóa luұn này, em sӱ dөng board mҥch Arduino Mega2560 là mӝt vi
ÿLӅu khiӇn sӱ dөng dòng vi xӱ lý 8-bit mega AVR cӫa Atmel vӟi chip ATmega2560
1.1.1 Thành phҫ n cӫa board Arduino Mega 2560
$UGXLQR 0HJDOjERDUG PҥFK YLÿLӅXNKLӇQ[k\ GӵQJ GӵDWUrQ$WPHJD
x QJҳWQJRjLFKkQ 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5),
chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2)
x FKkQYjRDQDORJWӯ$ÿӃQ$
x FәQJ6HULDOJLDRWLӃSYӟLSKҫQFӭQJ
Trang 13&Ә1*6(5,$/ CHÂN RX CHÂN TX
1.1.2 7K{QJVӕNӻWKXұW
ĈLӋn áp hoҥWÿӝng 5V
ĈLӋQiSÿҫXYjRÿѭӧFÿӅ nghӏ) 7-12V
ĈLӋQiSÿҫu vào (giӟi hҥn) 6-20V
Sӕ Oѭӧng chân I / O WURQJÿyFyFXQJFҩp sҧQOѭӧng PWM)
Sӕ Oѭӧng chân Input Analog 16
Trang 141.1.3 &KLWLӃWYӅERDUGPҥFK
Hình 1.10̿WWU˱ͣFYjP̿WVDXFͯD ERDUGP̩FK$UGXLQR
Hình 1.2a
Trang 15Hình 1.2b Hình 1.2: Chi ti͇ t board m̩ ch
1.1.4 ChӭFQăQJ cӫa mӛ i khӕ i:
Các dòng vi xӱ lý này cho phép lұp trình các ӭng dөQJÿLӅu khiӇn phӭc tҥp do
ÿѭӧc trang bӏ cҩu hình mҥnh vӟi các loҥi bӝ nhӟ ROM, RAM và Flash, các ngõ vào ra
GLJLWDO,2WURQJÿyFyQKLӅu ngõ có khҧ QăQJ[Xҩt tín hiӋX3:0FiFQJ}ÿӑc tín hiӋu
analog và các chuҭn giao tiӃSÿDGҥQJQKѭ8$5763,7:,,&
1.1.4.1 Ĉӑ c tín hiӋ u cҧ m biӃ n cә ng vào
GQJFyWKӇÿӑFQKLӅXORҥLFҧPELӃQ QKѭQKLӋWÿӝiSVXҩWÿӝҭPiQKViQJ«
Trang 16KLӋXÿLӅXFKӃ[XQJ3:0ĈӝSKkQJLҧLFӫDFiFWtQKLӋX3:0Qj\Oj-bit 6ӕOѭӧQJ
FәQJ3:0ÿӕLYӟLFiFERard GQJ$WPHJDOj3:0FyQKLӅXӭQJGөQJWURQJ
YLӉQWK{QJ[ӱOêkPWKDQKKRһFÿLӅXNKLӇQÿӝQJFѫ
1.1.4.3 Chuҭ n Giao tiӃ p
1.1.4.3.1 Serial
Ĉk\ Oj FKXҭQ JLDR WLӃS QӕL WLӃS ÿѭӧF GQJ UҩW SKә ELӃQ WUrQ FiF ERard PҥFK
$UGXLQR0ӛLERard FyWUDQJEӏPӝWVӕFәQJ6HULDOFӭQJYLӋFJLDRWLӃSGRSKҫQFӭQJ
WURQJFKLSWKӵFKLӋQ %rQFҥQKÿyWҩWFҧFiFFәQJGLJLWDOFzQOҥLÿӅXFyWKӇWKӵFKLӋQJLDRWLӃSQӕLWLӃSEҵQJSKҫQPӅPFyWKѭYLӋQFKXҭQQJѭӡLGQJNK{QJFҫQSKҧLYLӃW
Trang 171.1.4.3.4 TWI (I2C)
Ĉk\ Oj PӝW FKXҭQ JLDR WLӃS ÿӗQJ Eӝ NKiF QKѭQJ EXV FKӍ Fy KDL Gk\ 9ӟL WtQK
QăQJQj\FiFERard $UGXLQRFyWKӇJLDRWLӃSYӟLPӝWVӕORҥLFҧPELӃQQKѭWKHUPRVWDW
FӫD &38WӕFÿӝTXҥWPӝWVӕ PjQKuQK 2/('/&' ÿӑF UHDO-WLPH FORFN FKӍQK kP
OѭӧQJFKRPӝWVӕORҥLORD«
1.1.4.3.5 0{LWUѭӡQJOұSWUuQKER ard PҥFK$UGXLQR
7KLӃWNӃERard PҥFKQKӓJӑQWUDQJEӏQKLӅXWtQKQăQJWK{QJGөQJPDQJOҥL
1.1.5 &KѭѫQJWUuQKFѫE ҧn cӫa Arduino
&KѭѫQJWUuQK$UGXLQRFyWKӇ ÿѭӧc chia làm 3 phҫn: cҩ u trúc (structure), biӃ n
sӕ (variable) và hҵ ng sӕ (constant), hàm và thӫ tөc (function)
0ӝWFKѭѫQJWUuQKFѫEҧQEDRJӗPKDLSKҫQFKtQKÿyOjsetup() và loop()
- setup() Oj QѫL EҥQ Fy WKӇ NKDL EiR FiF JLi WUӏ ELӃQ NKDL EiR WKѭ YLӋQ WKLӃW ÿһW
Trang 181.2.2.1 VI (Vitual Instrument) ± ThiӃ t bӏ ҧ o
LұSWUuQK/DE9,(:ÿѭӧc thӵc hiӋQWUrQFѫVӣ là các thiӃt bӏ ҧR9, &iFÿӕi
Wѭӧng tӓng các thiӃt bӏ ҧRÿѭӧc sӱ dөQJÿӇ mô phӓng các thiӃt bӏ thӵFQKѭQJFK~QJ
ÿѭӧc thêm vào bӣi phҫn mӅP&iF9,WѭѫQJWӵ QKѭFiFKjPWURQJOұp trình bҵng
ngôn ngӳ
1.2.2.2 Front Panel và Block Diagram
MӝWFKѭѫQJWUuQKWURQJ/DE9,(:Jӗm 2 phҫn chính: mӝt là giao diӋn vӟLQJѭӡi
sӱ dөng (Front Panel), hai là giao diӋn dҥQJVѫÿӗ khӕi cung cҩp mã nguӗn (Block
Diagram) và các biӇXWѭӧng kӃt nӕi (Icon/Connector)
* Front Panel
Front panel là mӝW panel tѭѫQJtӵ QKѭ panel cӫD WKLӃW Eӏ thӵc WӃ Ví dө các nút
bҩm, nút EұW các ÿӗ thӏ và các Eӝ ÿLӅX NKLӇQ 7ӯ Front Panel ngѭӡL dùng chҥy và
Trang 19quan sát kӃt quҧ có thӇ dùng chXӝW bàn phím ÿӇ ÿѭa Gӳ liӋu vào sau ÿy cho chѭѫQJ trình chҥy và quan sát Front Panel thѭӡQJ gӗm các bӝ ÿLӅX khiӇQ(Control) và các bӝ hiӇn WKӏ (Indicator)
Control là các ÿӕL tѭӧng ÿѭӧF ÿһt trên Front Panel ÿӇ cung cҩS Gӳ OLӋX cho chѭѫQJ trình Nó tѭѫng tӵQKѭ ÿҫX vào cung cҩS Gӳ OLӋX
Indicator là ÿӕL tѭӧQJ ÿѭӧF ÿһW trên Front Panel dùng ÿӇ hiӋQ WKӏ NӃW TXҧ nó
mӝt VI Các ÿӕL tѭӧQJ trên Front Panel ÿѭӧF WKӇ KLӋQ EҵQJ các thiӃt Eӏ ÿҫX cuӕLtrên Block Diagram, không thӇ loҥi Eӓ các tKLӃW Eӏ ÿҫX cXӕL trên Block Diagram Các WKLӃW bӏ ÿҫXFXӕL chӍ mҩW ÿL sau khi loҥi Eӓ ÿӕL tѭӧQJWѭѫQJ ӭng trên Front panel &ҩXtrúc cӫD mӝW Block Diagram Jӗm các thiӃW Eӏ ÿҫX cuӕL (Terminal), nút (Node) và các dây nӕi (wire)
Trang 20Hình 1.4: Block Diagram cͯ a ph̯ n m͉ m LabVIEW
1.2.2.3 Icon & Connector
Icon ELӇX tѭӧng): là biӇX tѭӧQJ FӫD VI, ÿѭӧF Vӱ GөQJ khi Wӯ PӝW VI muӕQ Vӱ
GөQJ chӭc Qăng cӫD PӝW VI khác Khi ÿy VI ÿy ÿѭӧF JӑL là SubVI, nó tѭѫQJÿѭѫQJ
QKѭ mӝt chѭѫQJ trình con trong các ngôn ngӳ khác
Connector (ÿҫX Qӕi): OjPӝW SKҫQ WӱFӫD Terminal dùng ÿӇnӕL các ÿҫu vào và
ÿҫX ra FӫD các VI vӟi nhau khi Vӱ dөng 0ӛL9, có mӝW Icon mһc ÿӏnh KLӇQ WKӏWURQJEҧQJ Icon ӣ góc trên bên phҧL cӱa Vә Front Palette và Block Diagram
Khi các VI ÿѭӧF phân cҩS và module hóa thì ta có thӇ dùng chúng QKѭ các
chѭѫQJ trình con Do ÿy ÿӇ xây dӵng mӝW VI ta có thӇ chia thành nhiӅX VI thӵFKLӋQcác cKӭc QăQJ ÿѫn giҧQ và cuӕL cùng kӃW KӧS FK~QJOҥL vӟL nhau thành mӝWNKӕL ÿӇthӵc thi nKӳng công YLӋF FөWKӇ trong mӝt chѭѫQJ trình
1.2.3 &iFNӻWKXұWOұSWUuQKWUrQ/DE9,(:
Khác YӟL nKӳng ngôn QJӳ OұS trình khác, ngôn ngӳ OұS trình LabVIEW ngoài
nhӳng menu quen thuӝc JLӕQJ QKѭ nhӳng ngôn ngӳ khác LabVIEW còn sӱ dөng
các EҧQJ Tools Palette, Controls Palette, Function Palette, chính nhӳng EҧQJ này làm
cho LabVIEW khác vӟL các ngôn ngӳ sӱ GөQJ nhӳng câu lӋQK rѭӡP rà NKyQKӟ Các
Eҧng ÿy cung cҩSFiF chӭc QăQJ ÿӇ ngѭӡL Vӱ GөQJ có thӇ tҥR và thay ÿәLWUrQ Front
Panel và Block Diagram bҵng các biӇX tѭӧQJ các hình ҧQK trӵc quan giúp cho viӋF
Vӱ GөQJ trӣ nên GӉ dàng, linh ÿӝng KѫQ
Trang 211.2.3.1 Tool palette
Tool Panel xuҩWKLӋQWrên cҧ Font Panel và Block Diagram BҧQJ này cho phép
ngѭӡL Vӱ Gөng có thӇ xác OұS các chӃ ÿӝ làm viӋF ÿһF ELӋW cӫD con trӓ FKXӝW Khi
lӵa FKӑQ mӝW công cө ELӇXWѭӧQJ FӫDFRQWrӓ VӁ ÿѭӧF thay ÿәi theo biӇXWѭӧQJ FӫDF{QJ Fө ÿó NӃX tKLӃW OұS FKӃ ÿӝ Wӵ ÿӝQJ Oӵa FKӑQ F{ng cө và nJѭӡL Vӱ GөQJ GLchuyӇQ FRQWUӓ qua các ÿӕL tѭӧQJ trên Front Panel hoһF Block Diagram, LabVIE:VӁ
WӵÿӝQJ lӵa chӑn công Fө phù KӧS trên bҧng Tool Palette
1.2.3.2 Controls Palette (bҧQJ ÿiӅX khiӇ n)
%ҧQJ ÿLӅXkhiӇQ FKӍ duy nhҩW[XҩWKiӋQWUrQ)ront panel Bҧng ÿLӅXkKLӇQ chӭa
các Eӝ ÿLӅX khiӇQ (control) và các bӝ hiӇn WKӏ ,QGLFDWRU %ҧQJ ÿiӅX NKLӇQ ÿҫy ÿӫ
ÿѭӧF minh hӑD QKѭ hình ErQ ÿѭӟL ĈӇ mӣ Eҧng controls palette ta vào menu View,
FKӑQ controls palette
%ҧQJ ÿLӅu khiӇQ ÿѭӧc Vӱ GөQJ ÿӇ ngѭӡL Vӱ dөQJ thiӃt NӃ cҩu trúc mһW KLӇQ thӏ
gӗm các WKLӃW bӏ ví Gө các công tҳF các loҥL ÿèn, các loҥL màn hình hiӇQ WKӏ« VӟLEҧQJ ÿLӅX khiӇn này, ngѭӡL Vӱ Gөng có thӇ chӑQ các bӝ thiӃt Eӏ chuҭn do hãng sҧn
[XҩWFXQJ cҩSYt dө công WҳF nhѭng FNJQJ có thӇ FKӑQ các WKLӃWbӏ do ngѭӡL Vӱ GөQJWӵxây dӵng BҧQJ ÿLӅX NKLӇQ dùng ÿӇ cung FҩSGӳ OLӋX ÿҫXYjRYj hiӇQWKӏ NӃW TXҧÿҫX
ra
+uQKGѭӟLÿk\OjPӝWVӕEӝÿLӅXNKLӇQÿLӇQKuQKFӫD/DE9,(:
* Numeric controls / Indicators
%ӝ công cө này dùng ÿӇ KLӋQ thӏ và ÿiӅX khiӇn Gӳ OLӋX dҥQJ sӕ trong chѭѫQJ
trình LabVIEW
* Boollean controls /Indicators
%ӝ công cө này cung cҩS hai giá trӏ là True và False Khi tKӵc KLӋQ chѭѫQJtrình
ngѭӡL Vӱ GөQJ Vӱ GөQJ chuӝW ÿӇ ÿiӅX khiӇQ giá WUӏ FӫD thiӃt bӏ 9LӋF thay ÿәLJLi WUӏFӫD các thiӃW Eӏ FKӍ có tác dөQJ khi các thiӃW Eӏ ÿy ÿѭӧF [iF lұS ӣ FKӃ ÿӝ là các
Control Còn nӃX ӣ FKӃ ÿӝ là các Indicator thì giá trӏ không thay ÿәL vì chúnJFKӍ là
các thiӃW bӏ hiӇn tKӏ
Trang 22Hình 1.5: Controls palette
* String & Path
Các ÿLӅX khiӇQ này dùng ÿӇ QKұS và hiӇQ WKӏ các ký tӵ, nó FNJQJ có thӇ ÿѭӧc
xác OұS ӣ cKӃ ÿӝ ÿҫu vào hay ÿҫX ra hoһc FKӍÿѭӡQJ GүQ ÿӃQ các file cҫQ KLӇQ WKӏ
1.2.3.3 Function palette
%ҧQJ Functions Palette chӍ [XҩW hiӋQ trên Block Diagram Bҧng này chӭa các VI
và các hàm mà ngѭӡL Vӱ GөQJ WKLӃt NӃ ÿӇ WҥR dӵng nên các khӕL lѭu ÿӗ 9ӟL EҧQJFunction Palette, ngѭӡL OұS trình tKӵc hiӋQ các lӋQK khác nhau bҵQJ các lѭXÿӗ nhѭ:
các phép tính sӕ KӑF các biӇu tKӭc toán hӑF các vòng lһS phép lӵa FKӑQWK{QJ qua các nhóm hàm, chӭc QăQJ ÿm ÿѭӧc cung cҩS bên cҥnh ÿó bҧQJ này FyWKӇ WҥR ra và
sӱ dөQJ lҥL các hàm, chӭc Qăng mà ngѭӡL Vӱ dөng tӵ xây Gӵng Các hàm toán hӑF
ÿѭӧF minh hӑD thông qua các biӇX tѭӧQJKhi muӕQ lӵa FKӑQ thӵFKLӋQmӝW hàm nào
ÿy thì ngѭӡL Vӱ GөQJ chӑQ ELӇX tѭӧQJ WKӇ KLӋQ cho hàm ÿy và cyWKӇ kéo WKҧ ӣ bҩW kǤ
Yӏ trí nào trên Block Diagram sau ÿy xác ÿӏnh nhӳng ÿҫX vào và ÿҫX ra FҫQ thiӃW
1.2.3.4 Các kiӇ u dӳ liӋ u:
LabVIEW hӛ trӧ cho tҩW Fҧ các dҥng dӳ liӋu Các kiӇX Gӳ OLӋX dҥQJ Boolean,
bytes, string, array, file, text, cluster và dҥQJ sӕ có thӇ ÿѭӧF chuyӇn ÿәL PӝW FiFKGӉdàng sang các dҥng cҩX trúc
Trang 231.2.3.5 Các phép toán trog LabVIEW
LabVIEW là mӝWP{LWUѭӡng lұp trình cӵc kǤ ÿDGҥng cho phép ta có thӇ thӵc
thi gҫQQKѭEҩt cӭ phép toán, thuұt toán nào vӟi rҩt nhiӅu kiӇu biӃn
x&iFSKpSWRiQFѫEҧn: C͡ ng, Trͳ , Nhân, Chia, C͡ ng 1, Trͳ %uQKSK˱˯QJĈ ̫o ḓ u, Hàm Random, D͓ ch bit, «
Trang 24Hình 1.7: Bi͋ u di͍ QFiFSKpSWRiQF˯E ̫n ͧ giao di͏ n Block Diagram
Hình 1.8: Bi͍ u di͍ QFiFSKpSWRiQW˱˯QJ ͱng trên giao di͏n Front Panel
1.2.4 ChӭFQăQJF ӫa tӯng khӕi
Hình 1.9: Các kh͙ LF˯E ̫n trong LabVIEW
Trang 251.2.4.1 Khӕ i Init:
Hình 1.10&iFFKkQF˯E ̫n cͯa kh͙i Init
Khӕi Init có rҩt nhiӅu chân ra1KѭQJ ÿӇ thiӃt lұp cho viӋc kӃt nӕi ta chӍ quan tâm tӟi
o Chân Board Type OjFKkQÿӇ chӑn loҥL$UGXLQRÿӇ làm viӋc.Có 3 loҥ i Arduino
ÿѭ ӧc hӛ trӧ là: Uno, Mega 2560 và Dimuelanove/Atmega 328
o Chân Connection Type là chân lӵa chӑn kiӇu kӃt nӕi: qua USB, XBEE hoһ c
Bluetooth
o Chân Arduino Resource ÿӇ kӃt nӕi vӟi các khӕi khác
o Mӝt khӕLÿѭӧc chia làm 2 dãy chân dӳ liӋu: Các chân nҵm bên trái cӫa khӕi là
FiFFKkQÿѭDGӳ liӋu vào hoһc là các thiӃt lұSEDQÿҫu cӫa tín hiӋu Các chân bên
phҧLOjFiFFKkQÿѭDGӳ liӋu ra hoһc các thành phҫn cӫa tín hiӋXÿmWiFKÿѭӧc khi qua khӕi
o ĈӇ thiӃt lұp bҩt kǤ chân nào cӫa mӝt khӕLWDOjPQKѭVDX
+ ĈѭD FRQ WUӓ chuӝt tӟi chân cҫn thiӃt lұp sao cho con trӓ chuӝt trӣ thành
Wiring tool (hoһc có thӇ dùng Tool Palette)
+ Click Chuӝt phҧLVDXÿyWUӓ chuӝt vào Create chӑn kiӇu thiӃt lұp Có 3 kiӇ u
thiӃ t lұ p: Constant(hҵ ng sӕ &RQWUROÿL Ӆ u khiӇ n), Indicator(hiӇ n thӏ ) tùy vào
mөFÿtFKÿӇ lӵa chӑn phù hӧp
+ Chân Arduino Resource cӫa khӕi này nӕi vӟi chân Arduino Resource cӫa
Trang 27Bҵng phҫn mӅm LabVIEW, ta có thӇ dӉ dàng viӃt giao diӋn và truyӅn thông vӟi
board arduino thông qua 2 nhân LIFA (LabVIEW Interface for Arduino) hoһc LINX
1.3.1 Nhân LIFA
- Ĉk\ Oj Pӝt module trong gói phҫn mӅm mӣ rӝng VI Package Manager cӫa
LabVIEW Vӟi module này, ta có thӇ biӃn arduino thành mӝt I/O mӣ rӝng cӫa máy
tính
1.3.1.1 &jLÿ һt phҫn mӅm VIPM
- KLPi\WtQKÿmFjLVҹn phҫn mӅn LabVIEW, thì tiӃSVDXÿyWDFjLÿһt phҫn mӅm
VI Package Manager (VIPM) Ĉây là phҫn mӅm quҧQ Oê FNJQJ QKѭ JL~S FK~QJ WD
download các gói module VI cӫa LabVIEW
- 6DXNKLFjLÿһt xong ta vào VIPM và tìm giao diӋn Arduino cho LabVIEW vӟi tӯ
NKyD ³LabVIEW Interface for Arduino´ 6DX ÿy FjL ÿһt LabVIEW Interface for
Trang 28Hình 1.14: Giao di͏ n cͯ a ph̯ n m͉ m VIPM
1.3.1.2 'HPRÿL Ӆu khiӇ n LED trong Example làm ví dө
0ӣYtGө $UGXLQR%OLQN0YLWURQJWKѭPөFLabVIEW Interface for
x ĈqQEiR1JXӗn (Power LED)
Trang 291.3.1.3 KӃ t luұ n
Ta có thӇ thҩy vӟi nhân LIFA này, ta có thӇ giao tiӃp vӟi mӝt sӕ cҧm biӃn
thông dөng thông qua khӕLFKѭѫQJWUuQKFyVҹn trong LabView Toàn bӝ hoҥWÿӝng
cӫa AUGXLQR ÿӅXOjGRPi\WtQKÿLӅu khiӇn Hay nói cách khác, Arduino chӍ là mӝt
card mӣ rӝQJ,2FKRPi\WtQK'RÿyQKkQ/,)$Qj\FKѭDWұn dөQJÿѭӧc hӃt sӭc
mҥnh cӫa bӝ WKѭYLӋn riêng trên Arduino và Arduino chӍ có thӇ hoҥWÿӝQJNKLÿѭӧc
ÿLӅu khiӇn bҵng máy tính chӭ không chҥ\ÿӝc lұSQKѭPӝt realtime-WDUJHW'RÿyWD
sӁ NK{QJÿӅ cұSÿӃn nhân này
1.3.2 Nhân LINX
Ĉk\FNJQJOjPRGXOHPӣ rӝng cӫa LabView do bên thӭ ba là Digilent viӃt, dùng
ÿӇ giao tiӃp, truyӅn thông vӟi Arduino mӝt cách dӉ GjQJ1KѭQJYӟi nhân này, ta tұn
dөQJÿѭӧc các khӕi truyӅn thông có sҹn trên LabVLHZÿӇ truyӅn sӕ liӋXFNJQJQKѭÿLӅu
khiӇn arduino, mһt khác vүn có thӇ tùy chӍnh nhân LINX trên arduino bҵng cách lұp
trình bҵQJ FKѭѫQJ WUuQK $UGXLQR ,'( QKѭ WK{QJ WKѭӡQJ 'R ÿy WD Fy WKӇ tұn dөng
ÿѭӧc nguӗQWKѭYLӋn dӗi dào cӫa arduino, có thӇ làm Arduino này chҥ\ÿӝc lұp hoàn
WRjQYjFNJQJFyWKӇ giao tiӃp vӟi máy tính mӝt cách dӉ dàng
&iFKFjLPRGXOHQj\FNJQJWѭѫQJWӵ QKѭ/,)$7DFyWKӇ tҧi thông qua gói cài
ÿһt VI Package Manager
1.3.2.1 ĈӕLYӟLFiFӭQJGөQJFѫEҧQ
Vӟi các ӭng dөng không cҫQÿzLKӓi phҧi dùng vӟi các cҧm biӃn phӭc tҥp không
có trong khӕi lұp trình Labview, ta có thӇ lұp trình trӵc tiӃp trên Labview và nҥp nhân
firmware LINX gӕc xuӕng cho arduino
- 7Uѭӟc hӃt, ta nҥp nhân firmware LINX gӕc xuӕng cho arduino
- Mӣ phҫn mӅm Labview lên, chӑn Tool\Maker Hub\LINX\LINX Firmware
Wizard
Trang 30- Ta chӑn các thông sӕ QKѭVDXUӗi nhҩn tiӃp tөc
Hình 1.16: Các thông s͙ c̯ n ch͕ QNKLFjLÿ ̿t nhân LINX
- TiӃp tөc chӑn cәng Com kӃt nӕi vӟi arduino
- 7DÿӇ mһFÿӏQKQKѭKuQKUӗi chӑQ1H[WÿӇ nҥp firm ware này xuӕng arduino
Sau khi nҥp firmware xong, ta chӑQ/DXQFK([DPSOHÿӇ mӣ các bài tұp mүu
Hình 1.17: Bài t̵ p ví dͭ t ÿL ͉ u khi͋ n nh̭ p nháy LED
- Ta phҧi chӑn Serial Port:COM3, chӑn chân Digital Output Channel : 13
- Kích chuӝt vào nút màu xanh LED Control, nӃXQ~WÿyViQJWKu/('ViQJYjQJѭӧc lҥi Tӯ ÿyWDVӁ tӵ ÿLӅu khiӇn LED nhҩp nháy, sáng tҳWQKѭêPXӕn
Trang 31Hình 1.18ĈR ̩n code cͯDFK˱˯QJWUuQK0DQXDO%OLQN
1.3.2.2 Ĉӕ i vӟi các ӭng dөng nâng cao
Ĉӕi vӟi các ӭng dөng nâng cao, cҫn tұn dөQJWKѭYLӋn cӫa Arduino IDE ÿӇ giao
tiӃp vӟi các cҧm biӃn và truyӅn sӕ liӋu vӅWDOjPQKѭVDX
Mӣ FKѭѫQJWUuQKOұp trình Arduino IDE, mӣ WKѭYLӋQFӫD Arduino và chӑn file
Arduino_Mega_2560_Serial trong mөc LINX MӝWFKѭѫQJWUuQKPүu sӁ ÿѭѫF Pӣ ra
** For more information see: www.labviewmakerhub.com/linx
** For support visit the forums at: www.labviewmakerhub.com/forums/linx
Trang 32ĈӇ tùy biӃn, truyӅn sӕ liӋu vӅ, ta thêm các hàm vӟi cú pháp sau:
* Code trên Arduino
ĈtQKNqPWҩt cҧ FiFWKѭYLӋn ngoҥLYLÿѭӧc sӱ dөng bӣi LINX
// Vi͇ t code cho hàm tùy bi͇ n: myCustomCommand
int myCustomCommand(unsigned char numInputBytes, unsigned char* input, unsigned char* numResponseBytes, unsigned char* response)
//numInputBytes là s͙ byte truy͉ n tͳ máy tính xu͙ ng
//input là m̫ ng 1 chi͉ u chͱa các byte truy͉ n tͳ máy tính xu͙ ng
Trang 33//numResponseBytes là s͙ byte truy͉ n lên máy tính
//response là m̫ ng m͡ t chi͉ u truy͉ n lên máy tính
Hình 1.19: K͇ t qu̫ WKXÿ˱ ͫc khi thc hi͏ QFK˱˯QJWUuQK hàm tùy bi͇ n
* Code trên LabVIEW
Ta có thӇ ÿһt hàm giao tiӃp vӟi cҧm biӃQÿӇ ÿӑc giá trӏ ӣ vòng lһp loop()VDXÿy
Trang 34$5'8,126Ӱ'Ө1*&È&&Ҧ0%,ӂ17+Ð1*'Ө1*
9¬758<ӄ17+Ð1*9Ӟ,0È<7Ë1+
&KѭѫQJ Qj\ giӟi thiӋu mӝt sӕ bài thí nghiӋm cө thӇ cho bӝ kit Arduino, sӱ
dөng các cҧm biӃn thông dөng kӃt hӧSSKѭѫQJWKӭc truyӅn thông vӟi máy tính
Các bài thí nghiӋPGѭӟLÿk\Vӱ dөng mӝt sӕ cҧm biӃn thông dөQJKѭӟng dүn
viӋc xây dӵQJ FiF FKѭѫQJ WUuQK PӝW FiFK Fѫ Eҧn và cө thӇ GR ÿy VLQK YLrQ Fy WKӇ
nghiên cӭu và phát triӇQWKrPêWѭӣng cӫa mình cho viӋc thӵc hiӋn mӝt ӭng dөng thӵc
tiӉn trong viӋc nghiên cӭXFiFÿӅ tài vӅ ÿLӋn tӱ
2.1 6ѫOѭ ӧc vӅ các linh kiӋ QÿL Ӌ n tӱ
... xӱ lí kit Arduino- Nghiên cӭu lұp trình bӝ kit Arduino ӭng dөng cӫa
- Nghiên cӭu nhân firmware LINX Arduino phҫn mӅm Labview máy
WtQKÿӇ giao tiӃp Arduino vӟi máy tính
-... Tuy
nhiên, bӝ kit 8051 sӱ dөng chӫ yӃu chip FNJ Fӫa atmel 89C52 tӕF ÿӝ thҩp, khó
khăn giao tiӃp vӟi cҧm biӃn, máy tính Các board kit thӵc hành WKѭӡQJÿҳt
và tӕn thӡi gian sinh... thӵF« bӝ kit Arduino, hiӇn thӏ giao tiӃp vӟi máy tính
5 3KѭѫQJSKiSQJKLrQF ӭu
- Nghiên cӭu khҧo sát tài liӋu vӅ nguyên lý hoҥWÿӝng cách lұp trình bӝ
kit Arduino