1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)

82 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng dụng board mạch Raspberry PI 3B+ điều khiển thiết bị gia dụng (Smart home)
Tác giả Lê Huy Chung, Trần Minh Cường, Nguyễn Đường Công Danh, Phan Tấn Đức
Người hướng dẫn THS. Dương Hữu Phước
Trường học Đại Học Công Nghiệp TP.HCM
Chuyên ngành Công Nghệ Điện
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2019
Thành phố TP. HCM
Định dạng
Số trang 82
Dung lượng 5,62 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (13)
    • 1.1 Đặt vấn đề (13)
    • 1.2 Mục tiêu (13)
    • 1.3 Nội dung nghiên cứu (13)
    • 1.4 Bản vẽ và các số liệu khảo sát ban đầu (14)
  • CHƯƠNG 2: GIỚI THIỆU NHÀ THÔNG MINH (19)
    • 2.1 Nhà thông minh (19)
    • 2.2 Tiện nghi hơn (19)
    • 2.3 Tiết kiệm hơn (20)
    • 2.4 An toàn hơn (21)
    • 2.5 Kiểm soát tốt hơn (21)
    • 2.6 Đẳng cấp hơn (22)
  • CHƯƠNG 3: BO MẠCH RASPBERRY, MODULE VÀ CÁC THIẾT BỊ NGOẠI (23)
    • 3.1 Raspberry Pi (23)
    • 3.2 Cấu tạo của Raspberry Pi 3 model B+ (24)
      • 3.2.1 Phụ kiện cơ bản (27)
    • 3.3 Cài đặt hệ điều hành cho Raspberry Pi (28)
      • 3.3.1 Kết nối với Raspberry Pi từ PC (29)
      • 3.3.2 Cài đặt VNC viewer (32)
    • 3.4 Arduino Uno R3 (35)
      • 3.4.1 Cấu tạo Arduino UNO R3 (36)
      • 3.4.2 Arduino Uno sử dụng vi điều khiển (36)
      • 3.4.3 Các chân nguồn (37)
      • 3.4.4 Các cổng vào/ra trên Arduino Board (37)
      • 3.4.5 Lập trình cho Arduino (38)
    • 3.5 Module RS 485 (39)
    • 3.6 Bộ nguồn (40)
    • 3.7 Module điều khiển AC TAC-500 (41)
    • 3.8 Module 4 relay 5V (41)
      • 3.8.1. Thông số kỹ thuật Module 4 Relay (42)
      • 3.8.2 Nguyên lý hoạt động Module 4 Relay (42)
    • 3.9 Bóng đèn (43)
    • 3.10 Nút nhấn nhả (43)
  • CHƯƠNG 4: VIẾT CHƯƠNG TRÌNH VÀ XÂY DỰNG MÔ HÌNH (44)
    • 4.1 Phần mềm, giao thức và giao tiếp (44)
      • 4.1.1 So sánh SPI và I2C và UART (44)
      • 4.1.2 UART là gì? (48)
      • 4.1.3 Chuẩn giao tiếp (50)
    • 4.2 Frame truyền (51)
    • 4.3 Phân biệt thiết bị (56)
    • 4.4 Giới thiệu app Blink (58)
    • 4.5 Sơ đồ khối cho toàn bộ chương trình (60)
    • 4.6 Code cho Host (62)
    • 4.7 Code cho Slave (66)
    • 4.8 Giới thiệu các nút chức năng (70)
      • 4.8.1 Cài đặt các chức năng trên blynk (71)
    • 4.9 Tiến Hành lắp đặt và đấu nối các Module (76)
    • 4.10 Sơ đồ đấu dây (78)
  • CHƯƠNG 5: KẾT QUẢ THỰC HIỆN VÀ HƯỚNG PHÁT TRIỂN (81)
    • 5.1 Kết quả thực hiện (81)
    • 5.2 Hướng phát triển đề tài (82)

Nội dung

TỔNG QUAN

Đặt vấn đề

Nhà thông minh là một ngôi nhà được trang bị các thiết bị điện tử có khả năng tự động hóa hoặc điều khiển từ xa, giúp quản lý các chức năng như ánh sáng, nhiệt độ, an ninh và rèm cửa Mục tiêu của nhà thông minh là nâng cao tiện nghi và an toàn cho cuộc sống, đồng thời tối ưu hóa việc sử dụng tài nguyên Hệ thống này tương tác với người dùng qua bảng điều khiển điện tử, ứng dụng di động, máy tính bảng hoặc giao diện web.

Trong một căn nhà thông minh, các thiết bị từ phòng ngủ, phòng khách đến toilet được trang bị bộ điều khiển điện tử kết nối Internet và điện thoại di động, cho phép người dùng điều khiển từ xa hoặc lập lịch hoạt động cho thiết bị Hơn nữa, các đồ gia dụng có khả năng giao tiếp và tương tác với nhau, tạo nên một hệ thống tiện ích và thông minh.

Mục tiêu

Thiết lập mô hình mạng điều khiển các thiết bị từ các board điều khiển trung tâm Raspberry Pi

Xây dựng chương trình điều khiển qua internet cho phép người dùng quản lý thiết bị thông qua trình duyệt web Người dùng có thể truy cập và điều khiển từ xa bằng các thiết bị như laptop, máy tính bàn và điện thoại thông minh.

Cài đặt một số chức năng cơ bản cho nhà theo ngữ cảnh.

Nội dung nghiên cứu

Nghiên cứu board mạch Raspberry pi 3 model B+ và các ngôn ngữ lập trình vụ Nghiên cứu dùng phần mềm điều khiển bằng điện thoại

Nghiên cứu điều khiển từ xa qua internet (wifi hoặc 3G/4G)

Nghiên cứu các board mạch liên quan phục vụ mô hình báo cáo

Kiểm soát các thiết bị điện bằng lập trình

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Bản vẽ và các số liệu khảo sát ban đầu

 Diện tích nhà 13.5mx8m o Số phòng: 6 phòng

 Diện tích sân vườn trái 13mx10m

 Diện tích sân vườn phải 20mx11m

Hình 1.4.1 Mặt bằng tổng thể

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

3 Hình 1.4.2 Mặt bằng tủ điện và máy lạnh

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

5 Hình 1.4.4 Mặt bằng chiếu sáng

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Thống kê số thiết bị ban đầu

Bảng thống kê thiết bị điện

STT Tên Đơn vị Số lượng

1 Công tắc đôi - 1 chiều 220v - 10A âm tường Cái 15

2 DIMMER đèn 220v - 10A âm tường Cái 6

3 Đèn chiếu gương soi 40W gắn tường Cái 7

4 Đèn bán cầu 32W - D400 chóa thủy tinh gắn trần Cái 3

5 Đèn chùm nhỏ trang trí treo trần Cái 5

8 Đèn Downlight ánh sáng trắng 13W, âm trần Cái 52

9 Đèn chùm lớn trang trí treo trần Cái 1

10 Đèn cầu thang 50W gắn tường Cái 3

11 Ổ cắm điện đôi âm tường 10A Cái 27

15 Đèn Neon 1m2 ánh sáng màu đặt âm Cái 24

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

GIỚI THIỆU NHÀ THÔNG MINH

Nhà thông minh

Nhà thông minh là ngôi nhà có khả năng tương tác và hiểu ý muốn của chủ nhà, mang lại sự tiện lợi và tiết kiệm năng lượng Ví dụ điển hình là hệ thống kiểm soát ánh sáng, cho phép điều chỉnh đèn theo khung cảnh, như cài đặt ánh sáng nhẹ cho các bữa tiệc tối Ngoài ra, hệ thống còn có thể điều chỉnh rèm cửa, kiểm soát nhiệt độ, giám sát qua camera, tự động khóa cửa và phòng ngừa trộm, tạo nên một không gian sống an toàn và thoải mái.

Nhà thông minh không chỉ dừng lại ở các tiện ích cơ bản mà còn bao gồm nhiều ứng dụng sáng tạo, như hệ thống điều khiển giải trí tại gia với loa công suất khác nhau, hệ thống điện thoại và liên lạc nội bộ, cũng như hệ thống tưới nước thông minh.

Các thiết bị trong nhà được kết nối với nhau giúp hệ thống máy tính trung tâm theo dõi các trạng thái và đưa ra quyết định điều khiển hợp lý.

Tiện nghi hơn

