Và một trong những giảipháp mà nhóm đang hướng đến đó là sử dụng mạng Internet để điều khiển các thiết bịđiện trong nhà.. Giờ đây, với sự trợ giúp của những công nghệ mới, chỉ với một ch
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM
KHOA ĐIỆN – ĐIỆN TỬ
PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN
Trang 2TP Hồ Chí Minh – 2018
MỤC LỤC
MỤC LỤC 2
LỜI NÓI ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 2
CHƯƠNG 2: LẮP ĐẶT VÀ NẠP CODE 25
CHƯƠNG 3: TẠO ĐỊA CHỈ CHO THIẾT BỊ ĐIỀU KHIỂN 38
LỜI KẾT 45
TÀI LIỆU THAM KHẢO 46
Trang 3LỜI NÓI ĐẦU
Như chúng ta đã biết, khoa học công nghệ ngày nay đang phát triển nhanhchóng Chúng ta đang sống trong thời đại này, thời đại của công nghệ thông tin và tựđộng hóa Và tự động hóa ngày nay đang trở thành xu hướng chung của toàn cầu
Thật vậy, công nghệ tự động hóa ngày nay đã được ứng dụng rất nhiều trongđời sống giúp con người có được một cuộc sống tiện nghi và hiện đại hơn Một trongnhững đối tượng được phát triển đó chính là năng lượng điện – nguồn năng lượngkhông thể thiếu trong đời sống ngày nay Và một trong số những thiết bị được kỳ vọng
đó chính là ngôi nhà thông minh hay rộng hơn đó là Internet of Things Đề tài “Điều khiển thiết bị điện qua Internet sử dụng Arduino” mà nhóm đang hướng đến tuy
không quá mới mẻ nhưng hứa hẹn sẽ đem đến cho người sử dụng những ứng dụng tốtnhất của công nghệ này Đề tài gồm 3 chương:
Chương 1: Giới thiệu tổng quan
Chương 2: Tiến hành lắp đặt và nạp code
Chương 3: Tạo địa chỉ cho thiết bị điều khiển
Trong quá trình nghiên cứu nhóm đã cố gắng hết sức, song khó tránh khỏinhững thiếu sót Nhóm rất mong nhận được sự đóng góp ý kiến của quý thầy cô và cácbạn để đề tài được hoàn thiện hơn Xin chân thành cảm ơn
Các tác giả
1
Trang 4CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1 Giới thiệu chung
Như đã chia sẻ trong lời nói đầu, khoa học kỹ thuật ngày nay đang hướng đếnnhững giải pháp điều khiển thông minh thay thế con người hay chí ít là hỗ trợ conngười trong việc điều khiển những thiết bị xung quanh mình Và một trong những giảipháp mà nhóm đang hướng đến đó là sử dụng mạng Internet để điều khiển các thiết bịđiện trong nhà Nói đến điện – nguồn năng lượng gần như không thể thiếu trong đờisống trong đời sống ngày nay vì hầu hết các thiết bị gia dụng ngày nay đều phải sửdụng điện để hoạt động Chắc hẳn ai trong chúng ta cũng đã hiểu được cái cảm giáckhó chịu khi những chiếc bóng đèn hay những chiếc quạt không thể hoạt động mỗi khicúp điện Nếu như ngày trước, khi ta muốn bật - tắt một bóng đèn hay một chiếc quạttrong nhà, ta phải trực tiếp thao tác bằng tay lên những công tắc hay những phích cắm,điều này đôi khi đem lại những bất tiện và phiền hà hoặc có thể gây nguy hiểm chongười sử dụng Giờ đây, với sự trợ giúp của những công nghệ mới, chỉ với một chiếcđiện thoại Smartphone được tích hợp ta hoàn toàn có thể điều khiển những thiết bịđiện trong nhà một cách linh hoạt và tiện nghi hơn thông qua những ứng dụng hoàntoàn miễn phí được chia sẻ trên thư viện của Android, IOS, …
Chắc hẳn chúng ta đã quá quen thuộc khi nhắc đến thuật ngữ “Mạng máy tínhtoàn cầu” hay còn lại là Internet Internet đã mở ra cho chúng ta sự liên kết rộng lớnvới thế giới bên ngoài Và đối với những người nghiên cứu trong lĩnh vực tự động hóa– điều khiển thì Internet thật sự là một công cụ hỗ trợ đắc lực để họ thực hiện những ýtưởng một cách hoàn hảo nhất
Như chúng ta đã biết, thị trường công nghệ trong năm 2015 đã bắt đầu cónhững bước chuyển mình rất lớn và một trong số những thiết bị được kỳ vọng đóchính là ngôi nhà thông minh hay rộng hơn đó là Internet of Things Khi ngôi nhà củachúng ta được kết nối Internet, nó sẽ giúp ta mở rộng phạm vi điều khiển ra rất nhiều.Thử tưởng tượng khi ta ngồi ở bất cứ đâu với một thiết bị có thể kết nối Internet, tahoàn toàn có thể điều khiển được những thiết bị trong nhà theo ý muốn, chẳng hạn như
Trang 5khi ta đi ra ngoài mà quên tắt điện hoặc khi ta muốn theo dõi ngôi nhà qua hệ thốngcamera giám sát khi ta đang ở bất kỳ đâu,… Khi điều đó vượt khỏi phạm vi kiểm soátcủa sóng Bluetooth hay một giao diện máy tính thông thường, thì việc kết nối Arduinovới Internet là cần thiết.
1.2 Đối tượng nghiên cứu
1.2.1 Ngôi nhà thông minh (Smart Home)
Khái niệm
Nhà thông minh (tiếng Anh: Smart Home hoặc Intellihome) là kiểu nhà đượclắp đặt các thiết bị điện, điện tử có tác dụng tự động hoá hoàn toàn hoặc bán tự động,thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển
Nhà thông minh có đặc trưng nổi bật là sự tiết kiệm tối đa tiêu hao năng lượngdưới mọi dạng mà vẫn tạo điều kiện thoải mái và tiện nghi tối đa cho chủ nhân
Trong căn nhà thông minh, đồ dùng trong nhà từ phòng ngủ, phòng khách đếntoilet đều gắn các bộ điều khiển điện tử có thể kết nối với Internet và điện thoại diđộng, cho phép chủ nhân điều khiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhàhoạt động theo lịch Thêm vào đó, các đồ gia dụng có thể hiểu được ngôn ngữ củanhau và có khả năng tương tác với nhau
Hiện tại trên thế giới có rất nhiều hãng cung cấp nhà thông minh trong đó nổibật nhất là các hãng Home Automation Inc (HAI - Nay là Leviton security &Automation), ELK, Vantage, Control4
Biệt thự Thái Bình Dương của Bill Gates, được mệnh danh là "ngôi nhà thôngminh" đầu tiên trong lịch sử loài người cả về nghĩ đen và nghĩa bóng, do có những hệthống trang, thiết bị điện tử tinh vi, hiện đại và rất phức tạp được bố trí ở nội thất bêntrong
Các chức năng chính thường sử dụng trong nhà thông minh:
+ Điều khiển chiếu sáng (on/off, dimmer, scence, timer, logic, )
+ Điều khiển mành, rèm, cửa cổng
+ Hệ thống An ninh, báo động, báo cháy
3
Trang 6+ Điều khiển điều hòa, máy lạnh.
+ Hệ thống âm thanh đa vùng
Tờ báo ABC News của Mỹ cho rằng ý tưởng về một ngôi nhà thông minh nghe
có vẻ như là một thứ gì đó chỉ có ở các bộ trong phim viễn tưởng của Mỹ Năm 1999,
bộ phim có tựa đề "Smart House" đã phác thảo về nhà thông minh qua một câu chuyệnhài hước: Một cậu bé 13 tuổi giành được giải thưởng trong một cuộc thi máy tính là
Trang 7một "ngôi nhà của tương lai" với cô giúp việc ảo PAT (viết tắt của Công nghệ ứngdụng cá nhân).
PAT rất tài tổ chức các bữa tiệc và đảm bảo cho ngôi nhà quy củ, trật tự Nhưngkhi cha cậu bé bắt đầu hẹn hò với người đã làm ra ngôi nhà, cậu bé lập trình lại PAT để
nó hoạt động gần giống như có sự chăm sóc của mẹ hơn Do đó, cha cậu sẽ không nghĩrằng họ cần một người mẹ khác nữa Từ đó, mọi thứ trong ngôi nhà thông minh đảolộn, gây ra những tình huống dở khóc dở cười và kết cục là cậu bé có 2 "người mẹ",một là mẹ kế và một là ngôi nhà thông minh
Nhiều bộ phim khoa học giả tưởng Hollywood khác cũng khai thác nội dung vềcông nghệ nhà thông minh mà nhiều người có thể nghĩ là không thể
Trước đây, nhà thông minh chỉ hoàn toàn nằm trong trí tưởng tượng cũng nhưtrên phim ảnh mà thôi Nhưng từ đầu những năm 1900, "ông tổ" của nhà thông minh -tức các thiết bị điều khiển từ xa, bắt đầu được nghiên cứu và phát minh, tạo tiền đề cho
sự ra đời của chúng sau này
Sự manh nha phát triển của các thiết bị điện gia dụng bắt đầu từ năm 1915, đểrồi ý tưởng tự động hóa các thiết bị trong nhà xuất hiện vào những năm 1930 Đến tậnnăm 1984, thuật ngữ "Smarthome" mới xuất hiện!
Cùng với sự phát triển đến chóng mặt của công nghệ, nhà thông minh cũng từ
đó được để ý đến và nhận được sự đầu tư nhiều hơn Đến năm 2012, theo báo cáo củaABI Research, tại Mỹ đã có 1,2 triệu căn nhà được "tự động hóa"!
- Hiện tại và tương lai
Vài năm trở lại đây, khi thế giới đang dần tiến vào kỷ nguyên Internet of Things(IoT), kết nối mọi vật qua Internet, nhà thông minh trở thành một xu hướng công nghệtất yếu, là tiêu chuẩn của nhà ở hiện đại Tại triển lãm lớn nhất thế giới về công nghệđiện tử và tiêu dùng diễn ra đầu tháng 1/2015 tại Las Vegas (Mỹ), nhà thông minh làmột trong những chủ đề "nóng" nhất Còn theo hãng tư vấn công nghệ hàng đầuGartner, công nghệ IoT sẽ bùng nổ kể từ năm 2015 với sự tham gia của hầu hết cáchãng công nghệ tên tuổi
5
Trang 8Việt Nam không nằm ngoài xu hướng này Trong năm 2014, chủ đầu tư củahàng loạt khu đô thị lớn như Phú Mỹ Hưng, Royal City, Times City, Ecopark,Vinhomes Central Park đã đưa Nhà thông minh tới các căn hộ, mang lại sự tiện nghi
và đẳng cấp cho nhà ở tại đây
Các căn hộ thông minh đã xuất hiện trong các khu đô thị cao cấp như Phú MỹHưng, Royal City, Times City, Với mong muốn “phủ sóng” nhà thông minh tại ViệtNam Tập đoàn công nghệ BKAV đã ký hợp tác đưa giải pháp nhà thông minh BKAVSmartHome vào các khu đô thị cao cấp Ecopark (Hà Nội), Vinhomes Central Park (TP
Hồ Chí Minh),…
Smarthome sẽ phát triển trong tương lai?
Hiện nay, khái niệm ngôi nhà thông minh còn khá mơ hồ trong tâm trí ngườidùng Cũng giống như cách đây gần 20 năm, Smartphone là một thiết bị gì đó màkhông phải ai cũng nghĩ nó sẽ thành hiện thực cho đến khi Apple làm một cuộc “cáchmạng” bằng iPhone Và bây giờ, Smarthome cũng đang trong tình trạng đó
Tuy nhiên, đây là một “mảnh đất” rất “màu mỡ”, các tập đoàn và công ty côngnghệ hiện nay đã, đang và sẽ đầu tư vào Smarthome rất nhiều Theo hãng nghiên cứuGartner, công nghệ nhà thông minh có thể đóng góp 1,9 nghìn tỷ USD cho kinh tế thếgiới vào năm 2020 Với các phát kiến gần đây về mạng và thiết bị, cuộc chiến trên mặttrận nhà thông minh của Apple, Google, Samsung và Amazon đang "nóng" lên từngngày
Công nghệ và thiết bị cho ngôi nhà thông minh đang được các công ty trongngành xây dựng quan tâm nhiều Tại châu Âu, ngày càng có nhiều điều luật bắt buộc
Có ai dám nghĩ một ngày nào đó Smartphone trở thành một điều bình thường?
Trang 9các ngôi nhà mới xây phải có chứng chỉ thân thiện môi trường, như cách nhiệt tốt,giảm tiêu thụ điện, nước và khí đốt,
Nhà thông minh đang và sẽ là một xu hướng công nghệ tất yếu trên thế giới, trởthành tiêu chuẩn của nhà ở hiện đại trong kỷ nguyên Internet of Things - kết nối vạnvật qua internet Bên cạnh đó, sự tiện nghi và tiết kiệm năng lượng cũng dần trở thànhmột tiêu chuẩn cần thiết nhằm nâng cao chất lượng sống của chúng ta Vậy nên hãy bắtđầu cho một "kỷ nguyên công nghệ" mới!
Đặc điểm của smart home
4 Đưa ra các cảnh báo các vật dụng có thể gây nguy hiểm cho trẻ em khi chúng có ýđịnh sử dụng các vật dụng đó
5 Tính năng an ninh như tự báo động khi có một người cố tình xâm nhập trái phép, tựđộng khóa trái cửa, báo cảnh sát, luôn trong trạng thái sẵn sàng
Thật tiện nghi khi mọi thứ đều được ”thông minh hóa”!
1.2.2 Một số khái niệm cơ bản
Mạng (network)
Mạng máy tính hay hệ thống mạng (tiếng Anh: Computer Network hayNetwork System) là sự kết hợp các máy tính lại với nhau thông qua các thiết bị nối kếtmạng và phương tiện truyền thông (giao thức mạng, môi trường truyền dẫn) theo mộtcấu trúc nào đó và các máy tính này trao đổi thông tin qua lại với nhau
7
Trang 10Mạng máy tính được chia thành 2 loại: Mạng cục bộ (LAN – Local AreaNetwork) và Mạng diện rộng (WAN – Wide Area Network).
- Mạng cục bộ (LAN- Local Area Network):
+ Là mạng kết nối các máy tính ở gần nhau trong một phòng,một tòa nhà ,một trườnghọc
+Chỉ kết nối các máy tính trong một phạm vi nhỏ (dưới 100m) Truyền dữ liệu tốc độcao mà chỉ chịu tỷ lệ lỗi nhỏ
- Mạng diện rộng (WAN-Wide Area Network):
+Là mạng kết nối các máy tính ở cách xa nhau ,như một tỉnh,một quốc gia
+Mạng diện rộng WAN thường liên kết với mạng LAN
1.2.3 Giới thiệu về Arduino
Trang 11Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tácvới nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một boardmạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARMAtmel 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ácnhau.
Đượ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ườngthô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ữngngườ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áthiệ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ạytrê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ìnhcho Aduino bằng ngôn ngữ C hoặc C++
Giá của các board Arduino dao động xung quanh €20, hoặc $27 hoặc 574.468VNĐ, nếu được "làm giả" thì giá có thể giảm xuống thấp hơn $9 Các board Arduino
có thể được đặt hàng ở dạng được lắp sẵn hoặc dưới dạng các kit tự làm lấy Thông tinthiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạchArduino bằng tay có thể tự mình thực hiện được (mã nguồn mở) Người ta ước tínhkhoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản xuấtthương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tớitay người dùng
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viêntrạ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ữngngườ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.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ủaItaly từ năm 1002 đến 1014
9
Trang 12Lý 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àmviệ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 dao động xung quanh $30 và được làm giả đến mứcchỉ 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
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sunggiú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ọngcủ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 CPUcủ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àishield truyền thông với board Arduino trực tiếp thông qua các chân khách nhau, nhưngnhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếpchồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng các dòngchip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, vàATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquinotươ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 anhdao động 16 MHz (hoặc bộ cộng hưởng ceramic trong một vài biến thể), mặc dù mộtvài thiết kế như LilyPad chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard dohạ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ẵnvớ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úpcho 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ínhgốc như là một bộ nạp chương trình
Theo 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ộcvào đời phần cứng Các board Serial Arduino có chứa một mạch chuyển đổi giữaRS232 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ể,
Trang 13như Arduino Mini và Boarduino không chính thức, sử dụng một board adapter hoặccá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 chonhữ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 inputanalog, 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ằmphía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứngdụ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ếnthể 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
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects.Một vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên làSparkFun Electronics Sáu phiên bản phần cứng của Arduino cũng đã được sản xuấtthương mại tính đến thời điểm hiện tại
Nền tảng Arduino đã có mặt ở trên thế giới được 11 năm, Arduino được gianhập vào Việt Nam những năm 2010 bởi những thành viên trong BQT Cộng đồngArudino Việt Nam (www.arduino.vn)
Các board Arduino qua các thời kỳ:
- Arduino “đời đầu”
11
Board Arduino USB đầu tiên (2005)
Trang 14- Phiên bản tiếp theo: Arduino
Arduino Extreme version 1
Arduino Extreme version 2
Trang 15- Dòng Arduino thế hệ mới: Arduino UNO (2010 – nay)
Ở mạch này, ngoài việc thay đổi và cách đặt tên cho dễ xác định các chân I/O,Arduino UNO còn thay con chip FTDI bằng con chip ATMega8U2 (Serial TTLConverter) Arduino UNO có 3 phiên bản mới, đó là: R2, R3 và SMD Trong phiênbản R3 (hiện tại), Arduino đã sử dụng con chip ATMega16U2, giúp việc nạp nhữngchương trình lớn nhanh hơn
Những linh kiện nào có thể thu gọn lại thì nhà phát triển đã thu gọn hết cỡ, vàđặc biệt là các nhà sản xuất Trung Quốc sản xuất ra giá thành chỉ 4$ (hàng fake) nhưnghàng chính hãng 20$ vẫn sống và sống một cách trường tồn hơn 5 năm nay (2010 -2015)
(2010 – nay)
ArduinoMEGA có rấtnhiều chân IO
so với dòng
13
Arduino UNO loại thườngArduino UNO SMD (chip dán)
Trang 16Arduino UNO (54 digital IO và 16 analog IO), đồng thời bộ nhớ flash của MEGA rấtlớn, gấp 4 lần so với UNO (128kb) với vi điều khiển ATmega1280 Rõ ràng, những dự
án cần điều khiển nhiều loại động cơ và xử lý nhiều luồng dữ liệu song song (3 timer),nhiều ngắt hơn (6 cổng interrupt), có thể được phát triển dễ dàng với ArduinoMEGA, chẳng hạn như: máy in 3d, quadcopter,
Chúng ta dễ dàng nhận thấy rằng, các chân digital từ 0 -> 13, analog từ 0 -> 5
và các chân nguồn được thiết kế tương tự Arduino UNO Như vậy, ta có thể thừa kếnhững mạch phát triển khác kiểu plugin gắn lên Arduino MEGA
Ở phiên bản Arduino MEGA, chúng ta đã thấy được sự thay đổi (Modify) trongviệc suy nghĩ về thiết kế mạch Arduino Cụ thể, để có thể thêm được nhiều vùng nhớhơn, thêm được nhiều chân IO hơn, những nhà phát triển đã mạnh dạng thay đổi con viđiều khiển ATmega1280 Nhưng như vậy, sẽ làm cho việc thiết kế giao diện mạchArduino Mega trở nên khó khăn, vì có quá nhiều chân Với khó khăn như vậy, họ đãthích nghi (Adapt) bằng cách thiết kế Arduino MEGA tương tự như mạch ArduinoUNO nối dài
Và một năm sau đó, nhà sản xuất có những ý tưởng lớn hơn, hay hơn, nhưngcần phải có một dung lượng flash lớn hơn Vì vậy, Arduino MEGA 2560 ra đời.Arduino MEGA 2560 về cơ bản là giống hoàn toàn với Arduino MEGA, nhưng tạiphiên bản này, họ đã lắng nghe ý kiến người sử dụng và thay thế (Substitute) conATmega1280 bằng con ATmega2560 Như vậy, họ đã sáng tạo trên một “vùng đất rộnggấp đôi” Ngoài ra, phiên bản này cũng có một số sự thay thế nho nhỏ nữa, như tụ,màu sắc tụ,
Trang 17- Arduino
MEGA ADK (Android compatible) (2011)
Đây là phiên bản Arduino MEGA có thể giao tiếp với các thiết bị Android thôngqua cổng sạc (USB micro) của các thiết bị Android Ở phiên bản này, Arduino MEGA
15
Arduino MEGA đầu tiên (2009 – 2010)
Arduino MEGA 2560
Trang 18có thể giao tiếp được với điện thoại Android thông qua cổng micro usb (cổng sạc) củaAndroid (>=4.0).
cross-kế để dành cho các nghệ sĩ và những người mới tập tành làm quen với lĩnh vực pháttriển phần mềm Nó bao gồm một chương trình code editor với các chức năng nhưđánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biêndịch) và upload chương trình lên board chỉ với 1 cú click chuột Một chương trìnhhoặc code viết cho Arduino được gọi là một sketch
Các chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèm vớimột thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp cácthao 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ột chương trình vòng thực thi (cyclic executive) có thể chạy được:
+setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lậpcác cài đặt
+loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Trang 19Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm chomột bóng đèn Led sáng/tắt Trong môi trường Arduino, ta sẽ phải viết một chươngtrình giống như sau:
Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch chươngtrình, và sử dụng avrdude để upload chương trình lên board
Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi trườngphát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng cóthể được sử dụng để làm phần mềm phát triển cho Arduino
Arduino là một nền tảng phần cứng mã nguồn mở: Các thiết kế phần cứng thamkhảo của Arduino được phân phối dưới dạng Creative CommonsAttribution Share-Alike 2.5 license và có sẵn trên website của Arduino Một vài phiên bản phần cứng của
Trang 20+ Vùng lệnh: Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help) Phíadưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDEđược miêu tả như sau:
+ Vùng viết chương trình: Bạn sẽ viết các đoạn mã của mình tại đây Tên chươngtrình của bạn được hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink” Để ýrằng phía sau tên chương trình có một dấu “§” Điều đó có nghĩa là đoạn chươngtrình của bạn chưa được lưu lại
+ Vùng thông báo (debug): Những thông báo từ IDE sẽ được hiển thị tại đây Để
ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử
Trang 21dụng Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, bạn sẽkhông thể upload được code của mình.
Giao tiếp với Arduino UNO R3
- Bảng thông số:
- Các thành phần:
19
Trang 22a) USB (1): Arduino sử dụng cáp USB để giao tiếp với máy tính Thông quacáp USB chúng ta có thể Upload chương trình cho Arduino hoạt động, ngoài ra USBcòn là nguồn cho Arduino.
b) Nguồn (2 và 3): 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.1 mm (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 Board mạch hoạt động với nguồnngoài ở điện áp từ 5 - 20 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ệntượng nóng và làm hỏng board mạch Khuyến cáo các bạn nên dùng nguồn ổn định là
5 đến dưới 12 volt
Chân 5V và chân 3.3 V (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ácchân này vì sẽ làm hỏng Arduino
Trang 23I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C Các chân A4 (SDA) và A5 (SCL)cho phép chúng tao giao tiếp giửa Arduino với các linh kiện có chuẩn giao tiếp là I2C.
e) Reset (7): dùng để reset Arduino
Arduino Ethernet Shield
Arduino Ethernet Shield là mạch tích hợp được phát triển từ Arduino UNO chophép kết nối dễ dàng Arduino với internet Shield này cho phép Arduino của bạn đểgửi và nhận dữ liệu từ bất cứ nơi nào trên thế giới với một kết nối internet Có thể sửdụng nó để làm công cụ thú vị như robot điều khiển từ xa từ một trang web, hoặc rungchuông mỗi khi nhận được một tin nhắn twitter mới
Arduino Ethernet Shield sử dụng chip W5100 cho tốc độ và khả năng kết nối ổnđịnh nhất, bộ thư viện đi kèm và phần cứng với cách kết nối dễ dàng khiến cho việckết vối Arduino với Ethernet đơn giản hơn bao giờ hết, thích hợp để làm các ứng dụngđiều khiển thiết bị qua Ethernet, Ethernet Controller
Phiên bản shield này có tích hợp khe cắm thẻ micro SD, có thể được sử dụng đểlưu trữ các tập tin phục vụ qua mạng Arduino Ethernet Shield tương thích với ArduinoUno và Mega (sử dụng Ethernet Library) Bạn có thể truy cập vào khe cắm thẻ trênboard và sử dụng thư viện SD được bao gồm tích hợp trong bộ thư viện có sẵn trongtrình biên dịch arduino
21
Arduino Ethernet Shield
Trang 24IC điều khiển W5100 trên Arduino Ethernet Shield có thể thực hiện truyền dữliệu thông qua 2 giao thức là TCP và UDP Số đường truyền dữ liệu song song tối đa là
4 Đây chính là điểm mạnh của W5100 so với Microchip ENC28J60 Khả năng truyềnsong song cùng lúc 4 luồng dữ liệu giúp board có khả năng nhận dữ liệu từ internet với
tỉ lệ lỗi thấp hơn (nguyên nhân thường là do mất dữ liệu trên đường truyền hoặc dothời gian truyền vượt quá giới hạn - time out)
+ Kết nối với mạch Arduino qua cổng SPI
+ Thư viện và code mẫu có sẵn trong chương trình Arduino
1.2 Mục tiêu nghiên cứu
1.2.1 Mục tiêu cần đạt
Sau khi đã tìm hiểu sơ lược về những khái niệm cơ bản của đề tài trong Chương
1 như: Lý do chọn đề tài, mục đích nghiên cứu hay những khái niệm cơ bản vềBluetooth, sơ lược về phần cứng, board Arduino và phần mềm Arduino IDE,… thìtrong Chương 2 nhóm sẽ trình bày về mục tiêu cần đạt của đề này và triển vọng pháttriển của ý tưởng trong tương lai mà nhóm sẽ trình bày trong những bài nghiên cứusau
Những mục tiêu cần đạt trong đề tài này: