Các loại Board Arduino phổ biến Không giống như hầu hết các board mạch lâp trình trước đó,Arduino không yêu cầu môt phần cứng riêng để lâp trình mã mới lênboard mà bạ
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA ĐIỆN, ĐIỆN TỬ VÀ CÔNG NGHỆ VẬT LIỆU
CẢM BIẾN NHIỆT ĐỘ HIỂN THỊ LÊN
MÀN HÌNH LCD VÀ ĐIỀU KHIỂN TỐC
ĐỘ QUẠT TRONG PHÒNG NGU
VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC KHOA ĐIỆN, ĐIỆN TỬ VÀ CÔNG NGHỆ VẬT LIỆU
CẢM BIẾN NHIỆT ĐỘ HIỂN THỊ LÊN MÀN HÌNH LCD VÀ ĐIỀU KHIỂN TỐC ĐỘ QUẠT TRONG PHÒNG NGU
VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Giảng viên hướng dẫn : ThS Nguyễn Đức Nhật Quang
Sinh viên thực hiện : Hồ Văn Nhật
Mã sinh viên : 19T1051013
HUẾ, THÁNG 12 NĂM 2021
Trang 3
MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU MỤC LỤC iii
Hinh 1 Thê ky XXI – Thơi đai cua khoa hoc công ngh 1 ê vi
Hinh 2 Cấu tao cua Arduino Uno 3 vi
Hinh 3 Minh hoa giao diện lập trinh Arduino IDE 7 vi
Hinh 4 Minh hoa vùng Toolbar trên giao diện Arduino IDE 8 vi
Hinh 5 Minh hoa chon board Arduino và cổng COM giao tiêp phù hợp 9 vi
Hinh 6 Minh hoa vùng viêt chương trinh 10 vi
Hinh 7 Tổng quan quá trinh xử lý chương trinh Arduino 10 vi
Hinh 8 Arduino Nano 14 vi
Hinh 9 Sơ đồ chân Arduino Nano 14 vi
Hinh 10 ICSP 16 vi
Hinh 11 Màn hinh LCD 16x2 18 vi
Hinh 12 Module LCD I2C 20 vi
Hinh 13 Sơ đồ đấu nối giao tiêp IC2 với LCD 16×2 21 vi
Hinh 14 Module DS1307 21 vi
Hinh 15 Sơ đồ chân DS1307 22 vi
Hinh 16 Sơ đồ nguyên lý DS1307 với Arduino 23 vi
Hinh 17 Module DHT11 24 vi
Hinh 18 Sơ đồ nguyên lý DHT11 với Arduino 24 vi
Hinh 19 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 26 vi
Hinh 20 Kêt quả mô phỏng trên phần mềm proteus 27 vi
Hinh 21 Minh hoa kêt quả thưc nghi m 27 ê vi
Hinh 22 Minh hoa phần trăm điều chê xung PWM 29 vi
Hinh 23 Minh hoa cấu tao động cơ điện một chiều 30 vi
Hinh 24 Minh hoa động cơ bước và sơ đồ nguyên lý bên trong động cơ 30 vi
Hinh 25 Phương pháp điều khiển bước đu 31 vi
Hinh 26 Minh hoa mach điều khiển LED – MOTOR – SERVO 32 vi
Hinh 27 Giao di n điều khiển LED – MOTOR – SERVO 33 ê vi
Hinh 28 Kêt quả mô phỏng 33 vi
Bảng 1 Thông số cơ bản cua Arduino Uno R3 3 vii
Bảng 2 M t số ký hi u và câu l nh thương g p 11 ô ê ê ă vii
Bảng 3 Đ c điểm ky thu t Arduino Nano 13 ă â vii
Trang SỐ PHÁCH:……….
Trang 4Bảng 4 Chức năng các chân Arduino Nano 14 vii
Bảng 5 Chân ICSP 16 vii
Bảng 6 Chức năng cua các chân LCD 19 vii
Bảng 7 Giao tiêp I2C LCD Arduino 21 vii
Bảng 8 Sơ đồ chân Module thơi gian thưc DS1307 22 vii
CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1
1.1 Đ T VÂN ĐÊ Ă 1
1.2 GIẢI QUYẾT VÂN ĐÊ 2
CHƯƠNG 2 TỔNG QUAN VỀ LINH KIỆN 2
2.1 GIƠI THI U ARDUINO Ê 2
2.1.1 Arduino là gi? 2
2.1.2 Cấu tao cua Arduino 3
2.1.3 Thông số cơ bản cua Arduino Uno R3 3
2.1.4 Các loai Board Arduino phổ biên 4
2.1.5 Ứng dụng Arduino 5
2.2 PHÂN MÊM L P TRINH ARDUINO IDE Â 6
2.2.1 Giao di n phần mềm IDE ê 7
2.2.2 Cấu truc m t chương trinh trong phần mềm IDE ô 10
2.3 GIƠI THI U VÊ ARDUINO NANO Ê 12
2.4 GIƠI THI U VÊ LCD I2C Ê 18
2.4.1 Giới thi u LCD 16x2 ê 18
2.4.2 Thông số ky thu t LCD 16x2 â 18
2.4.3 Module LCD I2C 20
2.5 GIƠI THI U IC THƠI GIAN THƯC DS1307 Ê 21
2.6 GIAO TIẾP ARDUINO VƠI IC THƠI GIAN THƯC DS1307 23
2.7 GIAO TIẾP ARDUINO VƠI CẢM BIẾN NHI T Đ , Đ ÂM DHT11 Ê Ô Ô 23
CHƯƠNG 3 THI CÔNG VÀ THIẾT KẾ MẠCH 25
3.1 QUA TRINH ĐO NHI T Đ , Đ ÂM, ĐOC GIA TRI THƠI GIAN Ê Ô Ô 25
3.2 SƠ ĐỒ KHỐI CỦA MẠCH 25
3.3 LƯU ĐỒ THU T TOAN Â 26
3.4 SƠ ĐỒ NGUYÊN LÝ (MÔ PHỎNG TRÊN PROTEUS) 26
3.5 KẾT QUẢ MÔ PHỎNG TRÊN PROTEUS 27
3.6 KẾT QUẢ TRÊN MẠCH THƯC TẾ 27
CHƯƠNG 4 ĐIỀU KHIỂN MOTOR, SERVO VÀ LED BẰNG PHẦN MỀM VISUAL STUDIO 28
Trang 54.1 YÊU CÂU KIẾN THỨC CÂN NĂM KHI L P TRINH Â 28
4.2 THIẾT BI VÀ PHÂN MÊM CÂN THIẾT 28
4.3 TỔNG QUAN LÝ THUYẾT 28
4.3.1 Led đơn 28
4.3.2 Ky thu t điều chê đ r ng xung â ô ô 28
4.3.3 Giới thi u về đ ng cơ DC ê ô 29
4.3.4 Giới thi u về đ ng cơ bước SERVO ê ô 30
4.4 THIẾT KẾ VÀ L P TRINH GIAO DI N ĐIÊU KHIÊN LED – MOTOR Â Ê 32
4.4.1 Sơ đồ nguyên lý mach điều khiển LED – MOTOR – SERVO 32
4.4.2 Giao di n điều khiển LED – MOTOR – SERVO băng C# ê 32
4.5 KẾT QUẢ 33
CHƯƠNG 5 KẾT LUẬN 34 PHỤ LỤC
TÀI LIỆU THAM KHẢM
PHIẾU ĐÁNH GIÁ TIỂU LUẬN
Trang 6DANH MỤC HÌNH ẢNH
Hình 1 Thế kỷ XXI – Thời đại của khoa học công nghệ 1
Hình 2 Cấu tạo của Arduino Uno 3
Hình 3 Minh họa giao diện lập trình Arduino IDE 7
Hình 4 Minh họa vùng Toolbar trên giao diện Arduino IDE 8
Hình 5 Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp 9
Hình 6 Minh họa vùng viết chương trình 10
Hình 7 Tổng quan quá trình xử lý chương trình Arduino 10
Hình 8 Arduino Nano 14
Hình 9 Sơ đồ chân Arduino Nano 14
Hình 10 ICSP 16
Hình 11 Màn hình LCD 16x2 18
Hình 12 Module LCD I2C 20
Hình 13 Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2 21
Hình 14 Module DS1307 21
Hình 15 Sơ đồ chân DS1307 22
Hình 16 Sơ đồ nguyên lý DS1307 với Arduino 23
Hình 17 Module DHT11 24
Hình 18 Sơ đồ nguyên lý DHT11 với Arduino 24
Hình 19 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 26
Hình 20 Kết quả mô phỏng trên phần mềm proteus 27
Hình 21 Minh họa kết quả thực nghiệm 27
Hình 22 Minh họa phần trăm điều chế xung PWM 29
Hình 23 Minh họa cấu tạo động cơ điện một chiều 30
Hình 24 Minh họa động cơ bước và sơ đồ nguyên lý bên trong động cơ 30
Hình 25 Phương pháp điều khiển bước đủ 31
Hình 26 Minh họa mạch điều khiển LED – MOTOR – SERVO 32
Hình 27 Giao diện điều khiển LED – MOTOR – SERVO 33
Hình 28 Kết quả mô phỏng 33
Trang
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1 Thông số cơ bản của Arduino Uno R3 3
Bảng 2 Một số ký hiệu và câu lệnh thường gặp 11
Bảng 3 Đặc điểm kỹ thuật Arduino Nano 13
Bảng 4 Chức năng các chân Arduino Nano 14
Bảng 5 Chân ICSP 16
Bảng 6 Chức năng của các chân LCD 19
Bảng 7 Giao tiếp I2C LCD Arduino 21
Bảng 8 Sơ đồ chân Module thời gian thực DS1307 22
Trang 8CHƯƠNG 1 GIỚI THIỆU ĐỀ TÀI 1.1 ĐẶT VẤN ĐỀ
Thế giới XXI – Thời đại của khoa học công nghê, thời đại củanhững con chip, vi mạch, những thiết bị đôt phá của tương lai Kéotheo đó là sự phát triển vượt bâc của khoa học kỹ thuât đã cho ra đờinhiều sản phẩm mang tính đôt phá và có sức mạnh vượt trôi Cácsản phẩm này ngày càng hoàn thiên và càng được sử dụng rông rãitrong đời sống Kể từ đây thời đại của tự đông hóa, các thiết bị sốđang dần thống trị trong cuôc sống cách mạng khoa học kỹ thuât
Hì nh 1 Thế kỷ XXI – Thời đại của khoa học công nghê
Được biết đến là môt board mạch nhỏ gọn, tiên lợi nhưng đầysức mạnh ARDUINO NANO là môt trong những sản phẩm đôt phácủa công nghê vi mạch điên tử Đăc biêt ứng dụng trong các hêthống tự đông hóa, là môt sản phẩm mã nguồn mở nên ARDUINO dêdàng tương tác và thân thiên với người sử dụng Bất cứ ai cũng cóthể học nó, vân hành nó môt cách trơn tru Chúng ta sẽ cảm thấythât thú vị khi môt sản phẩm do chính mình tạo ra, rất đơn giảnnhưng hiêu quả thiết thực Chỉ cần môt cú click trên điên thoại là cóthể dê dàng điều khiển các thiết bị trong nhà, hay môt chú robot tựđông, môt máy đo nhiêt đô cầm tay…Tất cả không gì là không thểvới chúng ta Quả là môt điều tuyêt vời! Các nhà nghiên cứu đãmang đến cho chúng ta môt món quà, môt sản phẩm công nghê giárẻ nhưng đầy sức mạnh và thân thiên với người sử dụng
Hiên nay viêc đo nhiêt đô, đọc thời gian thực và điều khiển cácthiết bị tự đông là môt yêu cầu cần thiết và quan trọng Điều tối ưu
Trang 9để hê thống này hoạt đông tốt là sử dụng vi điều khiển tính toánchính xác và hoạt đông tin cây, môt cảm biến nhạy với sự thay đổicủa nhiêt đô, đô ẩm Vây hê thống đó là gì? Cấu tạo hoạt đông nhưthế nào? Và làm thế nào để thiết kế hê thống đó chúng ta sẽ tìmhiểu trong bài tiểu luân này.
1.2 GIẢI QUYẾT VẤN ĐỀ
Để đáp ứng được nhu cầu đo nhiêt đô, đô ẩm, hiển thị thời gianthực tự đông thì có nhiều phương pháp để thực hiên, nghiên cứukhảo sát board mạch ARDUINO NANO em nhân thấy rằng: ứng dụngARDUINO và viêc đo lường tự đông là phương pháp tối ưu Em đã tiếnhành thực hiên đề tài “MẠCH ARDUINO ĐO VÀ HIỂN THỊ NHIÊT ĐÔ,
ĐÔ ẨM, THỜI GIAN THỰC LÊN LCD – ĐIỀU KHIỂN MOTOR, SERVO VÀLED BẰNG PHẦN MỀM VISUAL STUDIO”
Với đề tài trên em đã thực hiên và tìm hiểu các vấn đề sau:
Tìm hiểu về linh kiên
Tìm hiểu về board mạch ARDUINO NANO
Tìm hiểu về cảm biến nhiêt đô, đô ẩm DHT11
Tìm hiểu về cảm biến thời gian thực DS1307
Tìm hiểu về LED đơn, đông cơ điên DC, đông cơ SERVO
Tìm hiểu về module LCD I2C
Tìm hiểu về sơ đồ khối hê thống và nguyên lí hoạt đông của mạch
Tìm hiểu về lưu đồ thuât toán
Lâp trình và mô phỏng
Thi công thiết kế hê thống trên
Thiết kế mạch nguyên lí
Thiết kế giao diên giao tiếp với PC
Hoàn thiên hê thống
CHƯƠNG 2 TỔNG QUAN VỀ LINH KIỆN 2.1 GIỚI THIỆU ARDUINO
2.1.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 nước Ý thiết kế và đưa ra đầu tiên vào năm 2005 MạchArduino được sử dụng để cảm nhân và điều khiển nhiều đối tượngkhác nhau Nó có thể thực hiên nhiều nhiêm vụ lấy tín hiêu từ cảmbiến đến điều khiển đèn, đông cơ, và nhiều đối tượng khác Ngoài ramạch còn có khả năng liên kết với nhiều module khác nhau như
Trang 10module đọc thẻ từ, ethernet shield, sim900A,… để tăng khả ứngdụ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ênbản thường được sử dụng nhiều nhất là Arduino Uno và ArduinoMega
Phần mềm để lâp trình cho mạch Arduino là phần mềm IDE
2.1.2 Cấu tạo của Arduino
Hì nh 2 Cấ u tạ o của Arduino Uno
2.1.3 Thông số cơ bản của Arduino Uno R3
Bảng 1 Thông số cơ bả n củ a Arduino Uno R3
Vi điều khiển Atmega 328 (họ 8 bit)
Điên áp hoạt đông 5V – DC (cấp qua cổng USB)
Tần số hoạt đông 16 MHz
Điên áp vào khuyên
Điên áp vào giới hạn 6 – 20V – DC
Trang 11Số chân Digital I/O 14 chân (6 chân PWM)
Số chân Analog 6 (đô phân giải 10 bit)
Dòng tối đa trên mỗi
Dòng ra tối đa (5V) 500mA
Dòng ra tối đa (3.3V) 50mA
Bô nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi
bootloader
2.1.4 Các loại Board Arduino phổ biến
Không giống như hầu hết các board mạch lâp trình trước đó,Arduino không yêu cầu môt phần cứng riêng để lâp trình mã mới lênboard mà bạn chỉ cần sử dụng cáp USB Đồng thời, phần mềmArduino IDE sử dụng phiên bản cơ bản của C ++, giúp viêc họcchương trình trở nên đơn giản hơn Chúng ta có thể tổng hợp môt sốloại Arduino phổ biến như sau:
Arduino Uno: Đây chính là loại board đơn giản nhất nên rất phù
hợp với những người mới bắt đầu tìm hiểu về lĩnh vực này Dữ liêusố bao gồm 14 chân, đầu vào gồm 6 chân 5V, khả năng phân giảilà 1024 mức, tốc đô 16MHz, điên áp từ 7V đến 12V Kích thước củaBoard này là 5,5x7cm
Arduino Micro: Bao gồm có đến 20 chân, trong đó có 7 chân có
thể phát PWM Loại này có thiết kế khá nhỏ gọn, kích thước chỉ5x2cm
Arduino Nano: Có thể nói đây chính là loại board có kích thước
nhỏ nhất chỉ 2x4cm, viêc lắp đăt được thực hiên dê dàng
Arduino Pro: Đây là môt thiết kế mới mẻ khi chân số không có
sẵn, tùy vào số chân bạn sử dụng để gắn trực tiếp và giúp tiếtkiêm được khoảng không lớn, ta thường thấy hai loại có nguồn3.3V và 5V
Arduino Mega: Chân số lên đến 64, 14 chân có thể phát PWM, 4
cổng truyền tiếp cùng kích thước khá lớn 5x10cm
Trang 12 Arduino Leonardo: Là board không có cổng nối USB dùng lâptrình Được thiết kế tại môt chip nhỏ điều khiển Kết nối qua COMảo và có thể kết nối với chuôt và bàn phím.
Arduino LilyPad: Board mạch Lily Pad Arduino là môt công nghêdêt điên tử có thể đeo được được mở rông bởi Leah Sang Buechley,và được thiết kế môt cách cẩn thân bởi dòng Lea Leah vàSparkFun Mỗi board được thiết kế môt cách tưởng tượng với cácmiếng kết nối khổng lồ & môt măt sau mịn màng để cho chúngđược khâu vào quần áo bằng chỉ Arduino này cũng bao gồm I / O,nguồn và cả board cảm biến được chế tạo đăc biêt cho hàng dêtmay điên tử
Arduino RedBoard: Board mạch RedBoard Arduino có thể được
lâp trình bằng cáp USB Mini-B bằng Arduino IDE Nó sẽ hoạt đôngtrên Windows 8 mà không phải sửa đổi cài đăt bảo mât của bạn.Nó không đổi do chip USB hoăc FTDI chúng tôi sử dụng và nó hoàntoàn phẳng ở măt sau Tạo nó rất đơn giản để sử dụng trong thiếtkế dự án Chỉ cần cắm board, chọn tùy chọn menu để chọnArduino UNO và bạn đã sẵn sàng để tải lên chương trình Bạn cóthể điều khiển RedBoard qua cáp USB bằng giắc cắm thùng
Ngoài ra, còn có thể kể đến: Arduino Diecimila, ArduinoDuemilanove, Arduino Due, v.v
2.1.5 Ứng dụng Arduino
Arduino có nhiều ứng dụng trong đời sống, trong viêc chế tạo cácthiết bị điên tử chất lượng cao Môt số ứng dụng có thể kể đến như:
Lâp trình robot: Arduino chính là môt phần quan trọng trong trungtâm xử lí giúp điều khiển được hoạt đông của robot
Lâp trình máy bay không người lái Có thể nói đây là ứng dụng cónhiều kì vọng trong tương lai
Game tương tác: chúng ta có thể dùng Arduino để tương tác vớiJoystick, màn hình,… để chơi các trò như Tetrix, phá gạch, Mario…và nhiều game rất sáng tạo nữa
Trang 13 Arduino điều khiển thiết bị ánh sáng cảm biến tốt Là môt trongnhững bô phần quan trọng trong cây đèn giao thông, các hiêu ứngđèn nháy được cài đăt làm nổi bât các biển quảng cáo.
Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụngkhác tùy thuôc vào khả năng sáng tạo của người sử dụng
2.2 PHẦN MỀM LẬP TRÌNH ARDUINO IDE
Arduino cung cấp đến môi trường lâp trình tích hợp mã nguồnmở hỗ trợ người dùng viết code và tải nó lên bo mạch Arduino Đâylà môi trường đa nền tảng, hỗ trợ môt loạt các bo mạch Arduino cùngrất nhiều tính năng đôc đáo Ứng dụng lâp trình này có giao diênđược sắp xếp hợp lý, phù hợp với cả những người dùng chuyênnghiêp lẫn không chuyên
Arduino có môi trường lâp trình được viết bằng java, hiên đangđược sử dụng cho các bo mạch Arduino và Genuido, được nhiều công
ty trên thế giới sử dụng để lâp trình cho các thiết bị của họ Java 2Platform Standard Edition cũng là môt IDE hỗ trợ Java Hiên Java 2Platform Standard Edition được rất nhiều người sử dụng
Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợcho môt loạt các bo mạch Arduino như Arduino Uno, Nano, Mega,Esplora, Ethernet, Fio, Pro hay Pro Mini cũng như LilyPad Arduino.Phần mềm này cũng phù hợp cho những lâp trình viên C và C ++ làthay thế hoàn hảo cho các IDE khác Với những ai muốn học lâp trìnhPHP, thì PHP Designer 2007 Personal là lựa chọn tốt Phần mềm PHPDesigner 2007 Personal cung cấp các giải pháp hiêu quả trong thiếtkế website
http://arduino.cc/en/Main/Software và tải về chương trình Arduino IDEphù hợp với hê điều hành của máy mình bao gồm Windown, Mac OShay Linux Đối với Windown có bản cài đăt (.exe) và bản Zip, đối vớiZip thì chỉ cần giải nén và chạy chương trình không cần cài đăt Môitrường phát triển tích hợp (IDE) của Arduino là môt ứng dụng đa nềntảng được viết bằng Java.Nó được thiết kế để dành cho các nhà phát
Trang 14triển và những người mới tâp tành làm quen với lĩnh vực phát triểnphần mềm Nó bao gồm môt trình biên tâp mã nguồn (code editor)với các chức năng như đánh dấu cú pháp, tự đông kiểm tra phù hợpdấu ngoăc và tự đông canh lề, cũng như biên dịch (complie) và tải(upload) chương trình lên bo Môt chương trình hoăc mã nguồn viếtcho Arduino được gọi là môt sketch.
Các tính năng chính của Arduino IDE:
Viết code cho bo mạch Arduino
Hỗ trợ nhiều loại bo mạch Arduino
Giao diên được sắp xếp hợp lý
Bô sưu tâp các ví dụ mẫu
Mảng thư viên hỗ trợ phong phú
v.v
2.2.1 Giao diện phần mềm IDE
Hình 3 Minh họa giao diên lập trình Arduino IDE
Các chương trình Arduino được viết bằng C hoăc C++ ArduinoIDE đi kèm với môt thư viên phần mềm được gọi là "Wiring", từ
Trang 15project Wiring gốc, có thể giúp các thao tác input/output được dêdàng hơn Người dùng chỉ cần định nghĩa 2 hàm để tạo ra môtchương trình vòng thực thi (cyclic executive) có thể chạy được.
Arduino IDE là nơi để soạn thảo chương trình, kiểm tra lỗi vànạp chương trình cho Arduino Giao diên này gồm có 3 vùng rõ ràng
- Vùng Toolbar có chứa các phím lênh như kiểm tra chươngtrình, nạp chương trình, lưu, mở hay tạo mới chương trình
Hì nh 4 Minh họa vùng Toolbar trên giao diên Arduino
IDE
Các nút chức năng có nhiêm vụ như sau
Sketch
upload sketch to arduino.
Sketch có lênh in ra màn hình hay gửi ký tự thông qua chuẩn
RS232-Open Serial Monitor.
- Current tab: Sketch đang được mở hiên tại, có thể đồng thời có
nhiều tab tương ứng với nhiều sketch hiên trên thanh tab
- Tab menu: Vào menu để chọn các chỉ dẫn.
Ngoài ra, trong Tool menu ta quan tâm các mục mạch và cổngnối tiếp như mục Board Ở đây viêc lựa chọn bo mạch cho phù hợp
Trang 16với loại bo mà chúng ta đang sử dụng đóng vai trò hết sức quantrọng Nếu sử dụng loại bo mạch khác thì phải chọn đúng loại bomạch, nếu chọn sai thì nạp chương trình vào chip sẽ bị báo lỗi.
Hì nh 5 Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp
Cổng giao tiếp giữa máy tính và Board được thiết lâp thông quatab Serial Port: đây là nơi lựa chọn cổng COM của Arduino Khi chúng
ta cài đăt driver thì máy tính sẽ hiên thông báo tên cổng COM củaArduino là bao nhiêu( xem ở phần Device Manager), ta chỉ viêc vàoSerial Port chọn đúng cổng COM để nạp chương trình, nếu chọn saithì không thể nạp chương trình cho Arduino được
- Vùng viết chương trình được đánh số dòng như hình vẽ Đây lànơi để viết các dòng lênh điều khiển hoạt đông của VĐK
Trang 17Hình 6 Minh họa vùng viết chương trình.
2.2.2 Cấu trúc một chương trình trong phần mềm IDE
Hì nh 7 Tổng quan quá trình xử lý chương trình Arduino
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ântrê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 địnhnghĩ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,…
Phần 2: Thiết lập (void setup())
Trang 18Serial.begin(9600); Dùng để truyền dữ liêu từ board
Arduino lên máy tínhpinMode(biến, kiểu và hoăc ra) Dùng để xác định kiểu chân là đầu
vào hay đầu raVí dụ: pinMode(ChanDO, INPUT);
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êncác nhiêm vụ mà chúng ta mong muốn, thường bắt đầu bằng:
void loop() {
…………
}
Bảng 2 Một số ký hiêu và câu lênh thường gặp
Ký hiệu, câu
//
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
Trang 19n, trạ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
Ví dụ: digital(led,HIGH); hoăc digital(led,LOW); Chú ý dấu chấm phẩy đằng sau câu lênh
if() {Các câu
trị tiếp theo sẽ được in ở dòng kế tiếp
2.3 GIỚI THIỆU VỀ ARDUINO NANO
Arduino Nano là môt bảng vi điều khiển thân thiên, nhỏ gọn,đầy đủ Arduino Nano năng khoảng 7g với kích thước từ 1,8cm -4,5cm Bài viết này trình bày về các thông số kỹ thuât quan trọng,
Trang 20nhất là sơ đồ chân và chức năng của mỗi chân trong bảng ArduinoNano.
Arduino Nano có chức năng tương tự như Arduino Duemilanovenhưng khác nhau về dạng mạch Nano được tích hợp vi điều khiểnATmega328P, giống như Arduino UNO Sự khác biêt chính giữa chúnglà bảng UNO có dạng PDIP (Plastic Dual-In-line Package) với 30 châncòn Nano có sẵn trong TQFP (plastic quad flat pack) với 32chân Trong khi UNO có 6 cổng ADC thì Nano có 8 cổng ADC BảngNano không có giắc nguồn DC như các bo mạch Arduino khác, màthay vào đó có cổng mini-USB Cổng này được sử dụng cho cả viêclâp trình và bô giám sát nối tiếp Tính năng hấp dẫn của arduinoNano là nó sẽ chọn công xuất lớn nhất với hiêu điên thế của nó
Bảng 3 Đặc điểm kỹ thuật Arduino Nano
Arduino Nano Thông số kỹ thuật
Bô nhớ Flash 32 KB of which 2 KB used by
BootloaderĐiên áp ngõ vào (7 – 12) Volts
Kích thước bo mạch 18 x 45 mm
Trang 21Hình 9 Sơ đồ chân Arduino Nano
Bảng 4 Chức năng các chân Arduino Nano
Thứ
tự
chân
Tên chân
1 D1 / TX I / O Ngõ vào/ra số Chân TX-truyền
Trang 2217 3V3 Đầu ra Đầu ra 3.3V (từ FTDI)
19 A0 Đầu vào Kênh đầu vào tương tự kênh 0
20 A1 Đầu vào Kênh đầu vào tương tự kênh 1
21 A2 Đầu vào Kênh đầu vào tương tự kênh 2
22 A3 Đầu vào Kênh đầu vào tương tự kênh 3
23 A4 Đầu vào Kênh đầu vào tương tự kênh 4
24 A5 Đầu vào Kênh đầu vào tương tự kênh 5
25 A6 Đầu vào Kênh đầu vào tương tự kênh 6
26 A7 Đầu vào Kênh đầu vào tương tự kênh 7
đầu vào
Đầu ra + 5V (từ bô điều chỉnh
On board) hoăc + 5V (đầu vào từ nguồn điên bên ngoài)
28 RESET Đầu vào Chân đăt lại, hoạt đông ở mức
thấp
30 VIN Nguồn Chân nối với nguồn vào