Tài liệu Tự học nhanh Arduino cho người mới bắt đầu

TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
TỰ HỌC NHANH  
ARDUINO CHO NGƯỜI  
MỚI BẮT ĐẦU  
PHIÊN BẢN 1  
BIÊN SOẠN: THẠC SỸ HUỲNH MINH PHÚ  
TP.HCM, NGÀY 24 THÁNG 05 NĂM 2015  
Thạc Sĩ Huỳnh Minh Phú  
1
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
LỜI NÓI ĐẦU  
Tự động hóa, robot hóa là xu hướng của nhân loại ngày nay. Từ ngàn xưa, con người luôn ước  
ao có những cỗ máy để làm việc thay thế mình. Trong thời đại hiện nay, với sự phát triển mạnh  
mẽ của khoa học kỹ thuật, con người đã dần tạo ra những máy móc thông minh, giúp mình từ  
các công việc thường ngày đến những công việc khó khăn nguy hiểm. Các máy tự động, các  
robot thông minh, tự hành do con người tạo nên không chỉ tồn tại ở trái đất mà còn có mặt tại  
mặt trăng, sao hỏa, trong không gian.  
Đi cùng với nhịp điệu phát triển của khoa học kỹ thuật trên thế giới, người Việt Nam cũng đang  
rất nỗ lực trong nghiên cứu khoa học kỹ thuật, đặc biệt là trong lĩnh vực tự động hóa, robot hóa,  
phục vụ cho đời sống hàng ngày, cho công cuộc xây dựng và bảo vệ đất nước Việt Nam thân  
yêu. Sự nỗ lực đó đã giúp cho người Việt dần nắm bắt, làm chủ các công nghệ tiến tiến trên thế  
giới, từ xây cầu dây văng đến làm hầm Sài Gòn và hiện nay là thực hiện công trình tàu điện  
ngầm tại Việt Nam. Người Việt với sự cần cù sáng tạo và tình yêu quê hương đất nước mạnh  
mẽ, cùng vị trí địa lý chiến lược của quốc gia nhất định sẽ thực hiện thành công sự nghiệp công  
nghiệp hóa, hiện đại hóa của mình và nhất định trong tương lai gần sẽ bắt kịp các nước phát triển  
trong khu vực về khoa học và kỹ thuật.  
Sự ra đời của mạch Arduino thúc đẩy sự yêu thích, tìm tòi nghiên cứu, ứng dụng tự động hóa ,  
robot hóa vào đời sống và công nghiệp. Với những ưu điểm riêng của mình, Arduino đã nhanh  
chóng nổi tiếng toàn thế giới và được giới học sinh, sinh viên, giới nghiên cứu, những người yêu  
thích kỹ thuật, những người thích làm đồ tự chế sử dụng rộng rãi. Tại Việt Nam, số lượng người  
sử dụng mạch Arduino ngày càng tăng. Để đáp ứng nhu cầu tìm hiểu Arduino, tài liệu này đã  
được biên soạn. Tài liệu gồm có 6 phần, chủ yếu đáp ứng nhu cầu tự học của các bạn mới bắt  
đầu tìm hiểu về Arduino. Tài liệu được viết một cách ngắn gọn, dễ hiểu, đi vào những vấn đề cốt  
lõi trong việc sử dụng Arduino cho cuộc sống.  
Dù đã cố gắng nhiều trong quá trình viết tài liệu, nhưng chắc chắn tài liệu không thể tránh khỏi  
sai sót trong quá trình biên soạn. Tác giả rất mong nhận được sự góp ý chân thành của các bạn  
để tác giả có thể hoàn thiện hơn nữa tài liệu này. Mọi ý kiến đóng góp xin gửi về địa chỉ email:  
[email protected]. Tác giả xin chân thành cảm ơn.  
Tác giả  
Thạc Sĩ Huỳnh Minh Phú  
Thạc Sĩ Huỳnh Minh Phú  
2
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
MỤC LỤC  
Nội dung  
Trang  
Phần 1: Giới thiệu về Arduino…………………………………………….4  
Phần 2: Phần cứng của Arduino Uno R3 …………………………………5  
Phần 3: Download và cài đặt chương trình IDE cho Arduino…………….9  
Phần 4: Giao diện của phần mềm IDE…………………………………….14  
Phần 5: Cấu trúc của một chương trình trong phần mềm IDE……………17  
Phần 6: 4 bài tập trong bộ tự học Arduino căn bản……………………….20  
Bài 1. Lấy tín hiệu tương tự và tín hiệu số từ cảm biến……………20  
Bài 2. Sử dụng module Rơle………………………………………..22  
Bài 3. Sử dụng mạch cầu H…………………………………………26  
Bài 4. Sử dụng màn hình LCD………………………………………30  
Thạc Sĩ Huỳnh Minh Phú  
3
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 1: GIỚI THIỆU VỀ ARDUINO  
1. Arduino là gì?  
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ều nhiệ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 đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module  
khác nhau như module đọc thẻ từ, ethernet shield, sim900A, ….để tăng khả ứng dụng củ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ủa Arduino có tất cả 6 phiên bản, Tuy nhiên  
phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega. Arduino Uno  
được sử dụng rất rộ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ọn Arduino 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ần mề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.  
2. Tự học Arduino như thế nào cho hiệu quả?  
Hiện trên thế giới có rất nhiều kênh youtube và rất nhiều trang web, các nhân chuyên hướng dẫn  
và chia sẽ miễn phí các dự án về Arduino. Vì vậy nếu các bạn có vốn tiếng Anh khá thì có thể tự  
học từ trên internet, từ các trang web nước ngoài.  
Ở Việt Nam hiện cũng có nhiều trang web và kênh youtube hướng dẫn tự học Arduino. Bản thân  
tác giả cũng có 1 kênh youtube để chia sẻ code và các dự án về Arduino. Hiện tác giả đã có 97  
clip hướng dẫn về Arduino với đầy đủ mã code kèm theo và chia sẻ miễn phí cho cộng đồng.  
Các bạn có thể tìm loạt clip trên youtube với từ khóa: “Lập trình vi điều khiển, Huỳnh Minh  
Phú”. Trong quá trình tự học, các bạn không nên copy cả mã code mà từ code mẫu, các bạn hãy  
tự tay mình đánh lại từng dòng lệnh, tự phân tích tại sao lại viết như vậy, rồi kiểm tra chương  
trình, rồi nạp chương trình cho bo. Như vậy các bạn có thể hiểu rõ hơn, cũng như sẽ thấy những  
sai sót khi mình đánh, từ đó hiểu các lỗi đó, cũng như hiểu hơn cách viết chương trình..  
3. Tại sao lại chọn Arduino?  
Hiện tại ở Việt Nam và trên thế giới cũng có nhiều bo mạch vi điều khiển khác nhau. Tuy nhiên  
Arduino có một số ưu điểm mà khiến nó trở nên nổi tiếng và hiện đang được sử dụng rộng rãi  
trên thế giới. Những ưu điểm đó là: rẻ, tương thích được với nhiều hệ điều hành, chương trình  
lập trình đơn giản, rõ ràng, dễ sử dụng, sử dụng mã nguồn mở và có thể kết hợp với nhiều  
module khác nhau.  
4. Mua các mạch Arduino ở đâu?  
Hiện tác giả có 1 shop riêng bán mạch Arduino, shop Kỹ Thuật Phú Hưng, các bạn có thể tham  
khảo tại địa chỉ: www.ktphuhung.com.  
Thạc Sĩ Huỳnh Minh Phú  
4
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 2: PHẦN CỨNG CỦA ARDUINO UNO R3  
Phần này nói về phần cứng của Arduino Uno R3, một bo mạch thông dụng hiện nay. Do đây là  
tài liệu hướng dẫn học nhanh nên tác giả chỉ đưa ra những kiến thức cơ bản cần thiết cho việc sử  
dụng board mạch này. Nếu người học cần những kiến thức chuyên sâu hơn thì có thể tham khảo  
tại website chính thức của Arduino: arduino.cc.  
2. IC Atmega  
16U2  
3. Cổng nguồn  
ngoài  
1. Cáp  
USB  
4. Cổng USB  
1a. Đầu  
cắm cổng  
USB mạch  
Arduino  
5. Nút reset  
6. ICSP của  
Atmega 16U2  
7. Chân xuất  
tín hiệu ra  
1b. Đầu cắm  
cổng USB  
máy tính  
8. IC Atmega  
328  
11. Chân cấp nguồn cho cảm  
biến  
10. Chân lấy tín hiệu  
Analog  
9. Chân ICSP của  
Atmega 328  
Hinh 1. Mạch Arduino Uno  
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ào má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. IC Atmega 16U2  
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. Cổng nguồn ngoài  
Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình acquy hay các adapter cho  
bo Arduino hoạt động. Nguồn điện cấp vào cổng này là nguồn DC có hiệu điện thế từ 6V đến  
20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7 đến 12V  
Thạc Sĩ Huỳnh Minh Phú  
5
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
4. Cổng USB  
Cổng USB trên bo Arduino dùng để kết nối với cáp USB  
5. Nút reset  
Nút reset được sử dụng để reset lại chương trình đang chạy. Đôi khi chương trình chạy gặp lỗi,  
người dùng có thể reset lại chương trình..  
6. ICSP của ATmega 16U2  
ICSP là chữ viết tắt của In-Circuit Serial Programming. Đây là các chân giao 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ếp SPI (Serial Peripheral  
Interface), một số ứng dụng của Arduino có sử dụng chân này, ví dụ như sử dụng module RFID  
RC522 với Arduino hay Ethernet Shield với Arduino.  
10. 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 để IC Atmega 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ảm biế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, role, rc servo,…Ngoài ra trên khu vực này còn có chân Vin và chân reset,  
chân IOREF. Tuy nhiên các chân này thường ít được sử dụng nên trong tài liệu này xin không đi  
sâu về nó.  
12. Các linh kiện khác trên board Arduino Uno  
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 ON nhằ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ại thông qua cổng USB. Led L được được kết nối với chân số 13. Led này được gọ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ành các bài đơn giản mà  
không cần dùng thêm led ngoài.  
Thạc Sĩ Huỳnh Minh Phú  
6
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
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ệu nố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ư ứng dụng điều khiển mạch Arduino Uno qua  
điện thoại sử dụng bluetooth HC05.  
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ức nă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. Các chân vào ra của Arduino Uno  
Bảng 1. Một số thông số của Arduino Uno R3  
Vi điều khiển  
ATmega328 (họ 8bit)  
Điện áp hoạt động  
Tần số hoạt động  
Dòng tiêu thụ  
5V – DC (chỉ được cấp qua cổng USB)  
16 MHz  
30mA  
Điện áp vào khuyên dùng 7-12V – DC  
Điện áp vào giới hạn  
Số chân Digital I/O  
Số chân Analog  
6-20V – DC  
14 (6 chân PWM)  
6 (độ phân giải 10bit)  
Dòng tối đa trên mỗi chân  
I/O  
30 mA  
Dòng ra tối đa (5V)  
Dòng ra tối đa (3.3V)  
500 mA  
50 mA  
32 KB (ATmega328) với 0.5KB dùng  
bởi bootloader  
Bộ nhớ flash  
Thạc Sĩ Huỳnh Minh Phú  
7
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
SRAM  
2 KB (ATmega328)  
1 KB (ATmega328)  
EEPROM  
Hình 3. Tham khảo thêm một số chức năng của các chân trên Arduino.  
Thạc Sĩ Huỳnh Minh Phú  
8
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 3: DOWNLOAD VÀ CÀI ĐẶT CHƯƠNG TRÌNH IDE  
CHO ARDUINO  
1. Vào trang chủ của Arduino: arduino.cc  
Hình 4. Trang chủ của Arduino  
2. Nhấn vào mục download  
Hình 5. Màn hình của phần download.  
3. Chọn hệ điều hành, ví dụ hệ điều hành là Windows:  
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ông thườ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  
Thạc Sĩ Huỳnh Minh Phú  
9
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Arduino có đưa ra 2 lựa chọn, bao gồm chỉ download về (just download) và download về cùng  
quyên góp (contribute and download), như được thể hiện ở hình 6. Arduino mong muốn người  
dùng nếu có điều kiện hãy quyên góp ủng hộ hãng, mức quyên góp thấp nhất là 3USD.  
Hình 6. Màn hình trang download phần mềm.  
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ên bả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ùng nhấp đúp vào file đó, phần mềm sẽ bắt đầu cài đặt.  
Hình 7. File chạy phần mềm sau khi download về.  
Một thông báo có thể sẽ được hiện lên với hàng chữ: “do you want to run this file?”, tức là bạn  
có muốn chạy file này không? Người dùng click và run (chạy) để cài chương trình.  
Hình 8. Bảng thông báo bắt đầu cài đặt phần mềm  
Thạc Sĩ Huỳnh Minh Phú  
10  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Một thông báo về các điều khoản khi sử dụng phần mềm sẽ hiện ra. Người dùng nhấn vào I  
Agree (tôi đồng ý), để tiếp tục cài đặt chương trình.  
Hình 9. Thông báo về điều khoản phần mềm  
Một màn hình để người dùng lựa chọn việc cài đặt các phần liên quan được hiện ra, như ở hình  
10. Các bạn có thể để nguyên như vậy và bấm Next để tiếp tục quá trình cài đặt.  
Hình 10. Các lựa chọn khi cài đặt  
Phần mềm sẽ yêu cầu bạn chọn vị trí để cài đặt. Các bạn có thể để nơi cài đặt mặc định như phần  
mềm đưa ra, không thay đổi gì rồi bấm Install (Cài đặt).  
Thạc Sĩ Huỳnh Minh Phú  
11  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Hình 11. Chọn đường dẫn cho phần mềm  
Màn hình thể hiện việc cài đặt sẽ xuất hiện, người dùng có thể nhấp vào Show detail (Xem chi  
tiết) để xem chi tiết quá trình cài đặt.  
Hình 12. Quá trình cài đặt đang được thực hiện.  
Trong quá trình cài đặt 1 số phiên bản sẽ hỏi có cài driver USB cho phần mềm IDE không, như  
hình 13 bên dưới, người dùng nên tíc chọn vào ô vuông “Always trust software from “Arduino  
LLC””, sau đó bấm Install (Cài đặt) để cái đặt driver USB. Cần phải cài driver này thì chương  
trình mới nhận cổng USB của mạch Arduino  
Hình 13. Cài đặt driver USB cho IDE  
Sau khi việc cài đặt hoàn thành, trên màn hình sẽ xuất hiện dòng chữ Completed (Đã hoàn  
thành), lúc này người dùng nhấn nút Close (đóng) để hoàn tất quá trình cài đặt và bây giờ có thể  
Thạc Sĩ Huỳnh Minh Phú  
12  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
sử dụng phần mềm. Biểu tượng của phần mềm sẽ xuất hiện trên màn hình Desktop và bây giờ  
người dùng chỉ việc nhấp đúp vào nó để sử dụng như các phần mềm khác.  
Hình 14. Phần mềm đã được cài đặt xong  
Phần kế tiếp sẽ nói về giao diện của chương trình để người dùng có thể hiểu rõ về cách sử dụng  
phần mềm này.  
Thạc Sĩ Huỳnh Minh Phú  
13  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 4: GIAO DIỆN CỦA PHẦN MỀM IDE  
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ện nhữ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ề giao diệ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ọc nhanh 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ên phần mềm được trình bày chi tiết ở các phần bên dưới.  
3. Hiển thị màn hình  
giao tiếp với máy tính  
1. Nút kiểm tra  
chương trình  
2. Nút nạp chương trình  
xuống bo Arduino  
4. Vùng lập trình  
5. Vùng thông báo  
thông tin  
Hình 15. Giao diện của phần mềm IDE  
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ủa từng phần như sau:  
1. Nút kiểm tra chương trình  
Thạc Sĩ Huỳnh Minh Phú  
14  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Dùng để kiểm tra xem chương trình được viết có lỗi không. Nếu chương trình bị lỗi thì phần  
mềm sẽ hiển thị thông tin lỗi ở vùng số 5.  
2. Nút nạp chương trình xuống bo Arduino  
Dùng để nạp chương trình được viết xuống mạch Arduino. Trong quá trình nạp, chương trình sẽ  
được kiểm tra lỗi trước sau đó mới thực hiện nạp xuống mạch Arduino.  
3. Hiển thị màn hình giao tiếp với máy tính  
Khi 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ên màn hình. Muốn đưa lên màn hình phải có  
lệnh Serial.print() mới có thể đưa thông số cần hiển thị lên màn hình  
4. 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ủa mình.  
5. 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ác vấn đề liên quan đến  
chương trình được lập.  
6. Sử dụng một số menu thông dụng trên phần mềm IDE  
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ề.  
Hình 16. Menu file trên phần mềm IDE  
Thạc Sĩ Huỳnh Minh Phú  
15  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Một menu thường được sử dụng khác là menu Tools. Khi mới kết nối bo Arduino 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.  
Hình 17. Cách chọn bo trên màn hình IDE  
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ạch Arduino 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ào Tools -> Serial Port (một số phiên bản dùng từ Port) sau đó nhấn  
chọn cổng COM, ví dụ như COM1. Những lần sau khi đưa chính board Arduino đó vào máy  
tính thì không cần chọn cổng COM, nếu đưa bo Arduino khác vào máy thì cần phải chọn lại  
cổng COM, quy trình thực hiện cũng tương tự.  
Hình 18. Cách chọn cổng COM trên màn hình IDE  
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.  
Thạc Sĩ Huỳnh Minh Phú  
16  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 5: CẤU TRÚC CỦA MỘT CHƯƠNG TRÌNH TRONG  
PHẦN MỀM IDE  
Phần này sẽ đưa ra cấu trúc của một chương trình trong IDE, đồng thời giải thích một số lệnh  
thường được sử dụng để thuận tiện cho người dùng.  
Xét 1 ví dụ đơn giản, ví dụ làm cho led nhấp nháy:  
#define led = 13 // khai báo chân led là chân 13  
void setup() {  
pinMode(led, OUTPUT); //Thiết lập chân led (chân 13) là chân ra (OUTPUT)  
}
void loop() {  
digitalWrite(led, HIGH); // Ra lệnh mở led  
delay(1000);  
digitalWrite(led, LOW); // ra lệnh tắt led  
delay(1000); // Tắt trong 1s (1000ms), có thể thay đổi giá trị này  
// Mở trong 1s (1000ms), có thể thay đổi giá trị này  
}
Sau đây chúng ta sẽ cùng tìm hiểu cấu trúc của một chương trình trong Arduino qua ví dụ này.  
1. Phần 1: Khai báo biến  
Đâ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ên board 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, hay cò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ại arduino.cc  
2. Phần 2: 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()  
{
…..  
}
Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm tra chương  
trình thì chương trình sẽ báo lỗi.  
Thạc Sĩ Huỳnh Minh Phú  
17  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào. Trong  
đó:  
Serial.begin(9600);  
Dùng để truyền dữ liệu từ board Arduino lên  
máy tính.  
pinMode(biến, kiểu vào hoặc ra); Ví dụ: Dùng để xác định kiểu chân là vào hay ra  
pinMode(ChanDO, INPUT);  
3. Phần 3: Vòng lặp  
Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các nhiệm vụ mà chúng ta  
mong muốn, thường bắt đầu bằng:  
void loop()  
{
……………….  
}
Một số câu lệnh, cấu trúc thường gặp:  
Bảng 2. 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ành cho 1 đoạn, tức  
có thể xuống dòng được  
*/  
#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  
digitalWrite(chân, Dùng để tắt, mở 1 chân ra. Cú pháp của nó là digitalWrite(chân,trạng thái  
trạng thái);  
chân);. Ở đây trạng thái chân có thể là HIGH hoặc LOW. Ví dụ:  
digital(led,HIGH); , hoặc digital(led,LOW); . Chú dấu chấm phẩy đằng sau  
câu lệnh.  
analogWrite(chân,  
giá trị);  
Có ý nghĩa dùng để băm xung (PWM), thường dùng để điều khiển tốc độ  
động cơ, độ sáng led,..  
digitalRead(chân); Read nghĩa là đọc, lệnh này dùng để đọc giá trị digital tại chân muốn đọc  
analogRead(chân); Read nghĩa là đọc, lệnh này dùng để đọc giá trị analog tại chân muốn đọc  
delay(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ời gian ở đây được tính bằng mili  
giây, 1 giây bằng 1 ngàn mili giây.  
if()  
if nghĩa là nếu, sau if là dấu (), bên trong dấu ngoặc là một biểu thứ so  
{
sánh. Ví dụ trong bài về cảm biến độ ẩm đất (phần 5) thì:  
Các câu lệnh  
if (giatriAnalog>500) //nếu giá trị đọc được của biến giatriAnalog lớn hơn  
}
500  
else ()  
{
{
digitalWrite(Led,HIGH); //Ra lệnh cho led sáng  
Các câu lệnh  
delay(1000);//chờ 1s  
}
}
else nghĩa là ngược lại  
Thạc Sĩ Huỳnh Minh Phú  
18  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
Serial.print()  
In ra màn hình máy tính, lệnh này in không xuống dòng  
Serial.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  
Thạc Sĩ Huỳnh Minh Phú  
19  
TỰ HỌC NHANH ARDUINO CHO NGƯỜI MỚI BẮT ĐẦU  
PHẦN 6: 4 BÀI TẬP TRONG BỘ TỰ HỌC ARDUINO CĂN BẢN  
BÀI 1. LẤY TÍN HIỆU TƯƠNG TỰ VÀ TÍN HIỆU SỐ TỪ CẢM  
BIẾN  
Mụch đích của bài này là giúp các bạn hiểu cách lấy tín hiệu tương tự (Analog) và tín hiệu số  
(digital) từ cảm biến. Cảm biến được sử dụng trong ví dụ này là cảm biến đo độ ẩm đất. Các bạn  
có thể tham khảo thêm video hướng dẫn trên youtube của tác giả. Video có tiêu đề là: Lập trình  
vi điều khiển-phần 82-Cảm biến độ ẩm đất.  
1. Dụng cụ thực hành:  
Dụng cụ thực hành bao gồm 1 cảm biến độ ẩm đất, 1 board Arduino Uno, 1 đèn led  
2. Cảm biến đo độ ẩm đất:  
Loại cảm biến này được sử dụng để đo độ ẩm đất, được dùng trong việc tưới tiêu cho nông  
nghiệp, cây cảnh,…. Cảm biến có 4 chân, gồm 2 chân cấp nguồn VCC và GND, 2 chân AO và  
DO. Chân VCC của cảm biến đo độ ẩm đất được nối với chân 5V trên board Arduino Uno. Chân  
AO là viết tắt của Analog Output và chân DO là viết tắt của Digital Output  
Hình 19. Cảm biến đo độ ẩm đất.  
2. Nối dây:  
Chân VCC nối nguồn 5V, chân GND nối chân GND trên board Arduino, chân AO nối chân,  
chân DO nối chân số 4, led nối chân 12.  
3. Lập trình  
Để lấy được tín hiệu digital, trong phần set up () người lập trình cần khai báo pinMode cho chân  
là INPUT, chân Analog không cần khai báo, phần mềm sẽ tự hiểu.  
4. Phân tích mã code  
Sau đây là mã code của chương trình:  
//Chương trình đo độ ẩm đất với loại cảm biến đo độ ẩm đất được bán thông dụng ở Việt Nam  
//Người viết: HUỲNH MINH PHÚ  
//Cách nối chân:  
//AO nối với A1, DO nối với chân 4, GND nối nguồn âm, VCC nối nguồn dương.  
#define Analog 1// dùng chân A1 trên board Arduino để đọc tín hiệu Analog  
Thạc Sĩ Huỳnh Minh Phú  
20  
Tải về để xem bản đầy đủ
pdf 31 trang yennguyen 22780 Free
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Tự học nhanh Arduino cho người mới bắt đầu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdftai_lieu_tu_hoc_nhanh_arduino_cho_nguoi_moi_bat_dau.pdf