MỤC LỤCLỜI NÓI ĐẦU…………………………………………………………………...4CHƯƠNG I: GIỚI THIỆU………..……………………………………………..51.1Đặt vấn đề……………………………………………………...51.2Mục tiêu nghiên cứu…………………………………………...71.3Gỉa thuyết khoa học…………………………………………....71.4Lĩnh vực nghiên cứu …………………………………………..81.5Phương pháp nghiên cứu………………………………………8CHƯƠNG II: TỔNG QUAN VỀ BOARD MẠCH ARDUINO UNO………….92.1 Arduino là gì…………………………………………………...92.2 Lịch sử hình thành……………………………………………..112.3 Khái quát cấu tạo cuả ARDUINO UNO……………………….122.3.1 Phần cứng…………………………………………….122.3.2 Các thành phần chức năng…………………………....142.3.3 Thông số kỹ thuật…………………………………......152.4 Phần mềm ARDUINO IDE…………………………………....162.4.1 ARDUINO Toolbar…………………………………..182.4.2 Arduino IDE Menu..………………………………….182.5 Một số ứng dụng cơ bản của ARDUINO UNO……………….222.5.1 Trong công nghiệp…………………………………....222.5.2 Trong dân dụng……………………………………….232.5.3 Trong học tập…………………………………………23CHƯƠNG III: ỨNG DỤNG ĐIỀU KHIỂN CÁC THIẾT BỊ TỪ XA TRONG GIA ĐÌNH QUA ĐIỆN THOẠI SỬ DỤNG ARDUINO UNO………………………253.1 Giới thiệu ứng dụng……………………………………………253.2 Linh kiện……………………………………………………....253.2.1 Module Bluetooth HC06……………………………..253.2.2 Phần mềm DroiDuino………………………………...263.2.3 Khối công suất………………………………………..273.2.4 Nguồn cung cấp……………………………………....283.2.5 Sơ đồ kết nối và chương trình…………………………293.2.6 Sản phẩm demo thực tế……………………………….323.3 Ý nghĩa………………………………………………………...32CHƯỚNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN………………………334.1 Kết luận………………………………………………………..334.2 Hướng phát triển đề tài………………………………………...33PHỤ LỤC CÀI ĐẶT ARDUINO IDE VÀ DRIVER……………………………35TÀI LIỆU THAM KHẢO………………………………………………………38
Trang 1LỜI CẢM ƠN
Chúng em xin gửi lời cảm ơn chân thành đến quý thầy cô của trường đại học công nghiệp thưc phẩm TP Hồ Chí Minh nói chung cũng như thầy cô ở khoa công nghệ điện - điện tử nói riêng, đã tận tình giảng dạy và giúp đỡ để chúng em
có thể hoàn thành được bài báo này Sau thời gian học tập tại trường, chúng em đã tiếp nhận được nhiều kiến thức bổ ích từ quý thầy cô, nó sẽ là hành trang quý báu
để ứng dụng vào cuộc sống và công việc sau này
Đặc biệt chúng em xin chân thành cảm ơn thầy Hoàng Văn Huệ, thầy là người đã tận tình hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi nhất cho chúng
em trong suốt quá trình thực hiện tiểu luận này Để có được thành quả như ngày hôm nay là nhờ vào sự hướng dẫn và những ý kiến đóng góp vô cùng quý báu của thầy
Chúng em xin cảm ơn bạn bè và người thân trong gia đình đã giúp đỡ, đóng góp ý kiến và động viên em để có thể hoàn thành đề tài và đúng như kế hoạch đã
đề ra
Một lần nữa chúng em xin chân thành cảm ơn quý thầy cô của trường, đặc biệt là thầy Hoàng Văn Huệ người đã tận tình hướng dẫn chúng em Cuối cùng chúng em xin gửi lời chúc đến quý thầy cô cùng các bạn sinh viên của trường được dồi dào sức khỏe và thành công trong công việc
Chúng em xin chân thành cảm ơn!
Sinh viên thực hiện
NHÓM: 13
LỚP 03DHDT
Trang 2MỤC LỤC
LỜI NÓI ĐẦU……… 4
CHƯƠNG I: GIỚI THIỆU……… ……… 5
1.1 Đặt vấn đề……… 5
1.2 Mục tiêu nghiên cứu……… 7
1.3 Gỉa thuyết khoa học……… 7
1.4 Lĩnh vực nghiên cứu ……… 8
1.5 Phương pháp nghiên cứu………8
CHƯƠNG II: TỔNG QUAN VỀ BOARD MẠCH ARDUINO UNO………….9
2.1 Arduino là gì……… 9
2.2 Lịch sử hình thành……… 11
2.3 Khái quát cấu tạo cuả ARDUINO UNO……….12
2.3.1 Phần cứng……….12
2.3.2 Các thành phần chức năng……… 14
2.3.3 Thông số kỹ thuật……… 15
2.4 Phần mềm ARDUINO IDE……… 16
2.4.1 ARDUINO Toolbar……… 18
2.4.2 Arduino IDE Menu ……….18
2.5 Một số ứng dụng cơ bản của ARDUINO UNO……….22
2.5.1 Trong công nghiệp……… 22
2.5.2 Trong dân dụng……….23
2.5.3 Trong học tập………23
CHƯƠNG III: ỨNG DỤNG ĐIỀU KHIỂN CÁC THIẾT BỊ TỪ XA TRONG GIA ĐÌNH QUA ĐIỆN THOẠI SỬ DỤNG ARDUINO UNO………25
3.1 Giới thiệu ứng dụng………25
3.2 Linh kiện……… 25
3.2.1 Module Bluetooth HC06……… 25
3.2.2 Phần mềm DroiDuino……… 26
Trang 33.2.4 Nguồn cung cấp……… 28
3.2.5 Sơ đồ kết nối và chương trình………29
3.2.6 Sản phẩm demo thực tế……….32
3.3 Ý nghĩa……… 32
CHƯỚNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN………33
4.1 Kết luận……… 33
4.2 Hướng phát triển đề tài……… 33
PHỤ LỤC CÀI ĐẶT ARDUINO IDE VÀ DRIVER………35
TÀI LIỆU THAM KHẢO………38
Trang 4LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn Với sự phát triển vượt bậc của khoa học kỹ thuật đã cho ra đời nhưng sản phẩm vi mạch tiên tiến với tốc độ vượt trội
Để tìm hiểu sâu hơn vào lĩnh vực này chúng em quyết định chọn đề tài: Tìm
hiểu về board mạch ARDUINO UNO và ứng dụng điều khiển các thiết bị từ xa của
nó trong gia đình
Dưới sự hướng dẫn, chỉ bảo nhiệt tình của thầy Hoàng Văn Huệ cùng với
sự cố gắng nỗ lực của các thành viên trong nhóm, chúng em đã hoàn thành bài báo cáo đúng thời hạn cho phép Tuy nhiên do thời gian hạn chế, cũng như lượng kiến thức rất lớn nên nhóm chúng em không thể tránh khỏi nhiều thiếu xót Vì vậy chúng em rất mong sẽ nhận được nhiều ý kiến đánh giá, góp ý của thầy cô giáo
và các bạn sinh viên để có thể phát triển và hoàn thiện thêm đề tài này
Xin chân thành cảm ơn!
Sinh viên thực hiện
NHÓM: 13
LỚP 03DHDT
Trang 5CHƯƠNG I: GIỚI THIỆU 1.1 Đặt vấn đề
Thế kỉ XXI - Thời đại của khoa học công nghệ, thời đại của những con chip,
vi mạch, những thiết bị đột phá của tương lai Kéo theo đó là sự phát triển vượt bậc của khoa học kỹ thuật đã cho ra đời nhiều sản phẩm mang tính đột phá và có sức mạnh vượt trội Các sản phẩm này ngày càng hoàn thiện và càng được sử dụng rộng rãi trong đờ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 cách mạng khoa học kỹ thuật Vậy một trong những sản phẩm đó là gì? Và ứng dụng tự động hóa của nó như thế nào? Chúng ta sẽ được làm rõ trong bài báo cáo này
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 đầy sức mạnh ARDUINO UNO 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ấy thật thú vị khi một sản phẩm do chính mình tạo ra, rất đơn giản như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à nhiê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à rất thân thiện với người sử dụng
Trang 6Một ứng dụng khá thú vị của ARDUINO UNO chính là điều khiển, tương tác với các thiết bị điện từ xa, qua mạng không dây, qua sóng radio, qua bluetooth… Rất dễ dàng và tiện lợi Ví dụ như một hệ thống điện trong nhà, chúng
ta có thể thiết lập nó trở thành một ngôi nhà thông minh, tất cả mọi thứ đều tự động hoặc được điều khiển từ xa qua chính bàn tay của chúng ta Các cánh cửa thông minh tự động đóng mở khi có người bước vào, các hệ thống đèn sáng tắt khi
có người hiện diện trong phòng, hệ thống báo trộm, hệ thống cảnh báo nhiệt độ… Tất cả đều trở nên đơn giản với ARDUINO UNO.Từ những tính năng ưu việt trên, cũng như nhu cầu về các sản phẩm thông minh của con người ngày càng cao, chúng em quyết định chọn đề tài: Tìm hiểu về board mạch ARDUINO UNO và ứng dụng của nó trong việc điều khiển các thiết bị từ xa trong gia đình
Điều khiển led từ xa sử dụng ARDUINO
Với đề tài trên chúng em đã thực hiện và tìm hiểu bao gồm các vấn đề sau:
Tìm hiểu về board mạch ARDUINO UNO
Ứng dụng của nó trong việc điều khiển các thiết bị từ xa trong gia đình
Trang 71.2 Mục tiêu nghiên cứu
1.3 Gỉa thuyết khoa học
ARDUINO UNO thiết kế đơn giản nhưng có sức mạnh vượt trội, dễ thao tác, được ứng dụng trong nhiều lĩnh vực
ARDUINO UNO điều khiển các thiết bị từ xa qua điện thoại, máy tính, dễ dàng tương tác với các thiết bị thông minh
ARDUI UNO sẽ ngày càng hoàn thiện và phát triển mạnh mẽ, đóng góp lớn cho nền khoa học – kỹ thuật hiện đại
Ứng dụng
cơ bản
Tìm hiểu phần cứng
Tìm hiểu phần mềm
Ý nghĩa thực tiễn
Trang 8Ứng dụng điều khiển thiết
bị từ xa qua điện thoại ARDUINO UNO
Khoa học kỹ thuật cơ bản
Lĩnh vực dân dụng
ARDUINO UNO
Phòng thí nghiệm
Thiết
kế bARD UINO
cơ bản
Mạng
internet
Các bài báo, tạp chí khoa học
Giáo trình chuyên ngành
Tư vấn
từ các cửa hàng
Trang 9CHƯƠNG II: TỔNG QUAN VỀ BOARD MẠCH ARDUINO UNO 2.1 ARDUINO là gì?
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương
tác với nhau hoặc với môi trường đuợc thuận lợi hơn 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ại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board
mở rộng khác
Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các ứng dụng Android tương tác với cảm biến và các thiết
bị khác?
Board mạch ARDUINO
Arduino thật ra là một board mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính
là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm Chỉ với
Trang 10khoảng $30, người dùng đã có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị
Được giới thiệu vào năm 2005, những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những nhiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++
ARDUINO MEGA2560
Trang 112.2 Lịch sử hình thành
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy Vào thời điểm đó các sinh viên sử dụng một "BASIC Stamp" (con tem Cơ Bản)
có giá khoảng $100, xem như giá dành cho sinh viên Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt Bản thân quán bar này có được lấy tên là Arduino, Bá tước của Ivrea và là vua của Italy từ năm 1002 đến 1014
Nhóm thành viên sáng lập ARDUINO
Lý thuyết phần cứng được đóng góp bởi một sinh viên người Colombia tên
là Hernando Barragan Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu
đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng
mã nguồn mở Trường này cuối cùng bị đóng cửa, vì vậy các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã phổ biến ý tưởng này
Giá hiện tại của board mạch này giao động xung quanh $30 và được làm giả đến mức chỉ còn $9 Một mạch bắt chước đươn giản Arduino Mini Pro có lẽ được xuất phát từ Trung Quốc có giá rẻ hơn $4, đã trả phí bưu điện
Trang 122.3 Khái quát cấu tạo của ARDUINO UNO
2.3.1 Phần cứng
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được
gọi là shield Vài shield truyền thông với board Arduino trực tiếp thông qua các
chân khác nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus nhiều shield có thể được xếp chồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ATmega2560
I2C-Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh giao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị Một vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp chương trình
Phần cứng ARDUINO UNO
Trang 13Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Các board Arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232 Vài biến thể, như Arduino Mini và Boarduino không chính thức sử dụng một board adapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O số Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân header đực ở mặt trên của board dùng để cắm vào các breadboard
Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong số đó có chức năng tương đương với Arduino và có thể sử dụng để thay thế qua lại Nhiều mở rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp' và các robot nhỏ Những board khác thường tương đương về điện nhưng có thay đổi về hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức
độ tương thích khác nhau
Arduino-compatible
Trang 142.3.2 Các thành phần chức năng
USB Connector:
Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cáp USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho Arduino
Power Jack:
Khi không sử dụng USB làm nguồn thì chúng ta có thể sử dụng nguồn ngoài thông qua jack cắm 2.1mm (cực dương ở giữa) hoặc có thể sử dụng 2 chân Vin và GND để cấp nguồn cho Arduino
Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 12 volt Chúng ta có thể cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5 volt Và nếu sử dụng nguồn lớn hơn 12 volt thì sẽ có hiện tượng nóng và làm hỏng board mạch Khuyết cáo các nên dùng nguồn ổn định từ 5 đến dưới 12 volt
Trang 15 Power Supply
Chân 5V và chân 3.3V (Output voltage): các chân này dùng để lấy nguồn
ra từ nguồn mà chúng ta đã cung cấp cho Arduino Lưu ý: không được cấp nguồn vào các chân này vì sẽ làm hỏng Arduino
GND: chân mass
Chip ATmega328:
Chip ATmega328 có 32KB bộ nhớ flash trong đó 1KB sử dụng cho bootloader
Digital I/O pins
Arduino UNO có 14 chân digital với chức năng input và output sử dụng các hàm pinMode(), digitalWrite() và digitalRead() để điều khiển các chân
Cũng trên 14 chân digital này chúng ta còn một số chân chức năng đó là: Serial: 0 và 1 Dùng để truyền (Tx) và nhận (Rx) dữ liệu nối tiếp TTL Chúng ta
có thể sử dụng nó để giao tiếp với cổng COM của một số thiết bị hoặc các linh kiện có chuẩn giao tiếp nối tiếp
PWM (pulse width modulation): các chân 2 đến 13 trên bo mạch Các chân PWM giúp chúng ta có thể sử dụng nó để điều khiển tốc độ động cơ, độ sáng của đèn…
Reset button : dùng để reset Arduino
2.3.3 Thông số kỹ thuật
Vi xử lý: Atmega328
Điện áp hoạt động: 5V
Điện áp đầu vào: 7-12V
Điện áp đầu vào (Giới hạn): 6-20V
Chân vào/ra (I/O) số: 14 ( 6 chân có thể cho đầu ra PWM)
Chân vào tương tự: 6
Dòng điện trong mỗi chân I/O: 40mA
Dòng điện chân nguồn 3.3V: 50mA
Bộ nhớ trong: 32 KB (ATmega328)
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Xung nhịp: 16MHz
Trang 16Chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ
Khi các chúng ta bật điện bảng mạch Arduino, reset hay nạp chương trình
mới, hàm setup() sẽ được gọi đến đầu tiên Sau khi xử lý xong hàm setup(), Arduino sẽ nhảy đến hàm loop() và lặp vô hạn hàm này cho đến khi tắt điện board
mạch Arduino Chu trình đó có thể mô tả trong hình dưới đây:
Trang 17tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino
Arduino IDE là nơi để soạn thảo code, kiểm tra lỗi và upload code cho Arduino
Arduino IDE
Trang 18
New, Open, Save: Tạo mới, mở và lưu sketch (3)
Serial Monitor: Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính (4)
2.4.2 Arduino IDE Menu
IDE menu
File menu:
Trang 19
Trong file menu chúng ta quan tâm tới mục Examples đây là nơi chứa code mẫu ví dụ như: cách sử dụng các chân digital, analog, sensor,…
Add File: thêm vào một Tap code mới
Import Library: thêm thư viện cho IDE