LỜ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àngtrở nên phổ biến, từ những ứng dụng đơn giản như điều khiển một chốt đền giaothông định thời, đếm sản phẩm
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
ĐỒ ÁN TỐ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 BỊ 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ấptà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ưachuẩ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ònké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ếpcủ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ệnNguyễn Ngọc Huy
Trang 4DANH MỤC BẢNG
Bảng 2.2 Một số lệnh AT cho module Bluetooth HC-05 10
Trang 5DANH MỤC BẢNG
Trang 6MỤC LỤC
Trang 7LỜ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àngtrở nên phổ biến, từ những ứng dụng đơn giản như điều khiển một chốt đền giaothô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ểnrobot, 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ềukhiển tự động trong đời sống hiện đại và để mọi người biết đến ứng dụng cũngnhư 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Ừ XAQUA BLUETOOTH TRÊN THIẾT BỊ ANDROID”
Trang 8CHƯƠ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ữngbướ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áttriể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ọilĩ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ốngmá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ểncá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 conngườ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ớimong 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 QUABLUETOOTH TRÊN THIẾT BỊ 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ítAVR cụ thể là Atmega328 , phương pháp lập trình cho AVR bằng ngôn ngữ Ctrê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ầncứ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ọingười gần như ai cũng được sở hữu một chiếc điện thoại thông minh Mà điệnthoạ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 thoạ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àotrong 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ểncho AVR ATMega328
Trang 9- 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 Androidtrê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 10CHƯƠ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ớinhau 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 theocá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ậtnà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ụngcô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êntầ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 đến10m, 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ớimứ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ụngnà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ợ
b Khuyết điểm.
Trang 11- 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 bị không dây cho phép các thiết bị điện và thiết bị điện
tử, có thể giao tiếp với nhau băng sóng vô tuyến trong phạm vi ngắn và trongbăng tần từ 2,4 Ghz đến 2,485Ghz Bluetôth được thiết kế để hoạt động trên79tần số đơ lẻ khác nhau Sau khi đã kết nối , bluetooth sẽ tự tìm ra tần số tươngthích với nó, sau đó nó sẽ di chuyển tới các thiết bị bluetooth đó trong khoảngcá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 bị có Bluetooth thì còn phụ thuộc và côngsuất Gồm ba loại: Loại thứ nhất công suất 100mW thì sẽ phủ sóng được trongkhoảng 100met Loai thứ hai với công suất 2.5mW thì tâm phủ sóng chỉ khoảng10met Và loại cuối cùng 1mW chỉ có thế kết nối trong phạ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ũng 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 bị bluetooth kết nối vớinhau 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ẩunà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 12- 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 : Bluetoothserial 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 13- 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áclệ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áiFloating ( 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ồncho module, chuyển KEY = ‘1’, lúc này có thể giao tiếp với modul bằng tập lệnhAT
Ở chế độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usbbluetooth để dò tìm module và ghép nối với pincode mặc định ”1234”
Ở chế độ MASTER : modul sẽ tự động dò tìm thiết bị Bluetooth khác vàtiến hành ghép nối chủ động mà không cần thiết lập gì Module tương thích vớicác vi diều khiển 5V mà không cần chuyển đổi mức giao tiếp 5V về 3.3V nhưnhiều loại module khác
b Phần cứng Bluetooth HC 05
Sơ đồ chân :
Hình 2 2: Sơ đồ chân modul Bluetooth HC-05
Trang 14Bảng 2.0.1: mô tả chức năng các chân của module:
Lập trình I/O, điềukhiển output choLNA nếu đượctrang bị
Lập trình I/O, điềukhiển LA nếuđược trang bị
ResetB_RST 11 Cmos input with weakinternal pull-up Reset nếu LOWUART
UART_CTS 3 Cmos input with weakinternal pull-down
UART xóa khigửi, hoạt độngLOW
UART_RX 2 Cmos input with weakinternal pull-down Dữ liệu vàoUART
SPI_CSB 16 Cmos input with weakinternal pull-up.
Chip select forserial peripheralinterface, activelow
Trang 15internal pull-down interface clock
SPI_MISO 18 Cmos input with weakinternal pull-down
Serial peripheralinterface dataoutput
c 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
AT+ADDR? +ADDR:<Param>OK Bluetooth address Địa chỉ bluetoothAT+NAME=<p
Đặt tên choModule
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ứcnăng modul Mặcđịnh :0AT+PSWD
Đặt mã Pin Mặcđịnh:”1234”
Trang 16Truy vấn thông tincổng UART
2.2 KIT MẠCH ARDUINO
2.2.1 Giới thiệu về Arduino.
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên
Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng đểcảm nhận và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiềunhiệm vụ từ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đốitượng khác Ngoài ra mạch còn có khả năng liên kết với nhiều module khácnhau như module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụngcủa mạch
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,… Hiện phần cứng củaArduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụngnhiều nhất là Arduino Uno và Arduino Mega Arduino Uno được sử dụng rấtrộng rãi trên thế giới, rất nhiều ví dụ trên youtube hoặc các trang hướng dẫn vềArduino sử dụng mạch này Vì vậy đối với các bạn mới học Arduino, việc chọnArduino Uno sẽ giúp các bạn có thể tự học dễ dàng
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE Đây là phầnmềm mã nguồn mở, và có thể được download từ trang web của Arduino:arduino.cc Việc hướng dẫn download và sử dụng phần mềm này sẽ được đề cậpđến trong những phần sau
Trang 171 Cáp USB
1a:Giác cắm USB đầu của Arduino
1b:Giác cắm USB đầu của máy tính
11:Chân cấp nguồn cho cảm biến10:Chân lấy tín hiệu Analog9:Chân ICSP của Atemega 328
8: IC Atemega 3287:Chân xuất tín hiệu ra6:Chân ICSP của Atemega 16U2
5:Nút Reset4:Cổng USB
3:Giác cấp nguồn cho mạch2: Chân ICSP atemega 16 U2
2.2.2 Phần cứng của Arduino UNO R3
1 Cáp USB
Đây là dây cáp thường được bán kèm theo bo, dây cáp dùng để cắm vàomáy tính để nạp chương trình cho bo và dây đồng thời cũng lấy nguồn từ nguồn
usb của máy tính để cho bo hoạt động Ngoài ra cáp USB còn được dùng để
truyền dữ liệu từ bo Arduino lên máy tính Dây cáp có 2 đầu, đầu 1a được dùng
để cắm vào cổng USB trên bo Arduino, đầu 1b dùng để cắm vào cổng USB trên
máy tính
2 Chân ICSP atemega 16 U2
IC này được lập trình như một bộ chuyển đổi USB –to-Serial dùng đểgiao tiếp với máy tính thông qua giao thức Serial (dùng cổng COM)
3 Giác cấp nguồn cho mạch
Trang 18Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bìnhacquy hay các adapter cho bo Arduino hoạt động Nguồn điện cấp vào cổngnày là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốtnhất mà nhà sản xuất
6 Chân ICSP của Atemega 16U2
ICSP là chữ viết tắt của In-Circuit Serial Programming Đây là các chângiao tiếp SPI của chip Atmega 16U2 Các chân này thường ít được sử trong các
dự án về Arduino
7 Chân xuất tín hiệu ra
Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~
là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động cơhoặc độ sáng của đèn Hình 2 thể hiện rất rõ những chân để băm xung này
8 IC Atmega 328
IC Atmega 328 là linh hồn của bo mạch Arduino Uno, IC này được sửdụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,…
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ếpSPI (Serial Peripheral Interface), một số ứng dụng của Arduino có sử dụngchân này, ví dụ như sử dụng module RFID RC522 với Arduino hay EthernetShield với Arduino
10.Các chân lấy tín hiệu Analog
Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để ICAtmega 328 xử lý Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5
11.Chân cấp nguồn cho cảm biến
Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như role, cảmbiến, RC servo,…trên khu vực này có sẵn các chân GND (chân nối đất, chânâm), chân 5V, chân 3.3V như được thể hiện ở hình 2 Nhờ những chân này màngười sử dụng không cần thiết bị biến đổi điện khi cấp nguồn cho cảm biến,
Trang 19role, rc servo,…Ngoài ra trên khu vực này còn có chân Vin và chân reset, chânIOREF Tuy nhiên các chân này thường ít được sử dụng nên trong tài liệu nàyxin không đi sâu về nó.
12.Các linh kiện khác trên board mạch Arduino
Ngoài các linh kiện đã liệt kê bên trên, Arduino Uno còn 1 số linh kiệnđáng chú ý khác Trên bo có tất cả 4 đèn led, bao gồm 1 led nguồn (led ONnhằm cho biết boa đã được cấp nguồn), 2 led Tx và Rx, 1 led L Các led Tx và
Rx sẽ nhấp nháy khi có dữ liệu truyền từ board lên máy tính hoặc ngược lạithông qua cổng USB Led L được được kết nối với chân số 13 Led này đượcgọi là led on board (tức led trên bo), led này giúp người dùng có thể thực hànhcác bài đơn giản mà không phải dùng thêm led bên ngoài
Trong 14 chân ra của bo còn có 2 chân 0 và 1 có thể truyền nhận dữ liệunối tiếp TTL Có một số ứng dụng cần dùng đến tính năng này, ví dụ như ứngdụng điều khiển mạch Arduino Uno qua điện thoại sử dụng bluetoothHC05.Thêm vào đó, chân 2 và chân 3 cũng được sử dụng cho lập trình ngắt(interrupt), đồng thời còn 1 vài chân khác có thể được sử dụng cho các chứcnăng khác, như được thể hiện ở hình 3 Bảng 1 thể hiện thêm các thông số cho
bo Arduino Uno R3
Hì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
Trang 20Vi điều khiển ATmega328 (họ 8bit)
Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V – DC
Dòng tối đa trên mỗi chân I/O 30 mA
Trang 213 Chọn hện điều hành
Có 2 tùy chọn cho hệ điều hành Windows là Windows installer vàWindows zip file for non admin install Tùy chọn thứ nhất dùng cho người làadmin của máy, tùy chọn thứ 2 cho người không phải admin của máy Thôngthường đa số chọn tùy chọn thứ nhất, tức Windows installer
4 Download chương trình về để cài đặt
5 Cài đặt
Phiên bản được viết trong bài này là phiên bản IDE 1.6.4 Đây là phiênbản mới nhất của phần mềm IDE Sau này có thể sẽ có những phiên bản kếtiếp, tuy nhiên về cơ bản thì cách cài đặt giống nhau.Sau khi download về thìngười dùng sẽ được 1 file exe như hình 7 bên dưới Để cài đặt, người dùngnhấp đúp vào file đó, phần mềm sẽ bắt đầu cài đặt
Hình 2 4: File chạy phần mềm
Trang 226 Giao diện phần mềm
Phần này nói về giao diện của phần mền IDE, hình bên dưới thể hiệnnhững phần cơ bản của giao diện Người dùng có thể tìm hiểu sâu hơn về giaodiện này, tuy nhiên đây là phần cơ bản nhất và thường dùng nhất để có thể họcnhanh Arduino, khi có thời gian các bạn có thể tìm hiểu thêm các bài viết về nótrên arduino.cc hoặc google,… Các chức năng cơ bản của các biểu tượng trênphần mềm được trình bày chi tiết ở các phần bên dưới
Giao diện của phần mềm IDE có nhiều phần, tuy nhiên chúng ta chú ýđến những phần quan trọng như được nêu ra trong hình trên Chức năng củatừng phần như sau:
a Vùng kiểm tra
Dùng để kiểm tra xem chương trình được viết có lỗi không Nếu chươngtrình bị lỗi thì phần mềm sẽ hiển thị thông tin lỗi ở vùng (e)
b Vùng nạp chương trình cho bo mạch Arduino
Dùng để nạp chương trình được viết xuống mạch Arduino Trong quá trìnhnạp, chương trình sẽ được kiểm tra lỗi trước sau đó mới thực hiệ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
Trang 23Khi nhấp vào biểu tượng cái kính lúp thì phần giao tiếp với máy tính sẽđược mở ra Phần này sẽ hiển thị các thông số mà người dùng muốn đưa lênmàn hình Muốn đưa lên màn hình phải có lệnh Serial.print() mới có thể đưathông số cần hiển thị lên màn hình
d Vùng lập trình
Vùng này để người lập trình thực hiện việc lập trình cho chương trình củamình.
e Vùng thông báo thông tin
Có chức năng thông báo các thông tin lỗi của chương trình hoặc cácvấn đề liên quan đến chương trình được lập
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à menuFile, 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ột menu thường được sử dụng khác là menu Tools Khi mới kết nối boArduino với máy tính ta click vào Tools->board để chọn loại board sử dụng.Phần mềm chọn sẵn kiểu bo là bo Arduino Uno, nếu người dùng dùng kiểu
bo khác thì chọn kiểu bo đang dùng
Bên cạnh việc chọn bo thì một phần quan trọng nữa là chọn cổng COM.Hình bên dưới minh họa cho việc chọn cổng COM Khi lần đầu gắn mạchArduino vào máy tính, người sử dụng cần nhấn chọn cổng COM bằng cách vàoTools -> Serial Port (một số phiên bản dùng từ Port) sau đó nhấn chọn cổngCOM, ví dụ như COM1 Những lần sau khi đưa chính board Arduino đó vàomáy tính thì không cần chọn cổng COM, nếu đưa bo Arduino khác vào máythì cần phải chọn lại cổng COM, quy trình thực hiện cũng tương tự
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ậptrì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
Trang 24Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trênboard một số kiểu khai báo biến thông dụng.
#define
Nghĩa của từ define là định nghĩa, hàm #define có tác dụng định nghĩa, haycòn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên
Ví dụ #define led 13
Chú ý: sau #define thì không có dấu “,” (dấy phẩy)
*Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…
Các bạn có thể tham khảo thêm các kiểu biến cũng như công dụng tạiarduino.cc
b Thiết lập (void setup())
Phần này dùng để thiết lập cho chương trình, cần nhớ rõ cấu trúc của nóvoid setup()
Một số câu lệnh, cấu trúc thườ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ải thích, khi nội dung giải thích nằm
trên 1 dòng, khi kiểm tra chương trình thì phần kiểm tra
sẽ bỏ qua phần này, không kiểm tra
/*
…
Ký hiệu này cũng dùng để giải thích, nhưng giải thích dànhcho 1 đoạn, tức có thể xuống dòng được
Trang 25#define biến chân Define nghĩa là định nghĩa, xác định Câu lệnh này nhằm
gán tên 1 biến vào 1 chân nào đó Ví dụ #define led 13,tức là gán biến led cho chân 13 hay dùng chân 13 để điềukhiển led
digitalWrite(chân,t
rạng thái);
Dùng để tắt, mở 1 chân ra Cú pháp của nó làdigitalWrite(chân,trạng thái
chân); Ở đây trạng thái chân có thể là HIGH hoặc LOW
Ở trạng thái HIGH chân có điện, dòng điện có điện áp là5V; ở trạng thái LOW, chân không có điện, điện áp bằng 0
Ví dụ: digital(led,HIGH); , hoặc digital(led,LOW); Chúdấu chấm phẩy đằng sau câu lệnh
chân muốn đọcdelay(thời gian); Delay nghĩa là chờ, trì hoãn, duy trì Lệnh này dùng để
duy trì trạng thái đang thực hiện chờ một thời gian Thờigian ở đây được tính bằng mili giây, 1 giây bằng 1 ngànmili giây
sánh Ví dụ trong bài về cảm biến độ ẩm đất (phần 5) thì:
if (giatriAnalog>500) //nếu giá trị đọc được của biếngiatriAnalog lớn hơn 500
{digitalWrite(Led,HIGH); //Ra lệnh cho led sángdelay(1000);//chờ 1s
else nghĩa là ngược lại
Trang 26Serial.print() In ra màn hình máy tính, lệnh này in không xuống dòngSerial.println() In ra màn hình máy tính, in xong xuống dòng, giá trị tiếp
theo sẽ được in ở dòng kế tiếp