1.1 ĐẶT VẤN ĐỀ
MỤC TIÊU
Đề tài có nh ng mục tiêu chính như sau :
Điều khiển thiết bị trong nhà thông qua công nghệ luetooth
Điều khiển thiết bị và cảnh báo thông qua công nghệ sim900A
Điều khiển thiết bị qua module wifi ESP8266
Chương trình điều khiển cho board Arduino sẽ nhận tín hiệu từ cảm biến, cho phép giao tiếp và điều khiển các thiết bị bên ngoài theo yêu cầu.
Thi công mô hình ngôi nhà thông minh
Thiết kế giao diện phần mềm điều khiển ngôi nhà thông minh trên điện thoại.
NỘI DUNG NGHIÊN CỨU
Đề tài hệ thống điều khiển ngôi nhà thông minh có các nội dung chính như sau:
NỘI UNG 1: Thu thập d liệu quy trình thiết kế một ngôi nhà thông minh
NỘI UNG 2: Các giải pháp thiết kế hệ thống, mô hình nhà thông minh
NỘI UNG 3: L a ch n các thiết bị trong việc thiết kế mô hình nhà thông minh
NỘI UNG 4: Thiết kế hệ thống điều khiển
NỘI UNG 5: Thiết kế mô hình
NỘI UNG 6: Đánh giá kết quả th c hiện
GIỚI HẠN
Đề tài hệ thống điều khiển ngôi nhà thông minh có các giới hạn bao gồm:
Kích thước của mô hình thi công với chiều dài là 80cm, rộng 60cm, cao 30cm
Mạch điều khiển gồm 3 board arduino, một board ESP8266
Thiết bị sử dụng: 1LC 16x2, 1 keypad, 2 động cơ C, một còi, đèn led, rơ le
8 kênh tác động mức thấp, rơ le 2 kênh tác động mức cao, bluetooth HC-06, SIM900A, adapter 220 – 12V, 5A, nguồn chuyền đ i LS2596 Servor
Loại cảm biến sử dụng trong mô hình bao gồm: cảm biến nhiệt độ - độ m, cảm biến mưa, cảm biến độ m, cảm biến ánh sáng, cảm biến chuyển động
Đề tài nghiên cứu mô hình điều khiển với các thiết bị giả lập thực tế cho thấy sự khác biệt lớn so với các thiết bị thực Mặc dù bản chất của điều khiển là khả năng điều khiển thiết bị từ xa, nhưng hiện tại, chúng ta vẫn chưa đạt được yêu cầu đề ra trong việc ứng dụng công nghệ này.
BỐ CỤC
Nội dung đề tài gồm các phần sau:
Mục tiêu của đề tài
Nhiệm vụ của đề tài
Chương 2: Cơ sở lý thuyết
Giới thiệu hệ điều hành AN ROI
Giới thiệu oard mạch Ardunio
Chương 3: Tính toán và thiết kế
Giới thiệu phần mềm lập trình
Viết chương trình giao tiếp
Chương 4:Thi công hệ thống
Giới thiệu linh kiện sử dụng trong thiết kế
Mô hình ngôi nhà thông minh
Giao tiếp các thiết bị và điều khiển mô hình
Nh ng mục tiêu đạt đư c
Hạn chế của đề tài
Hướng phát triển đề tài
2.1 TỔNG QUAN VỀ NGÔI NHÀ THÔNG MINH
Định nghĩa nhà thông minh
Nhà thông minh, hay còn gọi là smart home hoặc home automation, là mô hình nhà được trang bị các thiết bị điện và điện tử nhằm tự động hóa hoàn toàn hoặc bán tự động các chức năng quản lý và điều khiển, thay thế con người trong nhiều thao tác.
Trong một ngôi nhà thông minh, các thiết bị như đồ dùng phòng ngủ, phòng khách và 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 chủ nhân điều khiển từ xa hoặc lập lịch hoạt động Hơn nữa, các thiết bị gia dụng có khả năng hiểu ngôn ngữ của nhau và tương tác một cách thông minh.
Nhà thông minh là hệ thống kết hợp các thiết bị điện tử gia dụng thành mạng lưới hoạt động theo kịch bản tùy biến, mang lại môi trường sống tiện nghi, an toàn và tiết kiệm năng lượng Hệ thống này bao gồm một máy chủ (Home Server) điều khiển trung tâm, kết nối và quản lý các thiết bị như an ninh, hệ thống cửa, điều hòa, rèm, đèn, quạt, ti vi và bếp gas Các thiết bị được kết nối qua công nghệ truyền dữ liệu như Power Line Communication (PLC) hoặc Zigbee, và kết nối trực tiếp đến Home Server Chủ nhân của hệ thống có thể kiểm soát và điều khiển ngôi nhà cũng như các thiết bị bằng điện thoại di động, tablet hoặc laptop từ bất kỳ đâu và bất kỳ lúc nào.
Một ngôi nhà thông minh đầy đủ, thường bao gồm các tính n ng:
Ph n phối đa phương tiện, là một rạp hát gia đình
Điều khiển việc chiếu sáng, mành, rèm
Giám sát, điều khiển môi trưởng (nhiệt độ, độ m…)
Có khả n ng liên lạc gi a các phòng
Giám sát, điều khiển camera an ninh
Giám sát và điều khiển từ xa nh 2.1 nh ảnh ngôi nhà thông minh
Ưu điểm của ngôi nhà thông minh
Nhà thông minh là hệ thống sử dụng công nghệ tự động hóa, giúp nâng cao tiện nghi và quản lý hiệu quả cho người sử dụng Với một chiếc điều khiển từ xa, người dùng có thể dễ dàng điều khiển mọi thiết bị trong nhà, từ xa hoặc ngay tại chỗ Những tiện ích như tự động mở cửa khi nằm trên giường, đèn cầu thang tự sáng khi có người, và hệ thống đèn hoạt động theo thời gian đã định, mang lại sự tiện lợi và an toàn Ngoài ra, nhà thông minh còn giúp kiểm soát nhiệt độ giữa bên ngoài và bên trong, cùng nhiều tính năng hữu ích khác, làm cho cuộc sống hàng ngày trở nên thoải mái hơn.
Công nghệ điều khiển thông minh không chỉ giới hạn trong ngôi nhà mà còn cho phép tích hợp điều khiển qua điện thoại, internet hoặc PA, giúp chúng ta kiểm soát mọi sinh hoạt dù đang ở công sở hay ngoài đường Bên cạnh đó, công nghệ này có thể áp dụng cho bất kỳ không gian sống nào, từ văn phòng, siêu thị, trung tâm thương mại, đến khách sạn, nhà hàng, nhà xưởng sản xuất, ngân hàng, bệnh viện và các khu phức hợp khác, miễn là chọn lựa công nghệ phù hợp.
Công nghệ sử dụng trong thiết kế ngôi nhà thông minh
Để điều khiển các thiết bị điện tử trong ngôi nhà thông minh, người dùng có thể sử dụng máy tính bảng hoặc điện thoại di động với giao diện màn hình cảm ứng được thiết kế 3D, giúp mô phỏng ngôi nhà và các thiết bị Hệ thống chiếu sáng cho phép tùy chỉnh ánh sáng theo sở thích và có thể hoạt động tự động, trong khi hệ thống giải trí cho phép quản lý thư viện nhạc, phim theo thời gian trong ngày Hệ thống an ninh đóng vai trò quan trọng, bao gồm thiết bị kiểm soát ra vào và camera giám sát, giúp cảnh báo và xử lý tình huống khẩn cấp Hệ thống giám sát môi trường liên tục cập nhật các thông số như nhiệt độ và độ ẩm, từ đó điều chỉnh các thiết bị như điều hòa và quạt để duy trì môi trường sống tối ưu Công nghệ kịch bản ngữ cảnh giúp ngôi nhà thông minh hiểu và tự động hóa các hoạt động dựa trên thói quen của người dùng, như tự động đóng cửa khi có mưa hay bật đèn theo lịch trình Tất cả các thiết bị đều được tích hợp công nghệ hiện đại và tiêu chuẩn Châu Âu.
GIỚI THIỆU PHẦN CỨNG
2.2.1 Giới thiệu chuẩn truyền thông UART
The RS-232 standard, developed by the Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA), is the most widely used communication standard, commonly referred to simply as RS-232 This standard pertains to the serial data transmission between a host (TE - Terminal Equipment) and a peripheral device (CE - Data Circuit-Terminating Equipment).
Phiên bản đầu tiên của RS-232 được định nghĩa vào năm 1962, với các mức logic khác biệt so với logic TTL Ở đầu ra của mạch lái, mức cao (tương ứng với logic 0) có điện áp từ +5 đến +15 V, trong khi mức thấp (tương ứng với logic 1) có điện áp từ -5 đến -15 V Tại đầu vào của bộ thu, mức cao được định nghĩa từ +3 đến +15 V (gọi là space), và mức thấp từ -3 đến -15 V (gọi là mark) Để giảm nguy cơ nhiễu giữa các tín hiệu lân cận, tốc độ thay đổi (slew rate) được giới hạn tối đa là 30 V/μs, và tốc độ truyền tối đa là 20 kbps, mặc dù giới hạn này đã được nâng lên nhiều lần trong các phiên bản sau.
Trở kháng nhìn của mạch lái được định nghĩa trong khoảng từ 3 đến 7 kΩ Tải dung tối đa của đường truyền được giới hạn ở mức 2500 pF, do đó, chiều dài tối đa của cáp có thể được xác định dựa trên điện dung trên đơn vị chiều dài của cáp.
Các tín hiệu RS-232 đư c định nghĩa tại TE, theo bảng sau(chỉ nói đến các tín hiệu của đầu nối 9 ch n) ảng 2.1 Sơ đồ chân cổng com
Chân số Chức năng Chiều thông tin
1 Data Carrier Detect (DCD) Từ CE
2 Receive Data Line (RD) Từ CE
3 Transmit Data Line (TD) Đến CE
4 Data Terminal Ready (DTR) Đến CE
6 Data Set Ready (DSR) Từ CE
7 Request To Send (RTS) Đến CE
8 Clear To Send (CTS) Từ CE
9 Ring Indicate (RI) Từ CE
Các hệ thống logic hiện nay chủ yếu sử dụng chuẩn TTL hoặc CMOS, do đó để giao tiếp qua chuẩn RS-232, cần sử dụng các mạch lái và thu (RS-232 driver và receiver, hay RS-232 transceiver) để chuyển đổi giữa TTL, CMOS và tín hiệu RS-232 vật lý Các bộ transceiver hiện nay thường tích hợp bơm điện tích (charge pump) để tạo ra mức áp RS-232 vật lý, thường là +12 V và -12 V, từ một nguồn điện áp đơn giản có giá trị nhỏ như 5 V hoặc 3.3 V.
Chuẩn RS-232 chỉ hỗ trợ giao tiếp giữa thiết bị đầu cuối (TE) và thiết bị điều khiển (CE), vì vậy khi hai máy tính (TE) cần liên lạc, chúng phải thông qua một thiết bị CE như modem Các thiết bị CE này là các ngoại vi và có thể giao tiếp trực tiếp với nhau thông qua một chuẩn khác.
Hình minh h a định dạng của một ký t (character) đư c truyền theo chu n RS-
Trong trạng thái nghỉ, các đường dữ liệu RS-232 ở trạng thái mark Mỗi ký tự bắt đầu bằng một bit start (space), tiếp theo là các bit dữ liệu được truyền từ thấp đến cao, với bit thấp nhất được truyền trước Sau đó là một bit parity (nếu có) và kết thúc bằng một hay nhiều bit stop (mark) Định dạng phổ biến nhất là 8N1, tức là 8 bit dữ liệu, không có parity, và 1 bit stop.
Trong quá trình truyền dữ liệu, bit được truyền đến thường được thực hiện giữa các bit Do đó, các bộ thu và phát thường sử dụng xung clock với tốc độ gấp 16 lần tốc độ baud, tức là số bit truyền được trong mỗi giây trên một đường tín hiệu Bộ thu sẽ dò tìm bit bắt đầu và sẽ nhận bit đầu tiên sau 24 chu kỳ xung clock sau khi phát hiện bit bắt đầu, trong khi các bit tiếp theo sẽ được nhận sau mỗi 16 chu kỳ xung clock.
Việc đồng bộ xung clock giữa phía thu và phát trong giao tiếp RS-232 được thực hiện thông qua mỗi bit start của ký tự truyền Trong trường hợp xấu nhất, khi truyền 12 bit (1 bit start, 8 bit dữ liệu, 1 bit parity, và 2 bit stop), độ lệch tối đa của xung clock giữa hai phía có thể chấp nhận là khoảng 3%, tương đương với 33% tại bit cuối cùng Điều này cho thấy không cần thiết phải sử dụng các bộ dao động chính xác cao để tạo xung clock cho các bộ thu phát RS-232, vì độ sai lệch xung clock không cần phải là 0% Hầu hết các thiết bị truyền thông (TE) và thiết bị điều khiển (CE) đều có bộ truyền nhận bất đồng bộ đa dụng (UART) dưới dạng module phần cứng, nên người dùng thường không cần quan tâm đến các thao tác cấp thấp trong giao tiếp RS-232 Tuy nhiên, nếu thiết bị không hỗ trợ giao tiếp RS-232, có thể sử dụng một UART bên ngoài hoặc phần mềm để giả lập UART.
SIM900A là một module GSM GPRS nhỏ gọn, được thiết kế cho thị trường nh 2.3 Nó sử dụng chip xử lý đơn nh n mạnh mẽ, nâng cao các tính năng quan trọng dựa trên vi xử lý ARM926EJ-S với kích thước chỉ 24x24 mm.
Nguồn đơn cung cấp 3.4 - 4.5V, dòng 2A
Ở chế độ Sleep thì module tiêu thụ dòng 1.5mA
Hỗ tr đầy đủ các ng ra: RS232, audio, A C, VRTC, PWM, I2C
Có thể kết nối với các dòng vi điều khiển: PIC, AVR, ARM, AR UINO
Loại GSM là loại MS nhỏ
GPRS d liệu tải xuống: Max 85.6 kbps
GPRS d liệu up lên: Max 42.8 kbps
Sơ đồ mã hóa: CS-1, CS-2, CS-3 và CS-4
Sim900 hỗ tr giao thức PAP(Password Authentication protocol), kiểu sử dụng kết nối PPP
Sim900 tích h p giao thức TCP IP
Hỗ tr nhiều chế độ MT, MO, C , Text and P U
Kết nối thông qua anten ngoài hoặc đế anten
Toàn bộ chế độ(ETS 06.10)
Toàn bộ chế độ t ng cường(ETS 06.50 06.06 06.80)
C ng nối tiếp: 7 C ng nối tiếp(gh p nối)
C ng kết nối có thể sử dụng với CS Fax, GPRS và gửi lệnh AT Command tới module điều khiển
C ng nối tiếp có thể sử dụng chức n ng giao tiếp
Hỗ tr tốc độ truyền 1200 bps tới 115200 bps
C ng truyền nhận d liệu: 2 c ng nối tiếp TX và RX
Hỗ tr mẫu danh sách: SM, F , L , RC, ON, MC
Đồng hồ thời gian th c
Sim 900A Nặng 3.4g (khi không giao tiếp)
Khối sơ đồ và các khối cơ bản của Module Sim900A bao gồm sơ đồ khối tổng thể và sơ đồ chân Sơ đồ khối của Module Sim900A giúp người dùng hiểu rõ cấu trúc và chức năng của từng phần trong module Bảng 2.2 trình bày tên và chức năng của từng chân trên Module Sim900A, cung cấp thông tin cần thiết cho việc kết nối và sử dụng module một cách hiệu quả.
STT TÊN CHÂN I/O MÔ TẢ CH N
VBAT I Kết nối nguồn áp Vmax=4.5V; V min =3.4V;
Ng vào cho RTC: khi không có nguồn cung cấp cho hệ thống
Ng ra cung cấp cho nguồn d tr : khi nguồn chính đã có và trạng thái nguồn d tr ở mức thấp
I out(max) 00uA; I in =2Ua
Cung cấp nguồn điện áp 2.8V cho mạch ngoài Xác định trạng thái ON OFF của hệ thống Khi điện áp mức thấp thì hệ thống OFF và ngư c lại
2.1.3.1.1.2 MỤC ĐÍCH TỔNG QUAN VÀO RA
VIL max =0.15*VDD_EXT VIL min =0.85*VDD_EXT VILmin=0V
SCL O VOH min = VDD_EXT-0.1V
VOL max =0.1V VOH max = VDD_EXT VOLmin=0V
POWER ON OR POWER OFF
Cung cấp mức điện áp thấp khi tắt hoặc mở nguồn hệ thống Để hệ thống nhận dạng phần mềm, cần nhấn nút trong vài giây khi mở nguồn Giá trị VIL max được tính bằng 0.15*VDD_EXT.
VI max =VDD_EXT VIL min =0V
VILmax=0.15*VDD_EXT VIHmin=0.85*VDD_EXT VILmin=0V
VIHmax=VDD_EXT VOHmin=VDD_EXT-
0.1V VOLmax=0.1V VOHmax=VDD_EXT VOLmin=0V
Giao diện nối tiếp của bộ sửa lỗi và truyền thông
VILmax=0.15*VDD_EXT VIHmin=0.85*VDD_EXT VILmin=0V
VIHmax=VDD_EXT VOHmin=VDD_EXT-
0.1V VOLmax=0.1V VOHmax=VDD_EXT VOLmin=0V
ADC I Mức điện áp 0 - 3V, s dụng 10bit ph n giải
MIC_P I Ng vào của microphone +
Ng vào của microphone - MIC_N
Ng vào 2 kênh phải và trái LINEIN_L
SIM_VDD Điện áp có thể đư c điều chỉnh b ng phần mềm t động từ 1.8V hoặc 3V
VILmax=0.15*SIM_VDD SIM_CLK
SIM_RST VIHmin=0.85*SIM_VDD VILmin=0V
VIHmax=SIM_VDD VOHmin=SIM_VDD-
0.1V VOLmax=0.1V VOHmax=SIM_VDD VOLmin=0V SIM_PRESENCE
VILmax=0.15*VDD_EXT VIHmin=0.85*VDD_EXT VILmin=0V VIHmax=VDD_EXT
PULSEWIDTHMODULATION ĐIỀU CHẾ ĐỘ RỘNG XUNG
VOLmax=0.1V VOHmax=VDD_EXT VOLmin=0V
SIM900 yêu cầu nguồn điện với điện áp VBAT từ 3.4V đến 4.5V Khi dòng tiêu thụ tăng lên đến 2A, các gợn sóng trên đường truyền có thể gây ra sụt áp Do đó, nguồn cung cấp cần đảm bảo khả năng cung cấp đủ dòng lên tới 2A Để đảm bảo ổn định cho module, nên sử dụng tụ điện bypass 100uF và một tụ điện từ 0.1uF đến 1uF kết nối song song và gần VBAT.
Pin lithium 3.6V có thể kết nối trực tiếp với module SIM, trong khi pin Ni Cd và Ni MH cần được sử dụng cẩn thận Điện áp của pin Ni Cd và Ni MH có thể tăng lên vượt quá mức tối đa cho phép của module SIM, gây nguy hiểm cho thiết bị.
2.2.2.2 Khối giao tiếp thẻ sim
Có thể sử dụng lệnh AT để có đư c thông tin trong thẻ SIM
Thẻ SIM đư c h tr 1.8V và 3V
SIM giao tiếp đư c cấp nguồn từ bộ điều chỉnh bên trong module có điện áp thông thường là 3V nh 2.8 Giao tiếp Simcard 6 chân và chip Sim 900
Giao tiếp RF phải có trở kháng 50 Ohm
Tần số hoạt động của SIM 900A:
Các module GSM được thiết kế như một thiết bị truyền thông (CE), kết nối với thiết bị đầu cuối xử lý dữ liệu (TE) truyền thống Các module và thiết bị cuối (TE) liên lạc với nhau thông qua các tín hiệu ở nhiều tốc độ baud khác nhau, với tính năng autobauding hỗ trợ tốc độ truyền từ 1200 bps đến 115200 bps.
ùng để giao tiếp d liệu với máy tính và các dòng vi xử lí
Các module cung cấp một kênh đầu vào tương t , sử dụng cho micro Micro có trở kháng 32Ω thường đư c sử dụng chủ yếu
Đầu vào bên ngoài có thể được kết hợp trực tiếp hoặc thông qua các kết nối bên ngoài, tạo ra tín hiệu tương tự như nhạc chuông từ một giai điệu bên ngoài IC hoặc âm nhạc phát ra từ bộ chỉnh IC FM hoặc module.
Ta có thể sử dụng AT+ CMIC điều chỉnh mức t ng đầu vào của Microphone, sử dụng AT SI ET để thiết lập mức độ phụ m
Ngoài ra, ta cũng có thể sử dụng AT + CLVL điều chỉnh mức t ng m lư ng nh 2.9 Sơ đồ nguyên lý khối giao tiếp âm thanh
BOARD ARDUINO
Arduino là một bo mạch vi xử lý cho phép 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ơ và đèn Với môi trường phát triển dễ sử dụng và ngôn ngữ lập trình thân thiện, ngay cả những người không có nhiều kiến thức về điện tử cũng có thể học nhanh chóng Bo mạch Arduino thường có 20 chân I/O, giúp người dùng dễ dàng tương tác và điều khiển nhiều thiết bị khác nhau.
Bo mạch Arduino sử dụng vi xử lý 8-bit mega AVR của Atmel, bao gồm hai chip phổ biến là Atmega 328 và Atmega 2560 Các vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp nhờ cấu hình mạnh mẽ với bộ nhớ ROM, RAM và Flash Bo mạch còn tích hợp nhiều ngõ ra digital I/O, trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, cũng như các ngõ tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).
EEPROM: 1KB (Atmega 328) và 4KB (Atmega 2560)
SRAM: 2KB (Atmega 328) và 8KB (Atmega 2560)
Flash: 32KB (Atmega 328) và 256KB (Atmega 2560)
Đọc tín hiệu c m biến ngõ vào
Các bo mạch Arduino được trang bị các chân digital có thể được cấu hình linh hoạt làm ng vào hoặc ng ra thông qua phần mềm Điều này cho phép người dùng tùy chỉnh số lượng chân ng vào và ng ra theo nhu cầu Cụ thể, các mạch sử dụng Atmega 328 có tổng cộng 14 chân digital, trong khi đó các mạch sử dụng Atmega 2560 có tới 54 chân digital.
Các bo mạch Arduino đều có trang bị các ng vào analog với độ ph n giải 10-bit
Atmega 328 có 6 kênh đầu vào analog, trong khi Atmega 2560 có 16 kênh Với độ phân giải khoảng 0.5mV khi điện áp chuẩn là 5V, người dùng có thể dễ dàng đọc nhiều loại cảm biến như cảm biến nhiệt độ, áp suất, độ ẩm và ánh sáng nhờ tính năng đọc analog chính xác của vi điều khiển này.
Xuất tín hiệu c m biến ngõ ra
Người dùng có thể cấu hình phần mềm để lựa chọn các chân digital trên vi điều khiển Trên mạch Atmega 328, tổng số chân digital là 14, trong khi đó mạch Atmega 2560 có tới 54 chân digital.
Trong các công cụ kỹ thuật số, người dùng có thể lựa chọn một số công cụ để xuất tín hiệu điều chế độ rộng xung (PWM) Độ phân giải của các tín hiệu PWM này đạt 8 bit Đối với các bo mạch sử dụng vi điều khiển Atmega 328, số lượng kênh PWM tối đa là 6.
PWM, hay điều chế độ rộng xung, là một kỹ thuật quan trọng trong viễn thông, xử lý âm thanh và điều khiển động cơ Ứng dụng phổ biến nhất của PWM là trong việc điều khiển động cơ servos, đặc biệt trong các máy bay mô hình.
Giao tiếp nối tiếp là một phương thức phổ biến trên các bo mạch Arduino, với mỗi bo được trang bị một cổng Serial cứng do phần cứng trong chip thực hiện Ngoài ra, tất cả các cổng digital còn lại có thể thực hiện giao tiếp nối tiếp bằng phần mềm thông qua thư viện chuẩn, giúp người dùng không cần viết code Mức tín hiệu của các cổng này là TTL 5V, trong khi cổng nối tiếp RS-232 trên các thiết bị hoặc PC có mức tín hiệu là UART 12V, do đó cần sử dụng bộ chuyển mức như chip MAX232 để giao tiếp giữa hai mức tín hiệu Atmega 328 có 1 cổng Serial cứng, trong khi Atmega 2560 có 4 cổng Nhờ tính năng giao tiếp nối tiếp, các bo Arduino có khả năng kết nối với nhiều thiết bị như PC, màn hình cảm ứng và các game console.
Các bo Arduino tiêu chuẩn đều được trang bị cổng USB để kết nối với máy tính, phục vụ cho việc tải chương trình Tuy nhiên, các chip AVR lại không có cổng này.
Các bo Arduino cần được trang bị thêm phần chuyển đổi từ USB sang tín hiệu UART, giúp máy tính nhận diện cổng USB này như một cổng COM thay vì cổng USB tiêu chuẩn.
SPI là một giao thức truyền thông nối tiếp đồng bộ với 4 dây, cho phép các bo Arduino kết nối dễ dàng với nhiều thiết bị như LCD, bộ điều khiển video game, cảm biến và thẻ nhớ SD, MMC.
Giao thức TWI (I2C) là một phương thức giao tiếp đồng bộ với chỉ hai dây dẫn, cho phép các bo mạch Arduino kết nối với nhiều loại cảm biến, như cảm biến nhiệt độ CPU, cảm biến tốc độ quạt, màn hình OLED, đồng hồ thời gian thực, và điều chỉnh âm lượng cho một số loại loa.
Môi trường lập trình m ch Arduino
Thiết kế bo mạch nhỏ gọn và tính năng đa dạng mang lại nhiều lợi thế cho Arduino, nhưng sức mạnh thực sự của nó nằm ở phần mềm Môi trường lập trình đơn giản và dễ sử dụng, cùng với ngôn ngữ lập trình Wiring dễ hiểu, dựa trên nền tảng C/C++, rất quen thuộc với kỹ sư Đặc biệt, số lượng thư viện mã nguồn mở được viết sẵn và chia sẻ bởi cộng đồng là rất lớn, tạo điều kiện thuận lợi cho người dùng.
Môi trường lập trình Arduino IDE hỗ trợ ba nền tảng phổ biến: Windows, Macintosh OSX và Linux Với tính chất nguồn mở, Arduino IDE hoàn toàn miễn phí và cho phép người dùng có kinh nghiệm mở rộng thêm các tính năng.
Ngôn ngữ lập trình có khả năng mở rộng thông qua các thư viện C++, cho phép người dùng tích hợp mã viết bằng AVR C vào chương trình, nhờ vào nền tảng ngôn ngữ C của AVR.
GIAO TIẾP BLUETOOTH
2.4.1 Giới thiệu về module HC-05
Module Bluetooth HC-05 được thiết kế để chuyển đổi giao tiếp nối tiếp không đồng bộ thành giao tiếp không dây Bluetooth và ngược lại Với thiết kế hoàn chỉnh, module này giúp dễ dàng kết nối và thực hiện các thí nghiệm HC-05 hoạt động hiệu quả với mức điện áp từ 3.3V đến 5V DC, cho phép kết nối thuận lợi với máy tính.
05 sẽ nhận như một c ng COM ảo ở chế độ truyền Haft uplex tức trong một thời điểm chỉ có thể truyền hoặc nhận tín hiệu
Module có 2 chế độ làm việc (có thể l a ch n chế độ làm việc b ng cách thay đ i trạng thái ch n 34 KEY):
T động kết nối Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp với module
Module HC05 có thể hoạt động ở 3 chế độ: Master, Slave và Loopback, với khả năng chọn chế độ thông qua lệnh AT Giao tiếp với module diễn ra qua giao thức nối tiếp không đồng bộ qua hai chân RX và TX, cho phép kết nối với PC chuẩn RS232 hoặc các vi điều khiển Để cấu hình chế độ hoạt động, trạng thái chân 34 (KEY) cần được thay đổi: để module hoạt động ở chế độ kết nối tự động, KEY phải ở trạng thái Floating, trong khi để hoạt động theo lệnh, KEY cần được kết nối xuống đất (0) và sau đó cấp nguồn cho module trước khi chuyển KEY lên VCC (1) để sử dụng các lệnh AT.
Điện áp hoạt động : 3.3-5VDC, 30mA
Kích thước 28mm x 15mm x 2.35mm
Tốc độ: 2.1Mbs (Max)/160kbps
Tốc độ baudrate mặc định: 9600, 8bit d liệu, 1bit Stop Hỗ tr tốc độ baud:
Nhiệt độ làm việc: -20 ~ 75 độ C
Module có 2 chế độ làm việc:
Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp và cài đặt module
2.4.3 Đặc điểm phần cứng nh 2.15 Phần cứng C -05
GIỚI THIỆU VỀ DÕNG CHIP WIFI ESP8266
Chip ESP8266, được phát triển bởi Espressif, cung cấp giải pháp giao tiếp Wifi cho các thiết bị IoT Điểm nổi bật của ESP8266 là tính năng tích hợp các mạch, giúp đơn giản hóa việc thiết kế và phát triển sản phẩm.
ESP8266 tích hợp các thành phần RF như balun, công tắc anten, bộ khuếch đại công suất TX và bộ lọc RX trong một chip nhỏ gọn chỉ 5x5mm, giúp giảm kích thước board mạch và số lượng linh kiện cần thiết Điều này không chỉ tiết kiệm không gian mà còn làm giảm chi phí, khiến ESP8266 trở thành lựa chọn hấp dẫn cho các nhà phát triển sản phẩm IoT.
2.5.1 Cấu trúc phần cứng của dòng chip ESP8266
Sử dụng 32-bit MCU core có tên là Tensilica
Tốc độ system clock có thể set ở 80MHz hoặc 160MHz
Không tích h p bộ nhớ Flash để lưu chương trình
Tích h p 50K RAM để lưu d liệu ứng dụng khi chạy
Có đầy đủ các ngoại vi chu n đê giao tiếp như 17 GPIO, 1 Slave SDIO, 3 SPI,
Tích h p các mạch RF để truyền nhận d liệu ở tần số 2.4GHz
Hỗ tr các hoạt động truyền nhận các IP packages ở mức hardware như Acknowledgement, Fragmentation và Defragmentation, Aggregation, Frame,
Encapsulation… (và phần stack TCP IP sẽ đư c th c hiện trên firmware của ESP8266)
ESP8266 không hỗ trợ bộ nhớ Flash tích hợp, vì vậy các board sử dụng chip này cần kết nối thêm một chip Flash bên ngoài, thường là Flash SPI Điều này giúp ESP8266 có thể thực hiện chương trình ứng dụng theo chuẩn S IO hoặc SPI.
2.5.2 M ch nguyên lý đầy đủ của ESP8266
Board ESP8266 chỉ cần sử dụng thạch anh, chip SPI flash và một số linh kiện điện trở đơn giản, điều này giúp việc tích hợp giao tiếp Wifi vào ứng dụng với ESP8266 trở nên dễ dàng và nhanh chóng.
Về mô hình lập trình ứng dụng với ESP8266, chúng ta có thể chia làm 2 loại như sau:
Sử dụng firmware đư c cung cấp bởi Espressif và giao tiếp thông qua AT commands
Lập trình firmware tr c tiếp vào ESP8266 sử dụng bộ thư viện S K cung cấp bởi Espressif nh 2.16 Sơ đồ nguyên lý ESP8266
2.5.3 Các chế độ boot up của ESP8266 o ESP8266 không tích h p Flash bên trong chip để lưu code ứng dụng nên chúng ta phải lưu code ứng dụng trong bộ nhớ ngoài bao gồm chip SPI Flash hoặc
S Card Chúng ta có thể kết nối 1 số ch n GPIO để báo cho ESP8266 nơi lưu code ứng dụng để từ đó ESP8266 có thể đ c code và th c thi
Các chế độ boot up của ESP và cấu hình ch n GPIO tương ứng như sau: ảng 2.3 C u h nh chân GPIO
MTDO GPIO0 GPIO2 Mode Description
L L H UART Download code from UART
L H H Flash Boot from SPI Flash
H X X SDIO Boot from SD-card
Chân MT0, tương ứng với chân GPIO15 của ESP8266, cho phép kết nối với điện trở kéo lên hoặc kéo xuống, hoặc sử dụng nút nhấn để tạo tín hiệu High/Low Tín hiệu này giúp chọn bộ nhớ chứa mã code mà ESP8266 có thể đọc và thực thi, chẳng hạn như chip SPI Flash hoặc thẻ SD Bên cạnh đó, ESP8266 cũng hỗ trợ chế độ truyền code ứng dụng từ máy tính qua giao thức UART và lưu vào bộ nhớ SPI Flash trên board Chúng ta sẽ sử dụng chế độ này để nạp code mới cho các board ESP8266.
2.5.4 Các lo i module cho ESP8266 trên thị trường
Ngoài module ESP-WROOM-02 do Espressif phát triển cho nghiên cứu tính năng của ESP8266, các module ứng dụng phổ biến hiện nay đều được phát triển bởi công ty AI-Thinker.
Hiện tại có khá nhiều module khác nhau cho ESP8266 đư c sản xuất bởi công ty AI-Thinker Đặc điểm khác nhau gi a các module này bao gồm:
Loại anten sử dụng (PC anten, chip anten hoặc gắn anten ngoài)
ung lư ng của chip Flash SPI trên board
Kích thước board của module
Có gắn khung nhôm chống nhiễu hay không
Số lư ng pin GPIO đưa ra ch n kết nối
Hiện tại AI-Thinker sản xuất 14 loại module cho ESP từ module ESP-01 đến ESP-14 Ở thị trường Việt nam thì 3 module là ESP-01, ESP-07 và ESP-12F khá ph biến
ESP-01 nh 2.17 nh ảnh ESP-01
Sử dụng on-board PCB antenna
Có 2 LE trên board để báo nguồn và báo TX
Cung cấp 3 ch n GPIO (GPIO0, GPIO2 và GPIO6) và 2 ch n TX RX cho UART
ung lư ng SPI Flash 4M yte
Đưa ch n ra jumper luôn nên có thể kết nối tr c tiếp với các board khác 1 cách nhanh chóng
ESP-07 nh 2.18 nh ảnh ESP-07
Sử dụng chip anten on-board và có IPEX connector hỗ tr gắn thêm anten ngoài để t ng khoảng cách truyền
Đưa ra 9 ch n GPIO, 2 ch n TX RX cho UART, 1 ch n REST để reset chip, 1 ch n A C, 1 ch n CH P để đưa chip vào chế độ low power
ung lư ng SPI Flash trên board là 4M yte
Có thể hàn thêm jumper để kết nối tr c tiếp với board khác hoặc hàn tr c tiếp lên board ứng dụng
ESP-12F nh 2.19 nh ảnh ESP-12F
Sử dụng PC anten on-board
Đưa ra 11 ch n GPIO, 2 ch n TX RX cho UART, các chân cho SPI, chân RST để reset chip, 1 ch n A C
ung lư ng SPI Flash là 4M yte
Có thể hàn jumper để c m d y vào các board khác hoặc hàn tr c tiếp lên board ứng dụng
TÍNH TOÁN VÀ THIẾT KẾ
Chúng em đã thiết kế một mô hình ngôi nhà thông minh bao gồm các không gian như phòng khách, gara, hai phòng ngủ, phòng bếp, phòng vệ sinh và sân vườn.
Mô hình cần thiết kế nhƣ sau:
Hệ thống điều khiển trung t m: sử dụng board Arduino và SIM900A
Hệ thống chiếu sáng: Trong nhà gồm có phòng khách, phòng ngủ, bếp, nhà vệ sinh, ngoài trời có hệ thống chiếu sáng cho s n vườn
Hệ thống mở của t động được điều khiển bằng mật khẩu nhập từ bàn phím, hiển thị trên màn hình LC, hoặc thông qua điều khiển từ điện thoại Android qua kết nối Bluetooth.
Hệ thống an ninh sử dụng cảm biến chuyển động để phát hiện sự hiện diện của người khi không có ai ở nhà Khi cảm biến này hoạt động, nó sẽ kích hoạt còi báo động và đồng thời gửi tin nhắn cùng cuộc gọi đến chủ nhà, giúp tăng cường an toàn cho ngôi nhà của bạn.
Hệ thống báo cháy tự động hoạt động khi cảm biến lửa phát hiện có cháy, kích hoạt động cơ phun nước để dập tắt lửa Đồng thời, hệ thống sẽ gửi tin nhắn và cuộc gọi đến chủ nhà để thông báo kịp thời về tình huống khẩn cấp.
Hệ thống thiết bị : đư c điều khiển b ng điện thoại Android thông qua Bluetooth và Wifi
Hệ thống cảm biến thông minh bao gồm nhiều loại cảm biến như cảm biến ánh sáng, tự động bật đèn khi trời tối; cảm biến mưa, tự động đóng rèm khi có mưa; cảm biến độ ẩm, điều khiển bơm nước theo độ ẩm của đất; cảm biến nhiệt độ, tự động bật quạt hoặc máy lạnh khi nhiệt độ thay đổi; và cảm biến chuyển động, tự động bật tắt đèn khi có người vào phòng.
Tất cả nh ng hệ thống này đư c tính toán và mô phỏng giống như một phần của ngôi nhà thông minh trong th c tế.
4.1 GIỚI THIỆU
THI CÔNG HỆ THỐNG
4.2.1 Thi công hệ thống điều khiển cho ngôi nhà thông minh
4.2.1.1 Hệ thống cửa tự động
Trong phần này, chúng tôi sử dụng một board Arduino để giao tiếp với keypad và điều khiển màn hình LCD cùng servo nhằm đóng mở cửa tự động Sơ đồ kết nối giữa Arduino, keypad và LCD được trình bày chi tiết trong phần 4.2.
4.2.1.2 Hệ thống thiết bị trong nhà
Trong bài viết này, chúng tôi trình bày việc sử dụng board Arduino kết nối với module Bluetooth HC-05 để điều khiển thiết bị thông qua rơ le 8 kênh với mức tác động thấp, giúp cách ly giữa đầu vào và đầu ra Đồng thời, chúng tôi cũng sử dụng board Arduino Wifi để kết nối Wifi và điều khiển thiết bị qua rơ le Sơ đồ kết nối giao tiếp giữa Arduino với Bluetooth và rơ le được mô tả rõ ràng, cùng với sơ đồ kết nối giữa Arduino Wifi và rơ le.
Trong bài viết này, chúng tôi sử dụng board Arduino kết hợp với mô-đun SIM900A để nhận tín hiệu từ cảm biến lửa và cảm biến chuyển động Hệ thống điều khiển thiết bị thông qua rơ le 2 kênh, cho phép điều khiển còi báo và động cơ khi có tín hiệu đầu vào Sơ đồ kết nối giữa Arduino, SIM900A, cảm biến, rơ le và thiết bị ngõ ra được trình bày rõ ràng để minh họa cách thức hoạt động của hệ thống.
4.2.1.4 Hệ thống sân vườn và hê thống đóng tắt đèn tự động
Trong phần này, chúng tôi sử dụng một board Arduino để nhận tín hiệu từ cảm biến mưa, cảm biến độ ẩm và cảm biến ánh sáng thông qua rơ le, kết nối với hệ thống đèn và động cơ Sơ đồ kết nối giao tiếp giữa Arduino với các cảm biến, rơ le và thiết bị đèn, động cơ được trình bày rõ ràng.
Danh sách các thiết bị theo mẫu như đư c mô tả trong ảng 4.1 ảng 4.1 Danh sách các thiết ị s d ng trong mô h nh
STT Tên linh kiện Số lƣợng
4.2.2 Kết nối hệ thống và kiểm tra
Sau khi hoàn tất việc thi công các hệ thống trong ngôi nhà thông minh, chúng tôi sẽ tiến hành kết nối các hệ thống lại với nhau và kiểm tra từng hệ thống một cách kỹ lưỡng.
Sử dụng adapter chuyển đ i nguồn xoay chiều 220V AC thành nguồn 1 chiều từ 12 V – 24 V dòng 5A để cung cấp nguồn cho toàn bộ các thiết bị trong mô hình
Sử dụng adapter chuyển đổi nguồn xoay chiều 220V AC thành nguồn một chiều từ 12V đến 24V với dòng 2A là cách hiệu quả để cung cấp nguồn cho Arduino Bên trong Arduino có mạch chuyển đổi để hạ nguồn xuống 5V, đảm bảo hoạt động ổn định cho thiết bị.
Sử dụng mạch nguồn LS2596 để chuyển đ i nguồn 12V C từ adapter xuống còn 5V để cung cấp cho SIM900A
Hệ thống cửa tự động nh 4.7 Sơ đồ kết nối hệ thống c a tự động
Hệ thống thiết bị trong nhà nh 4.8 Sơ đồ kết nối hệ thống thiết ị trong nhà
Hệ thống an ninh nh 4.9 Sơ đồ kết nối hệ thống an ninh
Hệ thống sân vườn và hệ thống đóng tắt đèn tự động nh 4.10 Sơ đồ kết nối hệ thống sân vườn và hệ thống tắt đèn tự động
4.2.2.2 Kiểm tra kết nối hệ thống
Kiểm tra hệ thống cửa tự động
Hệ thống cửa tự động mở khi người dùng nhập đúng mật khẩu và sẽ đóng lại khi nhấn phím tắt trên bảng điều khiển.
Kiểm tra hệ thống thiết bị trong nhà
Hệ thống đèn, quạt và máy lạnh có thể được điều khiển dễ dàng thông qua bảng điều khiển trên thiết bị điện thoại Android Người dùng có khả năng bật tắt đèn và máy lạnh chỉ với vài thao tác đơn giản trên điện thoại, mang lại sự tiện lợi và tiết kiệm năng lượng cho không gian sống.
Kiểm tra hệ thống an ninh
Hệ thống an ninh sẽ tự động kích hoạt còi báo động và động cơ bơm nước khi có tín hiệu báo trộm hoặc báo cháy Đồng thời, hệ thống cũng gửi tin nhắn và đèn tín hiệu đến chủ nhà để thông báo kịp thời.
Kiểm tra hệ thống sân vườn
Hệ thống đèn, rèm phơi đồ và động cơ bơm nước tưới tiêu cho cây cối trong vườn được điều khiển tự động thông qua các cảm biến Khi có mưa, rèm sẽ tự động đóng mở để bảo vệ cây trồng.
Kiểm tra hệ thống đóng tắt đèn tự động
Hệ thống đèn nhà vệ sinh đóng mở khi có người đi vào và ra nh 4.16 nh ảnh thiết ị đóng, tắt khi được tác động trên ảng điều khi n
Tất cả các module hoạt động hiệu quả và đáp ứng đúng yêu cầu điều khiển ban đầu Tuy nhiên, một số trường hợp không đạt yêu cầu do độ nhạy của cảm biến, dẫn đến việc thay đổi giá trị điều khiển.
LẬP TRÌNH HỆ THỐNG
4.3.1.1 Lưu đồ điều khiển mở cửa bằng mật khẩu
Cửa chính của ngôi nhà được điều khiển bằng mật khẩu từ bàn phím, cho phép mở cửa tự động khi nhập đúng mật khẩu Nếu nhập sai, hệ thống sẽ khóa bàn phím trong 10 giây trước khi cho phép nhập lại mật khẩu.
HIỆN THỊ LCD LỜI CẢNH BÁO HIỆN THỊ LCD ĐÓNG CỬA
4.3.1.2 Lưu đồ điều khiển thiết bị trong nhà thông qua Bluetooth
Tất cả các thiết bị trong ngôi nhà có thể được điều khiển thông qua ứng dụng trên Android kết nối với Bluetooth, cho phép người sử dụng dễ dàng mở hoặc đóng nhiều thiết bị cùng một lúc trên bảng điều khiển.
Kết nối Bluetooth với app inventor
Có dữ liệu kết nối
Gởi dữ liệu từ ứng dụng qua bluetooth
Giao tiếp với arduino Điều khiển thiết bị trên ứng dụng app inventor
4.3.1.3 Lưu đồ điều khiển thiết bị trong nhà thông qua Wifi
Tất cả các thiết bị trong ngôi nhà được điều khiển qua ứng dụng trên Android kết nối Wifi, cho phép người dùng dễ dàng mở hoặc đóng nhiều thiết bị cùng lúc trên bảng điều khiển.
Kết nối Arduino wifi với app Blynk
Có dữ liệu kết nối wifi
Gởi dữ liệu từ ứng dụng qua wifi
Giao tiếp với arduino wifi Điều khiển thiết bị trên ứng dụng app Blynk
4.3.1.4 Lưu đồ hệ thống an ninh
Hệ thống an ninh trong ngôi nhà gồm có báo cháy và báo trộm, C L ( cảm biến lửa),
Cảm biến chuyển động (C C) đóng vai trò quan trọng trong hệ thống an ninh Khi phát hiện có lửa, cảm biến sẽ kích hoạt động cơ bơm nước để dập lửa, đồng thời gửi tin nhắn và gọi điện thông báo cho chủ nhà Tương tự, khi có người đột nhập, cảm biến sẽ phát ra còi báo động và thông báo cho chủ nhà qua tin nhắn và cuộc gọi Hệ thống này giúp bảo vệ an toàn cho ngôi nhà của bạn.
CÕI CẢNH BÁO Động cơ bơm nước ho t động
Kết nối SIM900A với Arduino
4.3.1.5 Lưu đồ hệ thống cảm biến
Hệ thống cảm biến bao gồm cảm biến ánh sáng (C AS), cảm biến độ ẩm (C A), cảm biến mưa (C M) và cảm biến chuyển động (C CĐ) Khi trời tối, cảm biến ánh sáng sẽ tự động bật đèn ngoài trời Trong trường hợp trời mưa, cảm biến mưa sẽ kích hoạt để đóng rèm phơi đồ Nếu độ ẩm trong đất không đạt yêu cầu, động cơ bơm nước sẽ hoạt động để tưới tiêu cho cây cối trong vườn Ngoài ra, khi có người vào vệ sinh, hệ thống đèn vệ sinh sẽ tự động bật sáng.
4.3.2 Phần mềm lập trình cho vi điều khiển Để lập trình đư c cho các board Arduino, chúng ta cần phải có một công cụ g i là Intergrated Development Environment (IDE) Công cụ này đư c đội ngũ kĩ sư của Arduino phát triển và có thể chạy trên Windows, MAC OS X và Linux Ở đ y sẽ hướng dẫn cài đặt nó trên Windows Chúng ta cũng làm tương t các bước này cho các nền tảng khác Đầu tiên chúng ta sẽ cài đặt Java Runtime Environment (JRE)
Để sử dụng Arduino IDE, trước tiên bạn cần cài đặt JRE vì Arduino IDE được phát triển trên nền tảng Java Bạn có thể tải JRE từ liên kết: [http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-](http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-).
1880261.htm ật đèn ngoài sân
Begin ơm nước tưới c y ật đèn vệ sinh
2 bản JRE ph biến nhất là bản dành cho Windows 32bit (x86) và Windows 64bit (x64) Chúng ta ch n "Accept License Agreement" nh 4.22 Cài đặt JRE
To download the latest version of the Arduino software, visit http://arduino.cc/en/Main/Software/ and select the "Windows ZIP file for non-admin install" option, as shown in the provided image.
Chúng ta sẽ được chuyển đến trang mời góp tiền để phát triển phần mềm cho Arduino Để bắt đầu tải, hãy nhấn vào nút JUST OWNLOAD Phiên bản tải về là 4.24.
Bước 2: Sau khi download xong, các bạn bấm chuột phải vào file vừa download arduino-1.6.4-windows.zip và ch n “Extract here” để giải n n nh 4.25 Giải nén file
Bước 3: Copy thư mục arduino-1.6.4 vừa giải n n đến nơi lưu tr
Bước 4: Chạy file arduino.exe trong thư mục arduino-1.6.4\ để khởi động Arduino
IDE nh 4.26 nh ảnh sau cài đặt xong
Giao diện nh 4.27 nh ảnh sau cài đặt xong
Vùng lệnh bao gồm các nút menu như File, Edit, Sketch, Tools và Help, cùng với các biểu tượng bên dưới để truy cập nhanh các chức năng thường dùng của phần mềm Tập lệnh phần mềm lập trình được mô tả chi tiết trong hình 4.28.
Chúng ta sẽ viết mã chương trình tại đây, với tên chương trình hiển thị dưới dãy Icon, được gọi là “link” Lưu ý rằng dấu “§” phía sau tên chương trình cho biết đoạn mã chưa được lưu.
Thông báo từ I E sẽ hiển thị tại đây Chú ý góc dưới cùng bên phải để kiểm tra loại board Arduino và cổng COM đang sử dụng Việc chọn đúng loại board và cổng COM là rất quan trọng, vì nếu chọn sai, bạn sẽ không thể upload code.
4.3.3 Phần mềm lập trình cho điện tho i
4.3.3.1 Giới thiệu phần mềm lập trình app inventor
Vào ngày 12/7/2010, Google đã ra mắt App Inventor, một công cụ lập trình trực quan cho phép phát triển ứng dụng trên hệ điều hành Android App Inventor được thiết kế cho mọi đối tượng, bao gồm cả trẻ em, và được phát hành dưới dạng phần mềm miễn phí Nhờ vào công cụ này, Google đã mở ra cơ hội cho mọi người tự tạo ra ứng dụng di động trên nền tảng Android, đánh dấu một bước tiến quan trọng trong lĩnh vực lập trình cho thiết bị di động.
App Inventor là một ứng dụng web chạy trên trình duyệt máy tính cá nhân, nhưng người dùng cần cài đặt phần mềm Java có tên App Inventor Extras để điều khiển điện thoại Android qua cổng USB Điều này cho phép người dùng dễ dàng chuyển ứng dụng từ máy tính sang điện thoại Android để thử nghiệm Nhóm dự án App Inventor tại Google đang phát triển bộ mô phỏng điện thoại Android, giúp người dùng sử dụng App Inventor mà không cần kết nối điện thoại thực tế Trong đề tài này, chúng tôi sử dụng MIT App Inventor để lập trình ứng dụng điều khiển kết nối Bluetooth MIT App Inventor, một chương trình của MIT (Massachusetts Institute of Technology), cho phép người dùng tạo ứng dụng Android chỉ bằng thao tác kéo thả, không cần kiến thức lập trình Phiên bản mới nhất hiện nay là MIT App Inventor 2.
Truy cập vào địa chỉ https://ai2.appinventor.mit.edu và đăng nhập bằng tài khoản Google để truy cập trang quản lý dự án Tại đây, bạn có thể xem, chỉnh sửa, xóa các dự án của mình và xuất bản chúng.
Chúng ta có thể xem, sửa, xóa các project hay publish các project a T o project : Để tạo project mới ta ch n Start New Project và đặt tên cho project đó
ên trái là các control bao gồm : User Interface, Media,Sensor,Social,… để sử dụng chúng ta click chuột và k o thả vào Screen
Ở gi a là Screen mô phỏng màn hình ứng dụng của project
ên phải là cửa s quản lý các Compoment,Media và Property cho từng control nh 4.30 Giao diện phần mềm app inventor2 nh 4.31 Xây dựng Project b Xây dựng layout :
K o thả các control sau: TableArrangement, Label, ListPicker, Button, BluetoothClient1, Clock
Sắp xếp thành giao diện mà ta mong muốn nh 4.32 Xây dựng giao diện điều khi n
Ch n tab “ lock” ở góc trên bên phải màn hình nh 4.33 Màn h nh thiết kế chương tr nh điều khi n
HƯỚNG DẪN SỬ DỤNG, THAO TÁC
Hướng dẫn sử dụng điều khiển thiết bị trên phần mềm ứng dụng
Bước đầu tiên trong quá trình thiết lập hệ thống là cấp nguồn cho nó, sử dụng nguồn điện 220V AC qua bộ chuyển đổi thành 12V DC Nguồn 12V DC sau đó được giảm áp xuống 5V DC bằng mạch LS2596 để cung cấp cho Arduino, SIM900A và các thiết bị khác Khi nguồn được cấp và công tắc được bật, đèn báo hiệu sẽ sáng lên, cho thấy hệ thống đã được cấp điện.
Bước 2: ch n chế độ vận hành, do hệ thống nhà thông minh đư c điều khiển theo từng module nên chúng ta có thể điều khiển theo ý muốn của mình
Module hệ thống mở cửa tự động từ bàn phím hiển thị trên màn hình LCD có mật khẩu mặc định là 1234 Khi người dùng nhập đúng mật khẩu từ bàn phím, hệ thống sẽ tự động mở cửa Nếu nhập sai quá 3 lần, hệ thống sẽ tạm dừng trong 10 giây, sau đó hiển thị thông báo và cho phép nhập lại Trên bàn phím có 3 phím chức năng: phím A để bật sáng màn hình LCD, phím B để tắt sáng màn hình LCD và phím C để khóa cửa chính.
Để điều khiển thiết bị trong nhà qua Bluetooth, người dùng cần kết nối điện thoại Android với ứng dụng App AI2 Sau khi kết nối thành công, màn hình sẽ hiển thị trạng thái kết nối Giao diện điều khiển sẽ liệt kê tên các thiết bị với hai chức năng chính là mở và đóng Ví dụ, để mở máy lạnh phòng ngủ, người dùng chỉ cần nhấn nút "Mở ML1", và để tắt máy lạnh, nhấn nút "Tắt ML1" Các thiết bị khác cũng được điều khiển tương tự.
Để điều khiển thiết bị trong nhà bằng Wifi, người dùng cần kết nối điện thoại Android với ứng dụng Lynk Sau khi kết nối thành công, màn hình điều khiển hiển thị tên các thiết bị với hai chức năng chính là mở và đóng Ví dụ, để mở máy lạnh phòng ngủ 1, người dùng chỉ cần nhấn vào nút "MAY LANH 1", khi đó nút sẽ hiện chữ "ON" để xác nhận máy lạnh đang hoạt động Để tắt máy lạnh, người dùng nhấn lại nút "MAY LANH 1", lúc này nút sẽ chuyển sang trạng thái "OFF" để tắt máy Các thiết bị khác cũng được điều khiển tương tự.
Hình 3.45 : Giao diện điều khiển thiết bị b ng Wifi