Nhà thông minh Smart Home là ngôi nhà hiện đại với thiết bị điện tử có khả năng tương tác với con người, giúp tự động hóa các hoạt động trong nhà Chủ nhà không cần phải bật tắt đèn hay mở rèm bằng tay, mà mọi thứ sẽ hoạt động theo mong muốn của họ Công nghệ thông minh mang lại sự tiện lợi và tiết kiệm thời gian cho cuộc sống hàng ngày.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Nhà thông minh giúp tiết kiệm thời gian cho những vấn đề vặt vãnh hàng ngày, mang lại cuộc sống tiện nghi và thoải mái Các thiết bị thông minh không chỉ nâng cao chất lượng cuộc sống mà còn tối ưu hóa các công việc thường nhật, cho phép bạn tập trung vào những điều quan trọng hơn.

Tiết kiệm hơn

Nhà thông minh không chỉ mang lại trải nghiệm tốt hơn mà còn giúp cắt giảm chi phí hóa đơn điện hàng tháng Tính năng hẹn giờ cho phép người dùng bật/tắt thiết bị điện từ xa, trong khi điều hòa tự động điều chỉnh nhiệt độ theo thời tiết và tắt khi không có người Bình nóng lạnh cũng hoạt động theo cơ chế tự động bật/tắt theo lịch trình đã đặt Mặc dù những tính năng này chưa tiết kiệm năng lượng nhiều ngay lập tức, nhưng theo thời gian, chúng sẽ mang lại hiệu quả tích lũy đáng kể.

Hình 2.3 Tiết kiệm chi phí năng lượng Hình 2.2 Điều khiển nhà thông minh bằng điện thoại

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

An toàn hơn

An toàn là yếu tố thiết yếu trong ngôi nhà thông minh, với hệ thống an ninh hoạt động 24/7 mang lại sự yên tâm cho người dùng ngay cả khi không có mặt tại nhà Các thiết bị thông minh sẽ gửi cảnh báo ngay lập tức đến điện thoại khi phát hiện xâm nhập không mong muốn Hơn nữa, hệ thống tự động ghi lại hình ảnh và cảnh báo khi phát hiện chuyển động nếu người dùng kích hoạt chế độ an ninh.

Hình 2.4 Nhà thông minh an toàn

Kiểm soát tốt hơn

Một trong những đặc điểm nổi bật của Smart Home là khả năng kiểm soát ngôi nhà từ xa Người dùng có thể dễ dàng điều chỉnh các thiết bị như bật, tắt hoặc điều chỉnh rèm cửa chỉ với một thao tác trên điện thoại Chẳng hạn, khi đang trên đường đến công ty, người dùng chỉ cần chạm vào điện thoại để kích hoạt chế độ "đi vắng", giúp tất cả thiết bị tắt và chế độ an ninh được kích hoạt.

Hình 2.5 Nhà thông minh kiểm soát ngôi nhà tốt hơn

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Đẳng cấp hơn

Một ngôi nhà thông minh sẽ khiến khách đến chơi phải ngạc nhiên với những tiện ích tự động Khi khách bước vào, rèm cửa tự động mở, đèn trang trí phòng khách sáng lên và âm nhạc du dương phát những giai điệu yêu thích Hơn nữa, hệ thống điều hòa tự động điều chỉnh nhiệt độ phù hợp, mang đến không gian thoải mái và ấn tượng.

Hình 2.6 Nhà thông minh làm cho ngôi nhà đẳng cấp hơn

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

BO MẠCH RASPBERRY, MODULE VÀ CÁC THIẾT BỊ NGOẠI

Raspberry Pi

Raspberry Pi 3 Model B+ là một chiếc máy tính tí hon giá chỉ 45$ chạy hệ điều hành Linux ra mắt vào ngày 14 tháng 03 năm 2018

Hình 3.1 Hình ảnh thực tế của Raspberry Pi 3 B+

Raspberry Pi sử dụng hệ điều hành Linux, cho phép người dùng thực hiện 99% các tác vụ tương tự như trên máy tính Windows, với điểm nổi bật là tất cả đều hoàn toàn miễn phí.

Cộng đồng Raspberry Pi đang phát triển mạnh mẽ trên toàn cầu, nơi người dùng nhanh chóng tìm thấy giải đáp cho các thắc mắc của mình Họ còn có thể khám phá hàng ngàn dự án đã thực hiện cùng nhiều ý tưởng sáng tạo Nhờ vào những ưu điểm nổi bật, Raspberry Pi đã vượt ra ngoài môi trường học đường và trở thành thiết bị yêu thích của nhiều người đam mê điện tử và lập trình.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Cấu tạo của Raspberry Pi 3 model B+

Hình 3.2 Mô hình Board Raspberry Pi 3 Model B+

Raspberry Pi được trang bị chip SoC Broadcom BCM2837 với tốc độ 1.4 GHz, tương đương với các chip phổ biến trong smartphone hiện nay Chip này hỗ trợ chạy hệ điều hành Linux, mang lại hiệu suất cao cho các ứng dụng đa dạng.

Pi 3 Model B+ hỗ trợ kết nối Wi-Fi dual band 2.4GHz và 5GHz, cùng với Ethernet gigabit qua cổng USB 2.0, mang lại tốc độ lên đến 300Mbps, gấp 3 lần so với Pi 3 Model B Ngoài ra, thiết bị còn tích hợp Bluetooth 4.2 và Bluetooth LE, giúp cải thiện khả năng kết nối với các thiết bị thông minh khác.

Hệ thống GPIO (General Purpose Input Output) bao gồm 40 chân được sắp xếp thành hai hàng, cho phép kết nối và điều khiển nhiều thiết bị điện tử và cơ khí khác nhau một cách linh hoạt.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.3 Sơ đồ chân Raspberry Pi

Ngõ HDMI: dùng để kết nối Pi với màn hình máy tính hay tivi

Cổng audio 3.5mm cho phép kết nối thuận tiện với loa ngoài hoặc headphone Đối với tivi trang bị cổng HDMI, âm thanh sẽ được truyền qua tín hiệu HDMI, do đó không cần sử dụng cổng audio 3.5mm.

Cổng CSI trên Raspberry Pi cho phép kết nối module camera, với một module camera 5MP được sản xuất riêng nhưng không được hỗ trợ kèm theo Người dùng cần mua thêm module này để thực hiện các tác vụ như chụp hình và quay phim, tương tự như một camera thông thường.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Cổng DSI cho phép kết nối Raspberry Pi với màn hình cảm ứng, mang đến trải nghiệm trực quan và dễ sử dụng Người dùng có thể thực hiện các tác vụ tương tự như khi sử dụng chuột và bàn phím, giúp tối ưu hóa quy trình làm việc với Raspberry Pi.

Raspberry Pi nổi bật với 4 cổng USB 2.0, cho phép kết nối dễ dàng với các thiết bị như bàn phím, chuột, webcam và bộ thu GPS, mở rộng khả năng ứng dụng của nó Với hệ điều hành Linux, hầu hết các thiết bị chỉ cần cắm-và-chạy mà không cần cài đặt driver phức tạp, mang lại sự tiện lợi cho người dùng.

Cổng Ethernet giúp kết nối Internet một cách dễ dàng; chỉ cần cắm dây mạng vào Raspberry Pi, kết nối với màn hình máy tính hoặc tivi cùng với bàn phím và chuột, bạn có thể lướt web một cách thuận tiện.

Raspberry Pi không có ổ cứng mà sử dụng thẻ SD để lưu trữ dữ liệu, với yêu cầu tối thiểu là 4 GB và tối đa 32 GB cho hệ điều hành Linux Trên thiết bị, có 4 đèn LED hiển thị tình trạng hoạt động của Raspberry Pi.

ACT: Truy cập thẻ SD PWR: Đèn nguồn (Luôn luôn sáng khi có nguồn cắm vào) LED trái (vàng): Sáng khi có kết nối 100-Mbps

Ethernet phải (xanh): Sáng khi kết nối hoàn thành, nháy nếu có hoạt động trên port

Jack micro USB 5V, tối thiểu 700mA cho phép người dùng dễ dàng sử dụng hầu hết các sạc điện thoại di động trên thị trường để cung cấp nguồn điện cho Raspberry Pi.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.4 Cấu trúc Raspberry Pi 3 Model B+

Nguồn: loại có jack micro USB, 5V, tối thiểu 700mA

Thẻ nhớ SD là thiết bị lưu trữ chính cho hệ điều hành và dữ liệu của Raspberry Pi, vì vậy việc chọn thẻ nhớ chất lượng cao là rất quan trọng Nên chọn thẻ có tốc độ từ class 6 trở lên và dung lượng tối thiểu 4 GB để đảm bảo hiệu suất hoạt động tốt nhất cho Raspberry Pi.

Bàn phím + chuột: là hai thành phần nhập liệu cơ bản của máy tính

