BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM NGUYỄN NGỌC HUY ĐỒ ÁNTỐT NGHIỆP ĐẠI HỌC ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA BLUETOOTH TRÊ
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
NGUYỄN NGỌC HUY
ĐỒ ÁNTỐT NGHIỆP ĐẠI HỌC
ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA
BLUETOOTH TRÊN THIẾT BI ̣ ANDROID
NGÀNH: ĐIỆN TỬ –ĐIỆN TỬ TÀU BIỂN ; MÃ SỐ: D52027
CHUYÊN NGÀNH: ĐIỆN TỬ - VIỄN THÔNG
Người hướng dẫn: ThS VŨ VĂN RỰC
HẢI PHÒNG – 2015
Trang 2LỜI CẢM ƠN
Để có được một đề tài như mình mong muốn, có thể hoàn thành được đề tài
đó trong thơi gian quy định và đạt được một kết quả đề ra Việc đó không chỉ là
sự nỗ lực của bản thân mà còn có sự giúp đỡ , sự chỉ bảo nhiệt tình của các thầy
cô cùng những tham gia đó góp ý kiến của bạn bè Em xin chân thành cảm ơn :
Sự chỉ dẫn và góp ý chân thành của thầy Cám ơn thầy đã nhiệt tình cung cấp tài liệu, thông tin hướng dẫn và hỗ trợ kiểm tra, khắc phục các thông tin chưa chuẩn xác Các bạn sinh viên trong lớp đã giúp đỡ rất nhiều về mặt phương tiện, sách vở, ý kiến Do chư có nhiều kinh nghiêm và kiến thức chuyên môn còn kém nên trong quá trình làm đề tài sẽ có những sai sót nhất định Rất mong nhận được sự phê bình, góp ý, của quý thầy cô và các bạn sinh viên
Trang 3LỜI CAM ĐOAN
Em xin cam đoan :
1 Nhưng nội dung của đề tài trên là do em thực hiện dưới sự hướng dẫn trực tiếp của thầy Vũ Văn Rực
2 Mọi tài liệu tham khảo đề là có các trang web
3 Mọi sự sao chép không hợp lệ, vi phạm quy chế đào tạo hay giam tra em xin tự chụi hoàn toàn trách nhiệm
Sinh viện Nguyễn Ngọc Huy
Trang 4DANH MỤC BẢNG
Bảng 2.1: mô tả chức năng các chân của module: 8
Bảng 2.2: một số lệnh AT cho module Bluetooth HC-05 10
Bảng 2.3 Một số thông số của Arduino UNO 15
Bảng 2.4 Một số câu lệnh thường gặp 20
Trang 5DANH MỤC HÌNH
Hình 2.1: Modul Bluetooth HC-05 6
Hình 2.2: Sơ đồ chân modul Bluetooth HC-05 7
Hình 2.3: Các chân vào ra của Arduino Uno 15
Hình 2.4: File chạy phần mềm 17
Hình 2.5:Bốn lớp chính của hê ̣ điều hành Android 22
Hình 2.6: Activity Satck 24
Hình 2.7: Chu kỳ sống của Activity 25
Hình 2.8: Giao diê ̣n My Projects 28
Hình 2.9: Giao diện bên trong Projects 29
Hình 2.10: Các thành phần của thanh công cụ 29
Hình 3.1: Sơ đồ tổng quát hệ thống 32
Hình 3.2: Giao diê ̣n phần mềm điều khiển 34
Hình 3.3: Giao diê ̣n Hercules Setup Untility Serial 37
Hình 3.4: Kit ma ̣ch Arduino 38
Hình 3.5: Giao diê ̣n Disigner của đồ án 44
Trang 6MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN iii
DANH MỤC HÌNH i
LỜI NÓI ĐẦU 1
CHƯƠNG 1 : GIỚI THIỆU 2
1.1 LÝ DO CHỌN ĐỀ TÀI 2
1.2 MỤC ĐÍCH CỦA ĐỀ TÀI 2
1.3 ĐỐI TƯỢNG VÀ PH ẠM VI NGHIÊN CỨU 2
1.4 HƯỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN 2
1.5 TỔNG QUAN VỀ ĐỒ ÁN 3
CHƯƠNG 2 :TÌM HIỂU VỀ HỆ ĐIỀU HÀNH VÀ GIAO TIẾP NGOẠI VI 2.1 CÔNG NGHỆ KHÔNG DÂY BLUETOOTH 4
2.1.1 Khái niệm 4
2.1.2 Đặc điểm của công nghệ Bluetooth 4
2.1.3 Hoạt động Bluetooth HC 05 5
2.1.4 Vấn đề bảo mật trong công nghệ Bluetooth 5
2.1.5 Module Bluetooth HC-05 6
2.2 KIT MẠCH ARDUINO 11
2.2.1 Giới thiệu về Arduino 11
2.2.2 Phần cứng của Arduino UNO R3 12
2.2.3.Phần mềm lập trình cho Arduino 15
2.3 HỆ ĐIỀU HÀNH ANDROID 22
Trang 72.3.2 Chu kỳ ứng dụng trên andorid 23
CHƯƠNG 3 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 32
3.1 TỔNG QUÁT VỀ HÊ ̣ THỐNG 32
3.2 CÁC KHỐI TRONG HỆ THỐNG 33
3.2.1 Khối phát tín hiê ̣u 33
3.2.2 Khối thu tín hiê ̣u 36
3.2.3 Khối xỷ lý tín hiê ̣u 38
3.2.4 Khối thực hiê ̣n lê ̣nh 39
3.3 CHƯƠNG TRÌNH CHO ARDUINO VÀ ANDROID 42
3.3.1 Chương trình code Arduino 42
3.3.2 Chương trình cho Android 44
CHƯƠNG 4: KẾT QUẢ VÀ HƯƠNG PHÁT TRIỂN CỦA ĐỀ TÀI 46
4.1 ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN ĐỒ ÁN 46
4.2 KẾT QUẢ ĐẠT ĐƯỢC 46
4.3 NHƯỢC ĐIỂM 46
TÀI LIỆU THAM KHẢO 47
Trang 8LỜI NÓI ĐẦU
Ngày nay việc ứng dụng cho các hệ thống điều khiển tự đô ̣ng ngày càng trở nên phổ biến, từ những ứ ng dụng đơn giản như điều khiển một chốt đền giao thông định thời, đếm sản phẩm trong dây chuyền sản xuất, điều khiển động cơ điện một chiều, xoay chiều, … đến những ứng dụng phức tạp như điều khiển robot, hệ thống kiểm soát, các hệ thống tự động, các thiết bị máy móc tự động, Với mong muốn giới thiệu những ứng dụng cơ bản của hệ thống điều khiển tự đô ̣ng trong đời sống hiện đại và để mọi người biết đến ứng dụng cũng như tầm quan trọng của các hệ thống điều khiển tự đô ̣ng Em đã tìm hiểu và thực hiện đề tài “ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA BLUETOOTH TRÊN THIẾT BI ̣ ANDROID”
Trang 9CHƯƠNG 1 :GIỚI THIỆU
1.1 LÝ DO CHỌN ĐỀ TÀI
Trong những năm qua, khoa học máy tính và xử lý thông tin có những bước tiến vượt bậc và ngày càng phát triển mạnh Đặc biệt sự ra đời và phát triển nhanh chóng của kỹ thuật số đã làm cho ngành điện tử trở nên phong phú
và đa dạng hơn Đã góp phần rất lớn trong việc đưa kỹ thuật hiện đại vào mọi lĩnh vực của hoạt động sản xuất, kinh tế và đời sống xã hội.Từ những hệ thống máy tính lớn đến những hệ thống máy tính cá nhân, từ những việc điều khiển các máy công nghiệp đến các thiết bị phục vụ đời sống hằng ngày của con người Công nghệ số thực sự là một bước tiến lớn cho công nghệ hiện nay.Với mong muốn áp dụng công nghệ số vào thực tiễn Vì vậy em đã chọn đề tài :
“ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TRONG NHÀ TỪ XA QUA BLUETOOTH TRÊN THIẾT BI ̣ ANDROID”
1.2 MỤC ĐÍCH CỦA ĐỀ TÀI
Mục đích nghiên cứu của đề tài này là nghiên cứu họ vi điều khiển họ 8 bít AVR cụ thể là Atmega328 , phương pháp lập trình cho AVR bằng ngôn ngữ C trên trình biên dịch Codevison AVR, lập trình ứng dụng android dùng SDK, giao tiếp không dây Bluetooth…
1.3 ĐỐI TƯỢNG VÀ PH ẠM VI NGHIÊN CỨU
- Vi điều khiển sử dụng là AVR Atmega328, để nắm được cấu trúc phần cứng, lập trình phần mềm và ứng dụng vào thực tế
- Phần mềm điều khiển trên android
- Modul bluetooth HC-05
1.4 HƯỚNG NGHIÊN CỨU VÀ PHÁT TRIỂN
- Hiện nay trong thời kỳ kinh tế đang phát triển, đời sống được nâng cao Mọi người gần như ai cũng được sở hữu một chiếc điện thoại thông minh Mà điện thoại luôn ở bên cạnh chúng ta Vì vậy e có ý tưởng dùng chính chiếc điện
Trang 10thoại đó để có thể điều khiển các thiết bị điện trong nhà khi ta ngồi ở bất kì vị trí nào trong ngôi nhà
- Nắm bắt được cấu trúc phần cứng, sơ đồ khối, bố trí chân, tập lệnh điều khiển cho AVR ATMega328
- Tìm hiểu về lập trình phần mềm android giao tiếp Bluetooth
- Kết quả cuối cùng là điều khiển tắt mở bóng đèn và điều khiển tốc độ động cơ cũng như điều khiển độ sáng của đèn một các ổn định Bằng phần mềm Android trên điện thoại
1.5 TỔNG QUAN VỀ ĐỒ ÁN
Nội dung của đồ án được chia làm 4 phần chính
- Tìm hiểu về hệ điều hành và giao tiếp ngoại vi
- Tìm hiểu về kit Arduino
Trang 11CHƯƠNG 2 :TÌM HIỂU VỀ HỆ ĐIỀU HÀNH VÀ GIAO TIẾP NGOẠI VI
2.1 CÔNG NGHỆ KHÔNG DÂY BLUETOOTH
2.1.1 Khái niệm
Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà không cần cáp và dây dẫn Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn có đặc tính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn này đối cho sản phẩm của mình Những chỉ tiêu kỹ thuật này bảo đảm cho các thiết bị có thể nhận ra và tương tác với nhau khi sử dụng công nghệ Bluetooth Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị
có sử dụng công nghệ Bluetooth Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ khác Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền thông với các thiết bị khác với một khoảng cách nhất định về
cự ly để đảm bảo công suất cho việc phát và nhận sóng Công nghệ này thường được sử dụng để truyền thông giữa hai loại thiết bị khác nhau
2.1.2 Đặc điểm của công nghệ Bluetooth
a Ưu điểm
- Tiêu thụ năng lượng thấp, cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điện thoại di động
- Giá thành ngày một giảm
- Khoảng cách giao tiếp cho phép giữa hai thiết bị đầu cuối có thể lên đến 10m, khoảng cách giữa thiết bị đầu cuối có thể lên tới 100m
- Bluetooth sử dụng băng tần 2.4GHz Tốc độ truyền dữ liệu có thể đạt tới mức tới đa 1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau
- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua chuẩn Bluetooth profiles, do đó có thể độc lập về phần cứng cững như hệ điều hành sử dụng - Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ
Trang 12b Khuyết điểm
- Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác
- Tốc độ truyền không cao
2.1.3 Hoạt động Bluetooth HC 05
Bluetooth là thiết bi ̣ không dây cho phép các thiết bi ̣ điê ̣n và thiết bi ̣ điê ̣n tử, có thể giao tiếp với nhau băng sóng vô tuyến trong pha ̣m vi ngắn và trong băng tần từ 2,4 Ghz đến 2,485Ghz Bluetôth được thiết kế để hoa ̣t đô ̣ng trên 79tần số đơ lẻ khác nhau Sau khi đã kết nối , bluetooth sẽ tự tìm ra tần số tương thích với nó , sau đó nó sẽ di chuyển tới các thiết bi ̣ bluet ooth đó trong khoảng cách nhất định để việc kết nối không bị gián đoạn
Về khoảng cách giữ a các thiết bi ̣ có Bluetooth thì còn phụ thuô ̣c và công suất Gồm ba loa ̣i : Loại thứ nhất công suất 100mW thì sẽ phủ sóng được trong khoảng 100met Loai thứ hai với công suất 2.5mW thì tâm phủ sóng chỉ khoảng 10met Và loại cuối cùng 1mW chỉ có thế kết nối trong pha ̣m vi 5met
2.1.4 Vấn đề bảo mật trong công nghệ Bluetooth
a Bảo mật
Về tính bảo mâ ̣t thì bluetooth cũn g rất là quan tâm , vì nó cũng là một thiết
bị để truyền thông tin Để có thể an toàn thì khi các thiết bi ̣ bluetooth kết nối với nhau phải có mâ ̣t khẩu riêng , mà chỉ có các thiết bị được trao đổi biết mật khẩu này
Tùy thuô ̣c vào cấu mà công nghê ̣ Bluetooth , mà có thể có có chuỗi ký tự bảo mật ngắn hay là dài
b Các phương pháp bảo vệ
- Tắt bluetooth khi không dù ng
- Để chế độ bluetooth trong chế đô ̣ ẩn
- Sử dụng Bluetooth trong chế độ ẩn
Trang 132.1.5 Module Bluetooth HC-05
a Giới thiệu Module Bluetooth HC-05
Hình 2.1: Modul Bluetooth HC-05
Module Bluetooth HC-05 được thiết kế đễ sử dụng giao giao tiếp Bluetooth qua Serial Port, truyền dữ liệu nối tiếp qua wireless
Đặc điểm kỹ thuật:
- Chuẩn Bluetooth : V2.0+EDR - Điện áp hoạt động : 3,3VDC/ 30mA
- Chế độ hoạt động : Master , Slave, Loopback
- Kích thước 28mm x 15mm x 2.35mm
- Tần số: 2.4GHz ISM band
- Tốc độ: Asynchronous : 2.1 Mbs (Max)/160kbps Synchronous : 1Mbps/1Mbps - Bảo mật : Authentication and encryption - Giao tiếp : Bluetooth serial port
- Baud Rate mặc định : 38400, databits : 8, Stopbit : 1, Parity : No Hỗ trợ tốc độ baud : 9600,19200,38400,57600,115200,230400,460800
- Nhiệt độ làm việc : -20 ~ 75 độ C - Độ nhạy : -80dBm
- Công suất truyền : +4dBm
- Tự động kết nối với pincode mặc định “1234” or “1111”
Trang 14- Tự động reconnect trong 30 phút nếu bị đứt kết nối Module có 2 chế độ làm việc (có thể chọn chế độ làm việc bằng cahcs thay đổi tr ạng thái chân KEY-34:
- Tự động kết nối
- Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp với module
Gaio tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua hai đường
RX và TX Bằng cách thay đổi tr ạng thái chân KEY chúng ta có thể cấu hình chế
độ hoạt động cho modue
- Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái Floating ( trạng thái không kết nối )
- Để module làm việc ở chế độ đáp ứng theo lệnh : KEY=‟0‟, cấp nguồn cho module, chuyển KEY = „1‟, lúc này có thể giao tiếp với modul bằng tập lệnh
b Phần cứng Bluetooth HC 05
Sơ đồ chân :
Hình 2 2: Sơ đồ chân modul Bluetooth HC-05
Trang 15Bảng 2.0.1: mô tả chức năng các chân của module:
Lập trình I/O, điều khiển output cho LNA nếu được trang bị
Lập trình I/O, điều khiển LA nếu được trang bị
Trang 16UART_RX 2 Cmos input with weak
internal pull-down
Dữ liệu vào UART
internal pull-up
Chip select for serial peripheral interface, active low
internal pull-down
Serial peripheral interface clock
internal pull-down
Serial peripheral interface data output
Trang 17c Tập lệnh AT cho module Bluetooth HC-05
Bảng 2.2: một số lệnh AT cho module Bluetooth HC-05
AT+VERSION? +VERSION: <Param>
OK Version number Kiểm tra phiên bản
thái mặc định AT+ADDR? +ADDR:<Param>OK Bluetooth address Địa chỉ bluetooth AT+NAME=<p
Đặt tên cho Module
Tên thiết bị (mặc định HC05)
AT+ROLE? +ROLE:<Param> OK
0 -Slave role Master role 2 -Slaver-Loop role
1 -Truy vấn chức năng modul Mặc định :0 AT+PSWD
Đặt mã Pin Mặc định:”1234” AT+PSWD? +PSWD:<Param> Pincode
bit
Cấu hình cho cổng UART
AT+UART? UART=<Param>,<Par
a m2>,<Param3> OK
Param1: Baud rate Param2: stop bit Param: parity
bit
Truy vấn thông tin cổng UART
Trang 182.2 KIT MẠCH ARDUINO
2.2.1 Giới thiệu về Arduino
ArduinolàmộtbomạchviđiềukhiểndomộtnhómgiáosưvàsinhviênÝthiếtkếvàđưara đầutiênvàonăm2005.MạchArduinođượcsử dụng đểcảmnhận vàđiềukhiểnnhiềuđốitượng khácnhau.Nócóthểthựchiệnnhiềunhiệmvụtừlấy tínhiệutừcảmbiếnđếnđiềukhiểnđèn,
nhấtlàArduinoUnovàArduinoMega.ArduinoUno đượcsửdụng rấtrộng rãitrênthếgiới,rấtnhiềuvídụtrênyoutubehoặccáctrang hướng dẫnvề Arduinosửdụngmạchnày.Vìvậy
đốivớicácbạnmớihọcArduino,việcchọnArduinoUnosẽ giúp cácbạncó thểtự họcdễdàng
Phần mềm đểlập trình cho mạch Arduino làphầnmềmIDE Đâylà phầnmềm
webcủaArduino:arduino.cc.Việchướng dẫndownloadvà sử dụngphần mềm nàysẽđượcđềcập đến trongnhữngphần sau
Trang 192.2.2 Phần cứng của Arduino UNO R3
1 Cáp USB
Đâylàdâycápthườngđượcbánkèmtheo bo,dây cápdùngđểcắm vàomáytính đểnạpchương trìnhchobovàdây đồngthờicũnglấy nguồntừnguồnusbcủamáy tínhđểchobohoạtđộng
ICnàyđượclậptrìnhnhưmộtbộchuyểnđổiUSB–to-Serialdùngđểgiaotiếpvớimáytính thôngquagiao thứcSerial (dùng cổngCOM)
3 Giác cấp nguồn cho mạch
10:Chân lấy tín hiệu Analog
9:Chân ICSP của Atemega 328
8: IC Atemega
328
7:Chân xuất tín hiệu ra
6:Chân ICSP của Atemega 16U2
5:Nút Reset 4:Cổng USB
3:Giác cấp nguồn cho mạch 2: Chân ICSP
atemega 16 U2
Trang 20Cổng nguồnngoàinhằmsửdụng nguồnđiệnbênngoàinhưpin,bìnhacquyhay cácadapterchoboArduinohoạtđộng.NguồnđiệncấpvàocổngnàylànguồnDCcóhiệuđiệnthếtừ6Vđến20V, tuynhiên hiệu điệnthếtốt nhất mànhàsản xuất
4 Cổng USB
CổngUSBtrên bo Arduino dùngđểkết nối với cáp USB
5 Nút Reset
Nútresetđượcsửdụngđểresetlạichươngtrìnhđangchạy.Đôikhichươngtrìnhchạygặplỗi,người dùngcó thểreset lại chươngtrình
6 Chân ICSP của Atemega 16U2
ICSPlàchữviếttắtcủaIn-CircuitSerialProgramming.ĐâylàcácchângiaotiếpSPIcủachip Atmega16U2 Cácchânnàythườngítđượcsử trongcácdựán vềArduino
7 Chân xuất tín hiệu ra
Cótấtcả14chân xuấttínhiệuratrong ArduinoUno,những châncódấu~lànhững châncóthể
9 Chân ICSP của Atmega 328
Các chân ICSP của ATmega 328 được sử dụng cho các giao tiếp SPI (Serial Peripheral Interface),mộtsốứng dụng củaArduinocósử dụng chânnày,vídụnhưsửdụng moduleRFID RC522 với Arduino hayEthernet Shield với Arduino
10 Các chân lấy tín hiệu Analog
Trang 2112 Các linh kiện khác trên board mạch Arduino
Ngoài cáclinh kiện đãliệt kê bên trên, ArduinoUno còn 1 số linh kiện đáng chúýkhác Trên bo có tất cả4đènled,baogồm1lednguồn(ledONnhằmchobiếtboa
TxvàRx,1ledL.CácledTxvàRxsẽnhấpnháykhicódữliệutruyềntừboardlênmáy tính hoặcngượclạithôngquacổngUSB.LedL
đượcđượckếtnốivớichânsố13.Lednàyđượcgọi làledonboard(tứcledtrênbo),lednày giúpngườidùngcóthểthựchànhcácbàiđơngiảnmà không phải dùng thêm led bên ngoài
Trong14chânracủabocòncó2chân0và1cóthểtruyềnnhậndữliệunốitiếpTTL.Cómột sốứng dụngcầndùng đếntínhnăng này,vídụnhưứng dụng điềukhiểnmạchArduinoUnoqua điện thoại sử dụngbluetooth HC05.Thêm vàođó, chân 2vàchân 3cũngđượcsửdụng cho lậptrình ngắt (interrupt), đồngthờicòn 1 vàichânkháccóthểđượcsửdụng chocácchứcnăng khác,nhưđượcthểhiệnởhình3 Bảng 1 thểhiện thêm cácthôngsố cho bo Arduino Uno R3
Trang 22Hình 2.3: Các chân vào ra của Arduino Uno Bảng 2.3 Một số thông số của Arduino UNO
Điện áp hoạt động 5V – DC (chỉ đượccấp qua cổngUSB)
Điện áp vào khuyên dùng 7-12V – DC
Điện áp vàogiới hạn 6-20V – DC
Số chân DigitalI/O 14 (6 chân PWM)
Số chân Analog 6 (độphângiải 10bit)
Dòngtốiđatrên mỗichân I/O 30 mA
Trang 232 Nhấn vào nút Download
3 Chọn hện điều hành
điềuhànhWindowslàWindowsinstallervàWindowszipfilefornon admininstall.Tùy chọnthứnhấtdùngchongườilàadmincủamáy,tùychọnthứ2chongười
khôngphảiadmin củamáy Thông thườngđasố chọn tùychọn thứ nhất, tứcWindows installer
4 Download chương trình về để cài đặt
Trang 245 Cài đặt
Phiênbảnđượcviếttrongbàinày làphiênbảnIDE1.6.4.Đây làphiênbảnmớinhấtcủaphần mềmIDE.Saunàycóthểsẽcónhữngphiênbảnkếtiếp,tuy nhiênvềcơbảnthìcáchcàiđặt
giốngnhau.Saukhidownloadvềthìngườidùngsẽđược1file.exenhưhình7bêndưới.Đểcàiđặt,người dùngnhấp đúp vào fileđó, phần mềm sẽbắt đầucài đặt
Hình 2 4: File chạy phần mềm
Mộtthôngbáocóthểsẽđượchiệnlênvớihàngchữ:“doyouwanttorunthisfile?”,tứclàbạn có muốn chạyfilenàykhông?Người dùngclick và run (chạy) đểcài chươngtrình
6 Giao diện phần mềm
PhầnnàynóivềgiaodiệncủaphầnmềnIDE,hìnhbêndướithểhiệnnhữngphầncơbảncủa giaodiện.Ngườidùngcóthểtìmhiểusâuhơnvềgiaodiệnnày,tuy nhiênđây làphầncơbản nhấtvàthường dùng nhấtđểcóthểhọcnhanhArduino,khicóthời gian cácbạncóthểtìmhiểu
thêmcácbàiviếtvềnótrênarduino.cchoặcgoogle,…Cácchứcnăng cơbảncủa cácbiểutượng trên phần mềm đượctrình bàychi tiết ở cácphầnbên dưới
a
b
c
Trang 25GiaodiệncủaphầnmềmIDEcónhiềuphần,tuynhiênchúngtachúýđếnnhữngphầnquan trọngnhư đượcnêu ratronghìnhtrên Chứcnăng củatừngphần như sau:
a Vùng kiểm tra
Dùngđểkiểmtraxemchươngtrìnhđượcviếtcólỗikhông.Nếuchươngtrìnhbịlỗithìphần mềm sẽhiển thị thôngtin lỗi ở vùng(e)
b Vùng nạp chương trình cho bo mạch Arduino
DùngđểnạpchươngtrìnhđượcviếtxuốngmạchArduino.Trongquátrìnhnạp,chươngtrìnhsẽ đượckiểm tralỗi trướcsau đó mới thựchiện nạp xuốngmạch Arduino
c Vùng hiển thị màn hình giao tiếp với máy tính
Khinhấpvàobiểutượngcáikínhlúpthìphầngiaotiếpvớimáytính sẽđược
muốnđưalênmànhình.Muốnđưalênmànhìnhphảicó lệnh Serial.print()mới cóthểđưathôngsố cần hiển thị lên màn hình
f Sử dụng một số menu thông dụng trong phần mềm
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File, ngoài những tính năng như mở một file mới hay lưu một file, phần menu này
có một mục đáng chú ý là Example Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập trình có thể tham khảo, giảm bớt thời gian lập trình Hình bên dưới thể hiện việc chọn một ví dụ cho led chớp tắt (blink) để nạp cho mạch Arduino Ví dụ
về led chớp tắt này thường được dùng để kiểm tra bo khi mới mua về
MộtmenuthườngđượcsửdụngkháclàmenuTools.KhimớikếtnốiboArduinovới
Trang 26taclickvàoTools->boardđểchọnloạiboardsửdụng.Phầnmềmchọnsẵnkiểubolàbo Arduino Uno, nếu ngườidùngdùngkiểu bo khácthì chọn kiểu bo đangdùng
Bên cạnh việcchọn bo thì một phần quan trọngnữalà chọn cổngCOM
lầnđầugắnmạchArduinovàomáytính,ngườisửdụng cầnnhấn chọn cổngCOM bằngcách vào Tools ->Serial Port (một số phiên bản dùngtừ Port)sau đó nhấn chọncổngCOM,vídụnhưCOM1.NhữnglầnsaukhiđưachínhboardArduinođóvàomá
y
tínhthìkhôngcầnchọncổngCOM,nếuđưaboArduinokhácvàomáythìcầnphảichọnlại cổngCOM, quytrình thựchiện cũngtươngtự
Sau khi thực hiện các bước trên xong, người dùng sẽ bắt tay vào việc lập trình Phần kế tiếp sẽ trình bày cấu trúc của một chương trình trong phần mềm IDE
7 Cấu trúc chương trình của phần mềm
a Khai báo biến
Đâylàphầnkhaibáokiểubiến,têncácbiến,địnhnghĩacácchântrênboardmộtsốkiểukhai báo biến thôngdụng
#define
Nghĩacủa từdefinelàđịnhnghĩa,hàm#definecótácdụng địnhnghĩa,hay còngọilàgán,tứclà gán một chân, một ngõra nào đó với 1 cái tên
Ví dụ #defineled 13
Chúý: sau #definethìkhôngcó dấu “,” (dấyphẩy)
*Khai báo cáckiểu biếnkhácnhư: int(kiểu số nguyên), float,…
Cácbạn có thểtham khảo thêm cáckiểu biến cũngnhưcôngdụngtại arduino.cc
b Thiết lập (void setup())
Phần nàydùngđểthiết lập cho chươngtrình, cầnnhớ rõ cấu trúccủanó
void setup()
{
Trang 27}
Cấutrúccủanócódấungoặcnhọnởđầuvàởcuối,nếuthiếuphầnnàykhikiểmtrachương trình thì chươngtrình sẽbáo lỗi
Phầnnàydùngđểthiếtlậpcáctốcđộtruyềndữliệu,kiểuchânlàchânrahaychânvào
c Vòng lặp (void )
DùngđểviếtcáclệnhtrongchươngtrìnhđểmạchArduinothựchiệncácnhiệmvụmàchúngta mongmuốn, thườngbắtđầu bằng:
void loop()
{
………
}
Một số câu lệnh, cấu trúcthường gặp:
Bảng 2.4 Một số câu lệnh thường gặp
Kýhiệu,câu lệnh Ý nghĩa
// Dấu//dùngđểgiảithích,khinộidunggiảithíchnằmtrên1dòng,kh
ikiểmtrachươngtrìnhthìphầnkiểmtrasẽbỏquaphầnnày,khôngkiểm tra
digitalWrite(chân,t
rạngthái);
Dùngđểtắt,mở1chânra.CúphápcủanólàdigitalWrite(chân,trạngthái
chân);.Ởđây trạngtháichâncóthểlàHIGHhoặcLOW.Ởtrạngthái
là5V;ởtrạngtháiLOW,chân khôngcóđiện,điệnápbằng 0.Vídụ:digital(led,HIGH);,hoặc digital(led,LOW); Chúdấu
Trang 28giá trị);
Cóýnghĩadùngđểbămxung(PWM),thườngdùngđểđiềukhiểntốcđộđộngcơ, độ sángled,
digitalRead(chân); Read nghĩalà đọc, lệnh nàydùngđểđọcgiá trị digital tại chân
muốn đọc analogRead(chân); Read nghĩalà đọc, lệnh nàydùngđểđọcgiá trịanalogtạichân
muốn đọc delay(thời gian); Delaynghĩalàchờ,trìhoãn,duytrì.Lệnhnàydùngđểduytrìtrạng
tháiđangthựchiệnchờmộtthờigian.Thờigianởđâyđượctínhbằngmiligiây, 1giâybằng1 ngànmiligiây
{ digitalWrite(Led,HIGH); //Ralệnh cho led sáng delay(1000);//chờ 1s