Cáp mạng: để kết nối Internet hoặc kết nối với máy tính Chỉ cần cáp RJ45 bình thường, bắt chéo hay không đều được

Cáp màn hình: tùy theo loại màn hình sử dụng mà tương thích với cáp HDMI- HDMI hoặc HDMI-DVI hoặc HDMI-VGA hay RCA Video

Case bảo vệ: để tránh vô tình chạm vào mạch điện của Raspberry Pi hoặc bảo vệ

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.5 Phụ kiện kèm theo với Raspberry Pi

Cài đặt hệ điều hành cho Raspberry Pi

Hệ điều hành Raspian được lựa chọn vì nó hỗ trợ giao diện và giao tiếp mạng hiệu quả, đồng thời tương thích với nhiều ngôn ngữ lập trình, đáp ứng tốt nhu cầu của đề tài.

Bước 1: Download hệ điều hành Raspbian từ trang chủ http://www.raspberrypi.org và phần mềm win32diskimager

Hình 3.6 Cài đặt hệ điều hành Raspbian

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Bước 2: Chạy phần mềm Win32DiskImage

Hình 3.7 Phần mềm Win32Diskmage

Trong ô Image File, chọn file img (HĐH vừa tải về)

Trong ô Device, chọn thẻ nhớ muốn sử dụng

Bấm Write để bắt đầu ghi, quá trình này sẽ mất vài phút

3.3.1 Kết nối với Raspberry Pi từ PC

Khi không có màn hình, bàn phím hoặc chuột, bạn có thể kết nối Raspberry Pi với máy tính Windows qua SSH, một giao thức mạng bảo mật giữa hai thiết bị Để thực hiện điều này, sử dụng phần mềm Putty, khởi động và nhập địa chỉ IP của Raspberry Pi vào ô Host Name rồi chọn Open Sau khi cài đặt hệ điều hành và khởi động Raspberry Pi, bạn có thể tìm địa chỉ IP của nó bằng cách sử dụng phần mềm quét IP như Advanced IP Scanner hoặc lệnh arp -a trong Command Prompt.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.8 Tìm địa chỉ IP Raspberry trên Command Prompt

Mở phần mềm Putty nhập IP của Raspberry PI vào

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

19 Để đăng nhập vào hệ thống, sử dụng usename: pi và password: Raspberry làm mặc định

Khi khởi động Raspberry lần đầu tiên, màn hình cấu hình sẽ hiện ra, cho phép bạn thiết lập các thông số cần thiết cho thiết bị.

Hình 3.11 Màn hình thiết lập cho Raspberry Pi

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

VNC (Virtual Network Computing) là công nghệ cho phép chia sẻ giao diện màn hình từ xa, giúp người dùng hiển thị và điều khiển màn hình máy tính ở xa ngay trên thiết bị local Công nghệ này rất hữu ích cho các quản trị viên, cho phép họ truy cập và quản lý máy tính từ xa một cách tiện lợi khi không có mặt tại chỗ.

Hình 3.12 Tải và Cài đặt VNC Sever

Sau khi đã cài đặt VNC Viewer chúng ta thực hiện việc kết nối IP Raspberry nhập địa chỉ IP vào:

Hình 3.13 Đăng nhập IP Raspberry kết nối qua VNC Viewer

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Khi VNC Viewer kết nối thành công với IP Raspberry sẽ hiện thông báo đã kết nối và đăng nhập

Hình 3.14 Kết nối thành công với VNC Viewer

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.16 Cài đặt thông số VNC Viewer Cuối cùng giao diện Raspberry được hiện trên VNC Viewer

Hình 3.17 Giao diện Raspberry Pi trong VNC

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Arduino Uno R3

Arduino là một bo mạch vi xử lý cho phép lập trình và tương tác với các thiết bị phần cứng như cảm biến, động cơ và đèn Điểm nổi bật của Arduino là môi trường phát triển dễ sử dụng và ngôn ngữ lập trình thân thiện, phù hợp cho cả những người mới bắt đầu Sự phổ biến của Arduino đến từ mức giá phải chăng và tính chất nguồn mở của cả phần cứng và phần mềm Các ứng dụng tiêu biểu của Arduino bao gồm robot đơn giản, điều khiển nhiệt độ, phát hiện chuyển động và game tương tác.

Board Arduino có nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như Arduino Mega và Arduino LilyPad Trong số đó, Arduino Uno R3 nổi bật là một trong những phiên bản phổ biến nhất Arduino UNO R3 sở hữu tính năng mạnh mẽ với 20 chân và bộ nhớ đủ cho hầu hết các ứng dụng thông thường.

Hình 3.4.1 Hình ảnh thực tế Board mạch Arduino UNO R3

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Chip điều khiển chính: ATmega328 Chip nạp và giao tiếp UART: ATmega16U2 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn

Để đảm bảo mạch hoạt động hiệu quả, khi sử dụng nguồn ngoài từ giắc tròn DC, cần cấp nguồn từ 6 đến 9VDC Việc cấp nguồn 12VDC có thể làm cho IC ổn áp nóng lên nhanh chóng, dễ dẫn đến cháy nổ và hư hỏng mạch.

Số chân Analog Input: 6 Dòng điện DC Current trên mỗi chân I/O: 20 mA Dòng điện DC Current chân 3.3V: 50 mA

Flash Memory: 32 KB (ATmega328P), 0.5 KB dùng cho bootloader

SRAM: 2 KB (ATmega328P) EEPROM: 1 KB (ATmega328P) Clock Speed: 16 MHz

LED_BUILTIN: 13 Kích thước: 68.6 x 53.4 mm 3.4.2 Arduino Uno sử dụng vi điều khiển:

Arduino UNO sử dụng 3 vi điều khiển 8 bit AVR: ATmega8 (Board Arduino Uno r2), ATmega168 và ATmega328 (Board Arduino Uno r3) Bộ vi điều khiển này có khả năng thực hiện các tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lý tín hiệu cho xe điều khiển từ xa, điều khiển động cơ bước và động cơ servo, cũng như làm trạm đo nhiệt độ và độ ẩm với hiển thị trên màn hình LCD.

Mạch Arduino UNO R3 được thiết kế tiêu chuẩn với vi điều khiển ATmega328, nhưng nếu yêu cầu phần cứng không cao hoặc ngân sách hạn chế, người dùng có thể chọn các vi điều khiển khác như ATmega8 với bộ nhớ flash 8KB hoặc ATmega168 với bộ nhớ flash 16KB, giúp tiết kiệm chi phí mà vẫn đảm bảo chức năng tương đương.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

GND (Ground) là cực âm của nguồn điện cung cấp cho Arduino UNO Khi sử dụng các thiết bị có nguồn điện riêng biệt, cần phải nối các chân GND lại với nhau để đảm bảo hoạt động ổn định.

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND

IOREF là chân trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, không nên sử dụng chân này để lấy nguồn 5V, vì chức năng chính của nó không phải là cấp nguồn.

RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ

3.4.4 Các cổng vào/ra trên Arduino Board

Hình 3.4.2 Board mạch Arduino UNO R3

Mạch Arduino UNO sở hữu 14 chân digital, cho phép đọc và xuất tín hiệu với hai mức điện áp 0V và 5V Mỗi chân có dòng vào/ra tối đa 40mA, và được trang bị các điện trở pull-up từ trong vi điều khiển ATmega328, mặc dù các điện trở này không được kết nối mặc định.

Một số chân digital có các chức năng đặc biệt như sau:

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Chân Serial 0 (RX) và 1 (TX) trên Arduino Uno được sử dụng để gửi và nhận dữ liệu TTL Serial, cho phép giao tiếp với các thiết bị khác Kết nối Bluetooth thường được coi là một dạng kết nối Serial không dây Nếu không cần giao tiếp Serial, nên tránh sử dụng hai chân này để tiết kiệm tài nguyên.

Chân PWM (~) 3, 5, 6, 9, 10 và 11 cho phép xuất xung PWM với độ phân giải 8 bit, tương ứng với giá trị từ 0 đến 255, tạo ra điện áp từ 0V đến 5V thông qua hàm analogWrite() Điều này cho phép điều chỉnh điện áp ra ở các chân này, thay vì chỉ có mức cố định 0V và 5V như các chân khác.

Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài các chức năng thông thường, các chân này còn hỗ trợ truyền dữ liệu qua giao thức SPI với các thiết bị khác.

LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) với độ phân giải tín hiệu 10 bit, cho phép đọc giá trị điện áp từ 0V đến 5V Chân AREF trên board có thể nhận điện áp tham chiếu, giúp đo điện áp trong khoảng 0V đến 2.5V nếu cấp 2.5V vào chân này Ngoài ra, Arduino UNO còn hỗ trợ giao tiếp I2C/TWI thông qua 2 chân A4 (SDA) và A5 (SCL) với các thiết bị khác.

Các thiết bị sử dụng nền tảng Arduino được lập trình bằng một ngôn ngữ riêng, dựa trên ngôn ngữ Wiring, vốn là một biến thể của C/C++ Để lập trình cho mạch Arduino, nhà phát triển cung cấp môi trường lập trình Arduino IDE (Integrated Development Environment).

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Module RS 485

Mạch chuyển giao tiếp UART TTL to RS485 V2 được thiết kế để chuyển đổi tín hiệu giữa chuẩn giao tiếp UART TTL, thường sử dụng trong vi điều khiển và máy tính nhúng, sang chuẩn giao tiếp RS485 và ngược lại, giúp nâng cao khả năng kết nối và truyền dữ liệu trong các ứng dụng công nghệ.

Mạch chuyển giao tiếp UART TTL to RS485 V2 được thiết kế với khả năng chống nhiễu cao, tích hợp bộ đệm, cầu chì tự phục hồi và diod chống nhiễu, giúp hệ thống hoạt động ổn định và an toàn hơn, ngăn ngừa cháy board điều khiển trung tâm Chân giao tiếp RS485 trên mạch có chân Mass, cho phép kết nối với đường dây mass tiếp đất để tăng cường khả năng chống nhiễu và chống sét.

Mạch hỗ trợ kết nối nhiều điểm RS485 trên đường Bus, cho phép các điểm được nối "nóng" mà không lo lắng về việc module bị hỏng khi chưa ngắt kết nối.

Thông số kỹ thuật Điện áp hoạt động: 3 - 5VDC Điện áp giao tiếp TTL: 3 - 5VDC

Khoảng cách truyền RS485 có thể lên đến 1km (khuyến nghị sử dụng dưới 800m và dây bus chuyên dụng cho RS485)

Chuẩn chân cắm TTL 2.54mm

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Có đèn led thông báo trạng thái truyền nhận RX và TX

Bộ nguồn

Tính năng: Chuyển đổi điện áp đầu ra 5VDC cấp nguồn cho module Arduino và module Relay

Thông số kỹ thuật chính:

- Điện áp đầu vào: 85-264 AC, tần số 47-63Hz

- Điện áp đầu ra: DC5V

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Module điều khiển AC TAC-500

Tính Năng: Module điều khiển điện áp AC bằng độ rộng xung.

Thông số kỹ thuật chính

- Sử dụng hiệu quả ở 20% công suất

- Đóng cắt thay thế relay tăng độ bền, không dính tiếp điểm.

Module 4 relay 5V

Rơ-le (Relay) là linh kiện điện tử phổ biến trong nhiều ứng dụng thực tế, hoạt động như một công tắc (Khóa K) nhưng được kích hoạt bằng điện thay vì bằng tay Điều này cho phép rơ-le đóng vai trò là công tắc điện tử, với hai trạng thái cơ bản: đóng và mở.

Trên thị trường hiện nay, có hai loại module relay: module relay đóng ở mức thấp, khi nối cực âm vào chân tín hiệu rơ-le, và module relay đóng ở mức cao, khi nối cực dương vào chân tín hiệu rơ-le Nếu so sánh hai module relay có cùng thông số kỹ thuật, hầu hết các linh kiện đều tương tự nhau, chỉ khác biệt ở transistor của mỗi module.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 3.8.1 Ảnh thực tế Module 4 relay 5V

3.8.1 Thông số kỹ thuật Module 4 Relay

Sử dụng điện áp nuôi 5VDC

4 relay đóng ngắt ở điện thế kích 0V, cần cấp nguồn ngoài, mỗi relay tiêu thụ dòng khoảng 200mA Điện thế đóng ngắt tối đa: AC250V-10A, DC30V-10A

Có đèn báo đóng ngắt trên mỗi relay

3.8.2 Nguyên lý hoạt động Module 4 Relay

Module này bao gồm 10 chân cắm, trong đó có 2 chân VCC và GND để cung cấp nguồn cho module hoạt động Bốn chân còn lại, từ IN1 đến IN4, tương ứng với relay 1 đến 4, được sử dụng để cấp tín hiệu kích cho relay hoạt động Ngoài ra, module còn có 3 chân ngõ ra để kết nối với các thiết bị cần sử dụng.

COM: chân chung (ở giữa), chân nối với 1 chân bất kỳ của đồ dùng điện

Chân NO (Normal Open) là chân thường mở, nghĩa là khi không có kích thích, nó sẽ không dẫn điện Khi có tín hiệu kích hoạt, chân này sẽ kết nối với chân lửa (nóng) trong trường hợp sử dụng điện xoay chiều, hoặc với cực dương của nguồn khi sử dụng dòng điện một chiều.

Chân NC (Normally Closed) thường ở trạng thái đóng và chỉ mở khi có tín hiệu kích hoạt, cho phép mạch ngắn mạch Khi sử dụng điện xoay chiều, chân này sẽ kết nối với chân lạnh (trung hòa), trong khi với điện một chiều, nó sẽ nối với cực âm của nguồn.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Bóng đèn

Đèn sợi đốt ánh sáng vàng 220V Đèn led 220V

U định mức: 220V-240V Công suất định mức: 5W Dòng điện định mức: 0,04A.

Nút nhấn nhả

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

VIẾT CHƯƠNG TRÌNH VÀ XÂY DỰNG MÔ HÌNH

Phần mềm, giao thức và giao tiếp

4.1.1 So sánh SPI và I2C và UART

4.1.1.1 Giới thiệu chuẩn giao tiếp

Sau khi hoàn thành bài lập trình GPIO, chúng ta sẽ chuyển sang tìm hiểu về lập trình giao tiếp ngoại vi cho Raspberry Pi trong bộ sưu tập các bài lập trình cơ bản.

Những giao tiếp ngoại vi mà Raspberry Pi hỗ trợ:

Tùy thuộc vào nhu cầu và mục đích sử dụng, người dùng có thể lựa chọn giữa các giao thức giao tiếp như UART, I2C và SPI để tương tác với các vi xử lý như AVR, PIC hay ARM cùng các thiết bị ngoại vi Cả ba giao thức này đều rất phổ biến trong ngành công nghiệp Đối với các ứng dụng yêu cầu tốc độ cao, USB và Ethernet là những chuẩn giao tiếp mới hơn được ưa chuộng.

Trong phần này sẽ không đề cập tới kiến thức của các chuẩn giao tiếp mà chỉ đề cập tới cách kết nối và lập trình.

- Khi giao tiếp với các phần cứng khác như cảm biến thì đa phần phải chọn lựa theo giao tiếp mà thiết bị đó hỗ trợ.

Khi thiết lập một mạng lưới giao tiếp, bạn có thể lựa chọn giữa I2C và SPI I2C có kết cấu kết nối đơn giản, trong khi SPI cung cấp tốc độ truyền dữ liệu cao hơn Mặc dù USB và Ethernet cũng là những lựa chọn tốt, nhưng nhiều thiết bị cấp thấp không hỗ trợ các giao thức này.

- Giao tiếp thực sự cần tốc độ cao thì USB và Etherrnet phù hợp nhất, ngoài ra cũng có thể dùng SPI.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Bảng so sánh tốc độ truyền dữ liệu các chuẩn giao tiếp

Tùy thuộc vào tần số và vi xử lý, không giới hạn tối đa,Max thường tới mấy chục Mbit/s

Tùy thuộc vào tần số và vi xử lý, Max thường là vài Mbit/s

Low speed : 1.5Mb/sec Full speed:

Tốc độ lý thuyết của chuẩn thường chỉ đạt được trên các vi xử lý cỡ nhỏ và trung bình, và trong hệ thống có thể xuất hiện các điểm gây thắt cổ chai tốc độ.

Tốc độ SPI phụ thuộc vào tần số của vi xử lý; nếu kết nối với vi xử lý có tần số thấp hơn, cần giảm tốc độ SPI cho phù hợp Mặc dù tốc độ truyền tin nhanh, nhưng nếu vi xử lý không yêu cầu truyền tin liên tục hoặc không kịp xử lý dữ liệu, việc sử dụng phương thức truyền tin nhanh là không cần thiết.

4.1.1.2 Chuẩn I2C Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là

I2C, viết tắt của Inter-Integrated Circuit, là một giao thức Bus dùng để giao tiếp giữa các IC Mặc dù được phát triển bởi Philips, I2C đã được nhiều nhà sản xuất IC trên toàn cầu áp dụng rộng rãi Hiện nay, I2C đã trở thành một tiêu chuẩn công nghiệp cho các giao tiếp điều khiển.

I2C có thể hoạt động ở nhiều chế độ khác nhau :

Các thiết bị được phân biệt với nhau bằng 7 bit địa chỉ, cũng tức là có tối đa 128 thiết bị slave được kết nối.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 4.1.1 minh họa sơ đồ chuẩn I2C, trong đó hầu hết các chân giao tiếp I2C được thiết kế ở dạng cực mở Các chân này không thể tự động thiết lập mức cao hoặc thấp mà cần phải được kết nối với điện trở đến nguồn dương.

Tuy nhiên chân giao tiếp I2C được nối điện trở treo bên trong 1.8kΩ nên không cần nối thêm điện trở treo.

SPI (Serial Peripheral Bus) là chuẩn truyền thông nối tiếp tốc độ cao do Motorola phát triển, hoạt động theo mô hình Master-Slave Trong hệ thống này, một chip Master điều phối quá trình truyền thông, trong khi các chip Slave được điều khiển bởi Master, đảm bảo rằng truyền thông chỉ diễn ra giữa Master và Slave SPI hỗ trợ truyền dữ liệu song công (full duplex), cho phép quá trình truyền và nhận diễn ra đồng thời.

Mô hình gồm có các chân kết nối :

Hình 4.1.2 Sơ đồ chuẩn I2C đến các Slave

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

MOSI hay SI là cổng ra của thiết bị Master (Master Out Slave In), được sử dụng để truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động.

- MISO hay SO – Cổng ra bên Slave (Master IN Slave Out) Đây là chân dành cho việc truyền dữ liệu từ Slave đến Master.

- SCLK hay SCK là tín hiệu clock đồng bộ (Serial Clock) Xung nhịp chỉ được tạo bởi Master.

CS (Chip Select) hay SS (Slave Select) là tín hiệu dùng để chọn vi mạch trong quá trình giao tiếp Tín hiệu SS sẽ ở mức cao khi không hoạt động, và khi Master kéo SS xuống thấp, giao tiếp giữa các thiết bị sẽ diễn ra Mỗi slave chỉ có một đường SS, nhưng Master có thể có nhiều đường điều khiển SS tùy thuộc vào thiết kế của người dùng.

Mỗi master và slave có một thanh ghi 8 bit, và mỗi xung nhịp do Master tạo ra trên đường SCK sẽ truyền một bit dữ liệu từ Master qua Slave trên đường MOSI Đồng thời, một bit dữ liệu từ chip Slave cũng được gửi về Master qua đường MISO Quá trình truyền dữ liệu này, với hai gói dữ liệu được gửi qua lại đồng thời, được gọi là “song công”.

Hình 4.1.3 Sơ đồ dòng xử lý

Khi thực hiện việc đọc dữ liệu, chỉ có một thanh ghi duy nhất được sử dụng Để master có thể đọc 1 byte dữ liệu, cần gửi 1 byte trước đó Nếu muốn đọc n bytes, master phải gửi đúng n bytes tương ứng.

Giao tiếp I2C chỉ yêu cầu 2 dây để hoạt động, trong khi giao tiếp SPI cần tối thiểu 3-4 dây Điều này làm cho việc lắp đặt phần cứng I2C trở nên dễ dàng và thuận tiện hơn.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

I2C hỗ trợ kết nối với nhiều thiết bị (địa chỉ 7bit/10bit) mà không cần thêm dây nối, trong khi SPI yêu cầu thêm chân SS cho mỗi thiết bị slave, điều này làm tăng độ phức tạp khi số lượng thiết bị tăng lên.

Về tốc độ thì SPI tỏ ra vượt trội so với I2C SPI là full-duplex, không giới hạn tốc độ tối đa thường hơn 10Mbps Trong khi đó I2C giới hạn tốc độ thông thường 1Mbps nếu ở fasst mode và 3.4Mbps ở High speed mode

Frame truyền

Thuật ngữ USART trong tiếng anh là viết tắt của cụm từ: Universal Synchronous

Asynchronous Serial Receiver and Transmitter, commonly referred to as USART (or UART when specifically discussing asynchronous communication), signifies a hardware device designed for serial communication It's important to note that USART typically refers to the physical hardware, distinguishing it from just the communication protocol itself.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Chuẩn giao tiếp 40, bao gồm USART và UART, cần được kết hợp với thiết bị chuyển đổi mức điện áp để tạo ra giao tiếp hiệu quả Chẳng hạn, chuẩn RS232 (hay COM) trên máy tính cá nhân là sự kết hợp giữa chip UART và chip chuyển đổi mức điện áp Tín hiệu từ chip UART thường sử dụng mức TTL, với mức logic cao là 5V và mức thấp là 0V Ngược lại, tín hiệu theo chuẩn RS232 trên máy tính cá nhân thường có mức logic cao là -12V và mức thấp là +12V Lưu ý rằng các giải thích trong tài liệu này dựa trên mức logic TTL của USART, không phải RS232.

Hình 4.2.1 Tín hiệu tương đương của UART và RS232.

Truyền thông nối tiếp là giải pháp hiệu quả cho việc kết nối nhiều vi điều khiển trong ứng dụng phức tạp, cho phép trao đổi dữ liệu giữa các thiết bị như Master và Slaver Trong khi giao tiếp song song yêu cầu nhiều đường truyền cho mỗi bit dữ liệu, dẫn đến hệ thống cồng kềnh và kém hiệu quả, thì truyền thông nối tiếp chỉ cần một hoặc vài đường truyền để truyền từng bit Điều này giúp tiết kiệm tài nguyên và tăng tốc độ truyền dữ liệu, ngay cả khi khối lượng dữ liệu lớn Hình 4.2.2 minh họa sự khác biệt giữa hai phương pháp này.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

41 sánh giữa 2 cách truyền song song và nối tiếp trong việc truyền con số 187 thập phân (tức

Hình 4.2.2 Truyền 8 bit theo phương pháp song song và nối tiếp.

Một hạn chế rõ ràng của truyền nối tiếp so với truyền song song là tốc độ truyền và độ chính xác của dữ liệu Điều này xảy ra do dữ liệu cần được truyền một cách tuần tự, dẫn đến thời gian truyền lâu hơn và khả năng xảy ra lỗi cao hơn trong quá trình nhận dữ liệu.

Khi chia nhỏ dữ liệu thành từng bit trong quá trình truyền và nhận, tốc độ truyền có thể bị giảm Để đảm bảo tính chính xác của dữ liệu, bộ truyền và bộ nhận cần đạt được những thỏa hiệp và tiêu chuẩn nhất định Phần tiếp theo của chương này sẽ giới thiệu các tiêu chuẩn trong truyền thông nối tiếp không đồng bộ.

Khái niệm “đồng bộ” trong truyền thông đề cập đến việc “báo trước” để đảm bảo quá trình truyền dữ liệu diễn ra suôn sẻ Ví dụ, thiết bị 1 (tb1) kết nối với thiết bị 2 (tb2) qua hai đường: một đường dữ liệu và một đường xung nhịp Mỗi khi tb1 muốn gửi một bit dữ liệu, nó điều khiển đường xung nhịp chuyển từ mức thấp lên mức cao để thông báo cho tb2 rằng nó đã sẵn sàng nhận dữ liệu Phương thức “báo trước” này giúp việc truyền và nhận tất cả các bit dữ liệu trở nên dễ dàng và hiệu quả hơn.

Trong quá trình truyền thông, "rủi ro" có thể xảy ra, nhưng phương pháp này yêu cầu tối thiểu hai đường truyền cho mỗi quá trình gửi hoặc nhận Một ví dụ điển hình về giao tiếp nối tiếp đồng bộ là sự tương tác giữa máy tính và các bàn phím, ngoại trừ bàn phím kết nối theo chuẩn USB.

Truyền thông không đồng bộ chỉ cần một đường truyền cho toàn bộ quá trình, với "khung dữ liệu" đã được chuẩn hóa, không cần đường xung nhịp báo trước Ví dụ, hai thiết bị giao tiếp theo phương pháp này thỏa thuận rằng mỗi 1ms sẽ có 1 bit dữ liệu được truyền, cho phép thiết bị nhận kiểm tra và đọc dữ liệu mỗi mili-giây để tái tạo thông tin có ý nghĩa Phương pháp này hiệu quả hơn truyền thông đồng bộ do không yêu cầu nhiều đường truyền Tuy nhiên, việc tuân thủ các tiêu chuẩn truyền là rất quan trọng để đảm bảo quá trình truyền thành công Chúng ta sẽ khám phá các khái niệm quan trọng trong phương pháp truyền thông không đồng bộ này.

Tốc độ Baud (baud rate) là một yếu tố quan trọng trong việc truyền và nhận dữ liệu không đồng bộ, đòi hỏi các thiết bị tham gia phải thống nhất về thời gian truyền cho mỗi bit Để đảm bảo quá trình truyền dữ liệu diễn ra thành công, tốc độ truyền cần phải được cài đặt giống nhau giữa các thiết bị.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Tốc độ Baud, được định nghĩa là số bit truyền trong một giây, là một yếu tố quan trọng trong truyền thông dữ liệu Chẳng hạn, khi tốc độ Baud được thiết lập ở mức 19200, thời gian cần thiết để truyền một bit sẽ là 1/19200 giây.

Khung truyền (frame) trong truyền thông nối tiếp, đặc biệt là nối tiếp không đồng bộ, rất dễ bị mất hoặc sai lệch dữ liệu Để đảm bảo quá trình truyền thông hiệu quả, cần tuân theo các quy cách nhất định Ngoài tốc độ baud, khung truyền đóng vai trò quan trọng trong việc truyền và nhận dữ liệu Khung truyền quy định số bit trong mỗi lần truyền, bao gồm các bit "báo" như bit Start và Stop, cùng với bit kiểm tra như Parity Số lượng bit trong dữ liệu cũng được xác định bởi khung truyền Ví dụ, trong khung truyền theo UART, quá trình bắt đầu bằng một start bit, tiếp theo là 8 bit dữ liệu, 1 bit parity để kiểm tra và kết thúc bằng 2 bit stop.

Bit start là bit đầu tiên trong một frame truyền, có chức năng thông báo cho thiết bị nhận biết rằng một gói dữ liệu sắp được truyền Trong module USART của AVR, đường truyền luôn ở trạng thái cao khi ở trạng thái nghỉ (Idle) Khi một chip AVR muốn truyền dữ liệu, nó sẽ gửi một bit start bằng cách kéo đường truyền xuống mức 0 Do đó, với AVR, bit start mang giá trị 0.

0 và có giá trị điện áp 0V (với chuẩn RS232 giá trị điện áp của bit start là ngược lại) start là bit bắt buộc phải có trong khung truyền

Dữ liệu cần truyền trong giao tiếp UART là thông tin chính mà người dùng cần gửi và nhận Người dùng có thể quy định số lượng bit của dữ liệu từ 5 đến 9, không chỉ giới hạn ở 8 bit Trong quá trình truyền thông nối tiếp, bit có ảnh hưởng nhỏ nhất (LSB) sẽ được truyền trước, tiếp theo là các bit khác, và cuối cùng là bit có ảnh hưởng lớn nhất (MSB).

Parity bit là một phương pháp kiểm tra tính chính xác của dữ liệu truyền tải, với hai loại chính là parity chẵn và parity lẻ Parity chẵn yêu cầu tổng số bit 1, bao gồm cả bit parity, phải là số chẵn, trong khi parity lẻ yêu cầu tổng số bit 1 là số lẻ Ví dụ, với dữ liệu nhị phân 10111011 có 6 bit 1, nếu sử dụng parity chẵn, bit parity sẽ là 0 để giữ tổng số bit 1 là chẵn Ngược lại, nếu sử dụng parity lẻ, bit parity sẽ là 1 Mặc dù parity bit rất hữu ích, nó không phải là yếu tố bắt buộc và có thể được loại bỏ khỏi khung truyền.

Stop bits là một hoặc nhiều bit thông báo cho thiết bị nhận rằng một gói dữ liệu đã được gửi xong Sau khi nhận stop bits, thiết bị nhận sẽ kiểm tra khung truyền để đảm bảo tính chính xác của dữ liệu Stop bits là thành phần bắt buộc trong khung truyền, và trong AVR USART có thể là 1 hoặc 2 bits, trong khi ở một số thiết bị khác, stop bits có thể lên đến 2.5 bits.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

- Từ Arduino (Slave) - > Raspberry (Host)

[S] [Slave ID] [Virtual pin] [Data] [E]

 [S] : ký tự ‘S’ Mã xác định dử liệu được gửi từ Slave (1byte)

 [Slave ID] : ID của Slave từ 0 -> 3(cài đặt bằng 2 switch) (2byte)

 [Virtual pin] : Pin dựa trên ID (2byte)

 Virtual pin = Actual pin + (Slave ID x 8)

 [Data] : giá trị của Pin tương ứng (3byte)

 [E] : Ký tự ‘E’ xác định byte kết thúc (1byte)

- Từ Raspberry (Host) - > Arduino (Slave)

 [H0] : ký tự “H0”, Mã định danh của Host 0

 [Virtual pin] : Pin dựa trên ID

 Virtual pin = Actual pin + (Slave ID x 8)

 [Data] : giá trị của Pin tương ứng (3byte)

 [E] : ký tự kết thúc ‘E’ xác định byte kết thúc (1byte)

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

- Sự kiện truyền dữ liệu:

 Có thay đổi của người dùng trên phần mềm.

 Cập nhật thông tin xuống box mỗi 5 phút (dùng đảm bảo đồng bộ hệ thống).

 Cập nhật thông tin xuống box sau khi kết nối internet trở lại o Slave – Host:

Phân biệt thiết bị

Raspberry Pi 3+ sẽ đóng vai trò là thiết bị chủ trong hệ thống tự động hóa, trong khi mỗi phòng cần một module Arduino UNO để hoạt động như bộ điều khiển thứ cấp Arduino UNO nhận lệnh từ Raspberry Pi 3+ và điều khiển các thiết bị cụ thể Cả Raspberry Pi 3+ và các module Arduino UNO được kết nối thông qua giao tiếp UART, với mỗi Arduino UNO đảm nhận vai trò là thiết bị thực thi.

1 địa chỉ ID duy nhất trên giao tiếp truyền dẫn Người dùng có thể thêm hoặc bỏ các Arduino Uno tùy nhu cầu sử dụng

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Trong một phòng, module Arduino UNO sẽ quản lý các thiết bị và thu thập dữ liệu từ cảm biến Raspberry Pi sẽ định kỳ gửi yêu cầu để nhận dữ liệu cảm biến từ Arduino UNO Hình minh họa 4.2.4 cho thấy cách Arduino UNO kết nối với các thiết bị Mỗi phòng được trang bị nhiều thiết bị kiểm soát như ánh sáng, quạt, ổ cắm điện, và các thiết bị khác.

Để xác định các thiết bị, chúng ta sẽ tạo địa chỉ cho thiết bị bằng cách kết hợp số phòng với số lượng thiết bị Ví dụ, việc này giúp dễ dàng quản lý và theo dõi thiết bị trong từng khu vực.

Số phòng 1 có ba thiết bị Địa chỉ thiết bị sẽ là: ID swich

Raspberry Pi sẽ đóng vai trò là bộ điều khiển chính trong hệ thống, với mỗi phòng được trang bị một Arduino UNO riêng biệt để hỗ trợ Raspberry Pi Dữ liệu giữa Raspberry Pi và Arduino UNO sẽ được truyền tải thông qua giao tiếp UART.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Hình 4.2.4 Sơ đồ kết nối đến relay và thiết bị.

Giới thiệu app Blink

Blynk được phát triển dành cho Internet of Things, cho phép người dùng điều khiển phần cứng từ xa, hiển thị dữ liệu cảm biến, lưu trữ và biến đổi dữ liệu, cùng nhiều tính năng thú vị khác.

Có ba thành phần chính trong nền tảng:

 Ứng dụng Blynk - cho phép người dùng tạo giao diện tuyệt vời cho các dự án của mình bằng nhiều vật dụng khác nhau mà Blynk cung cấp

Blynk Server đóng vai trò quan trọng trong việc quản lý giao tiếp giữa điện thoại thông minh và phần cứng Người dùng có thể lựa chọn sử dụng Blynk Cloud hoặc tự thiết lập máy chủ Blynk tại chỗ Với mã nguồn mở, Blynk Server có khả năng xử lý hàng ngàn thiết bị một cách dễ dàng và có thể được triển khai trên Raspberry Pi.

Thư viện Blynk hỗ trợ tất cả các nền tảng phần cứng phổ biến, cho phép người dùng giao tiếp hiệu quả với máy chủ và quản lý tất cả các lệnh gửi và nhận.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Mỗi khi người dùng nhấn nút trong ứng dụng Blynk, thông báo sẽ được gửi đến đám mây Blynk và nhanh chóng tìm đường đến phần cứng của người dùng, và quy trình này cũng diễn ra tương tự khi dữ liệu từ phần cứng được gửi ngược lại.

Hình 4.2.5 Sơ đồ kết nối đến Blink.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Sơ đồ khối cho toàn bộ chương trình

Sơ đồ dòng tín hiệu cho Raspberry

Hình 4.5.2 Lưu đồ dòng tín hiệu cho Raspberry

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Sơ đồ dòng tín hiệu cho Arduino

Hình 4.5.2 Lưu đồ dòng tín hiệu cho Arduino

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Code cho Host

Chương trình trên raspberry pi b+

@license This project is released under the MIT License (MIT)

#include int fd ; int count; int pin;

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

51 int val; int id; static BlynkTransportSocket _blynkTransport;

BlynkSocket Blynk(_blynkTransport); static const char *auth, *serv; static uint16_t port;

The function BLYNK_WRITE_DEFAULT() processes incoming requests by printing the pin number and sending a command to a serial interface It checks if the pin number is less than 2 when divided by 8, and if so, iterates through the parameters to calculate a modified value This value is constrained between 0 and 255 before being sent to the serial interface and printed to the console.

} fflush (stdout); serialFlush(fd); delay(100);

} else { for (auto i = param.begin(); i < param.end(); ++i) {

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

52 int temp = param.asInt() * 255; if(temp > 255) temp = 255; if(temp < 0) temp = 0; serialPrintf(fd, "%03luE", temp); printf("%03u\n", temp);

} fflush (stdout); serialFlush(fd); delay(100);

Blynk.begin(auth, serv, port); tmr.setInterval(300000L, interruptTime);

Blynk.run(); tmr.run(); if (serialDataAvail(fd)) { if (serialGetchar(fd) == 'S') { id = ((int)serialGetchar(fd) - 48);

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

The code snippet reads a two-digit pin from a serial input, calculating its value by converting characters to integers and adjusting them accordingly It then prints the pin value and flushes the output Additionally, the code processes a three-digit value based on further serial inputs, implementing conditional logic that modifies this value based on the pin's properties If the pin modulo 8 is less than 2, the value is constrained between 0 and 100; otherwise, it is adjusted to remain within the range of 0 to 255.

} printf(" %lu\n", val); if(serialGetchar(fd) == 'E')

Blynk.virtualWrite(pin, val); fflush(stdout);

} int main(int argc, char* argv[])

{ parse_options(argc, argv, auth, serv, port); setup(); while (true) { loop(); } return 0;

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Code cho Slave

void reset_default() { for (int temp = 2; temp 0) {

String c; c = Serial.readStringUntil("E"); if (c.substring(0, 2) == "H0") if (c.substring(2, 4).toInt() - (readID() * 8) < 8 && c.substring(2, 4).toInt() - (readID() * 8) >= 0) writepin(c.substring(2, 4).toInt() - (readID() * 8), c.substring(4, 7).toInt()); }

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

55 void putSerial(void) { for (int temp = 0; temp < 8; temp++) { if (readpinin(temp) != statepin[temp]) { delay(60); while (readpinin(temp) == 0);

Serial.print(readID()); if (readID() * 8 + temp < 10) {

} else Serial.print(readID() * 8 + temp); if (!readpinout(temp) == 0) Serial.print("000"); else Serial.print("255");

Serial.print("E"); digitalWrite(outpin[temp], !readpinout(temp)); read_statepin(); delay(60);

// for (int temp = 0; temp < 8; temp++) {

// } pinMode(7, OUTPUT); //D8 Using as digital OUTPUT only pinMode(6, OUTPUT); //D7 Using as digital OUTPUT only pinMode(5, OUTPUT); //D6 Using as digital OUTPUT only

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

In this code snippet, several pins are configured as digital outputs, specifically pin 4 (D5), pin 3 (D4), and pin 2 (D3) Additionally, pins 11 (A2) and 10 (A1) are set up to function as either PWM or digital outputs, allowing for versatile control in various applications.

// for (int temp = 0; temp < 8; temp++) {

// pinMode(inpin[temp], INPUT_PULLUP);

In this code snippet, various pins on a microcontroller are configured as input with pull-up resistors enabled Specifically, pin 13 is set for button 8, pin 12 for button 7, A0 for button 6, A1 for button 5, A2 for button 4, A3 for button 3, A4 for button 2, and A5 for button 1 This setup ensures that the buttons are ready to be used in a project, providing stable readings when pressed.

//Set ID for Module (set by switch): Calculated in binary code A1A0

// if 2 module have the same ID, its will work the same pinMode(8, INPUT_PULLUP); //Using for set ID: Address0 pinMode(9, INPUT_PULLUP); //Using for set ID: Address1

} int readID(void) { return readpinin(9) * 2 + readpinin(8);

// put your setup code here, to run once:

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Serial.setTimeout(30); pinmode_out(); pinmode_in(); read_statepin(); readID();

// put your main code here, to run repeatedly: getSerial(); putSerial();

Chương trinh trên board ardunio

Read statepin :đọc trạng thái pin

Get serial: nhận và mã hóa rs485

Put serial: mã hóa rs485 và gửi

Pinmode out : pin đầu ra

Pinmode in :pin đầu vào

Read ID :đọc địa chỉ ID

Void setup: đặt thiết lập

Void lood : đặt thiết lập chính ở đây, chạy liên tục

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Giới thiệu các nút chức năng

Hoạt động theo chế độ nhấn hoặc chuyển đổi, cho phép gửi giá trị BẬT (1 - CAO) và TẮT (0 - THẤP) Khi nhấn nút, tín hiệu 1 (CAO) được gửi, và khi gửi tín hiệu TẮT, giá trị 0 (THẤP) sẽ được truyền đi.

Tương tự như chiết áp Cho phép gửi các giá trị trong phạm vi MIN / MAX nhất định

Timer hẹn giờ cho phép kích hoạt các hành động tại thời điểm cụ thể, ngay cả khi điện thoại thông minh không có kết nối internet Với phiên bản Android mới, tiện ích Eventor đã cải thiện tính năng Timer, cho phép người dùng chỉ định nhiều bộ định thời trên cùng một mã pin, gửi chuỗi hoặc giá trị tùy ý, cũng như chọn ngày và múi giờ Mặc dù người dùng nên ưu tiên sử dụng tiện ích Eventor, widget Timer vẫn phù hợp cho các sự kiện hẹn giờ đơn giản.

ZERGBA là một công cụ chọn màu + bộ chọn độ sáng RGB thông thường

Hiển thị dữ liệu một cách trực quan cho phép người dùng thêm hậu tố và tiền tố trực tiếp trên ứng dụng mà không cần mã hóa phần cứng.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

59 4.8.1 Cài đặt các chức năng trên blynk

Hình 4.7.1 Cài đặt controlles trên blynk

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

63 Hoàn thành kiểm tra kết nối và điều khiển

Hình 4.7.5 Màn hình điều khiển

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Tiến Hành lắp đặt và đấu nối các Module

Gia công board là cần thiết vì module Arduino là board nguyên mẫu không có chân ra sẵn, khiến việc kết nối trực tiếp với các module khác trở nên khó khăn Để tối ưu hóa khả năng kết nối giữa các module, việc sử dụng board đục lỗ là giải pháp hiệu quả.

Hàn dây và kích thước nối dây là yếu tố quan trọng khi làm việc với board nguyên mẫu Việc sử dụng dây đồng giúp dễ dàng hơn trong quá trình hàn Sắp xếp dây một cách cẩn thận là cần thiết, đặc biệt khi khoảng cách giữa các chân rất nhỏ Cần kiểm tra từng chân sau khi hàn để tránh tình trạng các mối hàn chạm vào nhau do khoảng cách quá gần Đảm bảo thực hiện các kiểm tra cần thiết để đạt được hiệu quả và an toàn tối ưu cho board nguyên mẫu.

Khi lựa chọn chân cho output PWM và chân điều khiển digital, cần đảm bảo rằng các chân này nằm gần nhau để thuận tiện cho việc hàn dây và kết nối Các chân output hiện tại bao gồm 2, 3, 4, 5, 6, 7, 10, 11, trong khi các chân input là A0, A1, A2, A3, A4, A5, 12, 13 Việc phân nhóm các chân này sẽ giúp tối ưu hóa quy trình lắp ráp.

Connector: Là board nguyên mẫu nên cần phải tháo lắp nhiều, để mô phỏng, chạy thử Nên sử dụng loại connector dễ thay thế, dễ tháo lắp

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Để tối ưu hóa việc sắp xếp các thành phần, cần bố trí chúng một cách dễ nhìn, hợp lý và dễ nhận biết Cụm đầu ra, do yêu cầu thay thế và chỉnh sửa nhiều, nên được đặt ở vị trí dưới cùng và xếp hàng ngang Trong khi đó, đầu vào kết nối tới các nút nhấn điều khiển nên được xếp thành hàng dọc, và các nút nhấn cần được đánh số thứ tự từ 1 đến 8 để dễ dàng nhận diện và thao tác.

Ngõ ra của Arduino bao gồm đầu vào RS485, được thiết kế để nhận tín hiệu và chức năng, nằm cùng hướng với cổng nguồn và cổng USB (cổng tải firmware) Để tránh nhầm lẫn, RS485, USB và cổng nguồn được quay theo hướng ngược lại với 8 cổng đầu ra.

Cài đặt ID trên công tắc được đặt ở góc để dễ dàng điều khiển Nên lựa chọn công tắc trượt có kích thước nhỏ, vì ID của công tắc này thường không cần thay đổi sau khi lắp đặt Kích thước nhỏ giúp tránh việc tác động nhầm hoặc va chạm không mong muốn, đảm bảo ID của hộp không bị thay đổi.

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Sơ đồ đấu dây

Sơ đồ nguyên lý tủ điện chính

Hình 4.10.1 Sơ đồ nguyên lý tủ điện chính

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Sơ đồ nguyên lý tủ điện các phòng

Hình 4.10.1 Sơ đồ nguyên lý tủ điện các phòng

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Sơ đồ điện đấu nối board điện điều khiểu

Hình 4.6.3 Sơ đồ điện đấu nối board điện điều khiểu

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

KẾT QUẢ THỰC HIỆN VÀ HƯỚNG PHÁT TRIỂN

Kết quả thực hiện

Hình 5.1 Mô hình báo cáo đã hoàn thiện

Nhóm đã hoàn thành các mục tiêu ban đầu và chứng minh những ưu điểm của mô hình "Ứng dụng board mạch Raspberry Pi 3B+ điều khiển thiết bị điện nhà vườn (Smart home)".

Có tính kinh tế so với mô hình smart home hiện tại

Dễ dàng điều khiển và hẹn giờ mở tắt cho các thiết bị điện trong nhà giúp chủ nhà quản lý hiệu quả việc tiêu thụ điện năng Từ đó, người dùng có thể theo dõi lượng kW tiêu thụ của từng thiết bị, góp phần tiết kiệm điện và nâng cao hiệu quả sử dụng.

Tuy nhiên mô hình này còn một số mặt hạn chế cần được khắc phục:

Khóa luận tốt nghiệp SVTH: Lê Huy Chung Trần Minh Cường

Nguyễn Đường Công Danh Phan Tấn Đức

Chưa đưa giải quyết được vấn đề nhiễu sóng hài

Việc lắp dặt cần phải có chuyên môn Còn phụ thuộc vào Blynk

Ngày đăng: 30/11/2022, 22:42

HÌNH ẢNH LIÊN QUAN

Hình 1.4.4 Mặt bằng chiếu sáng - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 1.4.4 Mặt bằng chiếu sáng (Trang 17)
Bảng thống kê thiết bị điện - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Bảng th ống kê thiết bị điện (Trang 18)
Hình 2.3 Tiết kiệm chi phí năng lượng - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 2.3 Tiết kiệm chi phí năng lượng (Trang 20)
Hình 2.2 Điều khiển nhà thông minh bằng điện thoại - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 2.2 Điều khiển nhà thông minh bằng điện thoại (Trang 20)
Hình 2.5 Nhà thơng minh kiểm sốt ngơi nhà tốt hơn - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 2.5 Nhà thơng minh kiểm sốt ngơi nhà tốt hơn (Trang 21)
Hình 2.4 Nhà thơng minh an toàn 2.5. Kiểm soát tốt hơn  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 2.4 Nhà thơng minh an toàn 2.5. Kiểm soát tốt hơn (Trang 21)
Hình 3.5 Phụ kiện kèm theo với RaspberryPi 3.3.  Cài đặt hệ điều hành cho Raspberry Pi  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.5 Phụ kiện kèm theo với RaspberryPi 3.3. Cài đặt hệ điều hành cho Raspberry Pi (Trang 28)
Hình 3.7 Phần mềm Win32Diskmage Trong ô Image File, chọn file .img (HĐH vừa tải về).  Trong ô Device, chọn thẻ nhớ muốn sử dụng - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.7 Phần mềm Win32Diskmage Trong ô Image File, chọn file .img (HĐH vừa tải về). Trong ô Device, chọn thẻ nhớ muốn sử dụng (Trang 29)
Hình 3.9 Phần mềm PuTTY - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.9 Phần mềm PuTTY (Trang 30)
Hình 3.8 Tìm địa chỉ IP Raspberry trên Command Prompt Mở phần mềm Putty nhập IP của Raspberry PI vào - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.8 Tìm địa chỉ IP Raspberry trên Command Prompt Mở phần mềm Putty nhập IP của Raspberry PI vào (Trang 30)
Ở lần khởi động đầu tiên sẽ xuất hiện màn hình config như hình 3.11, sau đó thiết lập các thông số cần thiết cho Raspberry - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
l ần khởi động đầu tiên sẽ xuất hiện màn hình config như hình 3.11, sau đó thiết lập các thông số cần thiết cho Raspberry (Trang 31)
Hình 3.10 Đăng nhập Raspberry trên PuTTY - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.10 Đăng nhập Raspberry trên PuTTY (Trang 31)
Hình 3.13 Đăng nhập IP Raspberry kết nối qua VNC Viewer - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.13 Đăng nhập IP Raspberry kết nối qua VNC Viewer (Trang 32)
Hình 3.15 Đăng nhập Raspiberry - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.15 Đăng nhập Raspiberry (Trang 33)
Hình 3.16 Cài đặt thông số VNC Viewer Cuối cùng giao diện Raspberry được hiện trên VNC Viewer - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.16 Cài đặt thông số VNC Viewer Cuối cùng giao diện Raspberry được hiện trên VNC Viewer (Trang 34)
Hình 3.17 Giao diện RaspberryPi trong VNC - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.17 Giao diện RaspberryPi trong VNC (Trang 34)
Hình 3.4.2 Board mạch Arduino UNO R3 - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.4.2 Board mạch Arduino UNO R3 (Trang 37)
Hình 3.5.2 Sơ đồ chân 3.6. Bộ nguồn:  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.5.2 Sơ đồ chân 3.6. Bộ nguồn: (Trang 40)
Hình 3.6.1 Board mạch nguồn - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 3.6.1 Board mạch nguồn (Trang 40)
Bảng so sánh tốc độ truyền dữ liệu các chuẩn giao tiếp - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Bảng so sánh tốc độ truyền dữ liệu các chuẩn giao tiếp (Trang 45)
4.1.1.4. Mơ hình kết nối - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
4.1.1.4. Mơ hình kết nối (Trang 46)
Hình 4.1.3 Sơ đồ dịng xử lý - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.1.3 Sơ đồ dịng xử lý (Trang 47)
Hình 4.1.5 Giao tiếp song song Các ứng dụng của UART  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.1.5 Giao tiếp song song Các ứng dụng của UART (Trang 49)
Hình 4.1.6 So sánh cá chuẩn giao tiếp 4.1.3 Chuẩn giao tiếp:  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.1.6 So sánh cá chuẩn giao tiếp 4.1.3 Chuẩn giao tiếp: (Trang 50)
Hình 4.2.4 Sơ đồ kết nối đến relay và thiết bị. 4.4. Giới thiệu app Blink  - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.2.4 Sơ đồ kết nối đến relay và thiết bị. 4.4. Giới thiệu app Blink (Trang 58)
Hình 4.2.5 Sơ đồ kết nối đến Blink. - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.2.5 Sơ đồ kết nối đến Blink (Trang 59)
Hình 4.5.2 Lưu đồ dịng tín hiệu cho Raspberry. - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.5.2 Lưu đồ dịng tín hiệu cho Raspberry (Trang 60)
Hình 4.7.1 Cài đặt controlles trên blynk - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.7.1 Cài đặt controlles trên blynk (Trang 71)
Hình 4.7.4 Cài đặt Timer - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.7.4 Cài đặt Timer (Trang 74)
Hình 4.7.5 Màn hình điều khiển - Ứng dụng board mạch raspberry PI 3B + điều khiển thiết bị gia dụng ( Smart home)
Hình 4.7.5 Màn hình điều khiển (Trang 75)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w