Chúng ta có thể xây dựng một ngôi nhà phát hiện khách đến thăm không?
Một ngôi nhà thông minh có thể nhận diện vật thể đang tiến lại gần, bật đèn và phát âm thanh cảnh báo.
TIẾP CẬN→ĐO LƯỜNG→QUYẾT ĐỊNH→CẢNH BÁO
Trước hết, hãy xem thiết kế hoàn thiện. Sau đó, chúng ta sẽ cùng nhau xây dựng chính xác ngôi nhà này.
Generating concept image…
MÔ PHỎNG NHIỆM VỤ
Xem ngôi nhà thông minh hoạt động
Đây là mô phỏng trực quan, không phải kết nối phần cứng trực tiếp.
KHOẢNG CÁCH100 cm
PHÁT HIỆN KHÁCH!
VÒNG LẶP LOGIC
01TIẾP CẬNKhách di chuyển về phía cửa.
02ĐO LƯỜNGTiếng vang siêu âm trả về một khoảng cách.
03QUYẾT ĐỊNHChương trình kiểm tra quy tắc 50 cm.
04CẢNH BÁOLED tiếp tục sáng; một tiếng bíp ngắn báo hiệu có người tiếp cận.
BỘ DỤNG CỤ XÂY DỰNG
Tìm hiểu các linh kiện
Mỗi bộ phận đều có một nhiệm vụ rõ ràng trong ngôi nhà thông minh của chúng ta.
UNO
Arduino Uno
Bộ não: nó đọc cảm biến và điều khiển cảnh báo.
Cảm biến HC-SR04
Gửi một xung âm thanh và đo tiếng vang phản hồi.
LED
Cảnh báo trực quan phát sáng gần cửa.
Còi chíp (Buzzer)
Phát ra một âm thanh ngắn cho mỗi lần tiếp cận mới.
Breadboard
Một nền tảng có thể tái sử dụng để kết nối gọn gàng.
Dây nhảy
Đường dẫn điện giữa các bộ phận.
Ω
Điện trở 220–330 Ω
Bảo vệ LED bằng cách giới hạn dòng điện.
Bìa các-tông hoặc tấm xốp
Thân nhà giá rẻ và đế ổn định.
LẬP KẾ HOẠCH TRƯỚC KHI CẮT
Thiết kế bản vẽ ngôi nhà
Cảm biến phải hướng ra ngoài và không bị vướng bởi bìa các-tông.
SENSOR hướng ra ngoài
LED
ELECTRONICS ngăn truy cập
TƯỜNG
MÁI NHÀ
CỬA TRƯỚC
ĐẾ VỮNG CHẮC
01Hãy để lại một lối đi cho khách.
02Lắp HC-SR04 phía trên hoặc bên cạnh lối vào.
03Giữ Arduino và dây nối ở vị trí dễ tiếp cận, không được bịt kín bên trong.
BẢN VẼ → XÂY DỰNG
KHU VỰC XÂY DỰNG
Xây dựng ngôi nhà bằng bìa các-tông
Xây dựng thiết kế đơn giản, chắc chắn tương tự như trong phần giới thiệu.
01
Đo và đánh dấu
Đánh dấu các bức tường, ô cửa ra vào và mái nhà trên bìa các-tông.
✓
02
Cắt các tấm bảng
Cắt cẩn thận, để lại các cạnh sạch để ghép nối.
✓
03
Ghép các bức tường
Tạo một thân nhà hình vuông và gắn tấm bảng phía trước.
✓
04
Gắn mái và đế
Cố định mái nhà vào một đế vững chắc; để các thiết bị điện tử ở vị trí dễ tiếp cận.
✓
!An toàn là trên hết:sử dụng các dụng cụ cắt cẩn thận và dưới sự giám sát của người lớn.
ĐẤU DÂY 01 / ĐẦU VÀO
Kết nối cảm biến siêu âm
Từng sợi dây một. Khớp mỗi nhãn với chân Arduino chính xác.
ARDUINO UNO5VGNDD9D10
HC-SR04VCCGNDTRIGECHO
Sơ đồ chân cảm biến
Chân cảm biến
Arduino Uno
VCC
5V
GND
GND
TRIG
D9
ECHO
D10
)))
Ý tưởng Echo Cảm biến gửi một xung âm thanh và đo thời gian phản hồi của tiếng vang.
ĐẤU DÂY 02 / ÁNH SÁNG
Kết nối đèn LED
Đèn LED nằm cạnh cửa để khách có thể nhìn thấy cảnh báo.
LED gần cửa
D13
220–330 Ω
GND
D13 → điện trở → chân dài LED → chân ngắn LED → GND
Điện trở phải được giữ trong mạch để hạn chế dòng điện và bảo vệ LED.
ĐẤU DÂY 03 / ÂM THANH
Kết nối còi báo
Một tiếng bíp ngắn thông báo có người mới tiếp cận, không phải mỗi lần cảm biến đọc dữ liệu.
+−
Còi báo bên trong / cạnh lối vào
+Cực dương còi báo (+)D8
−Cực âm còi báo (−)GND
Một lần tiếp cận = một tiếng bíp ngắn
Biến nhớ ngăn chặn tiếng bíp lặp lại khi có người vẫn đứng gần.
KIỂM TRA TRƯỚC KHI CHẠY
Kiểm tra toàn bộ mạch điện
Hãy rà soát toàn bộ đường dẫn trước khi kết nối nguồn USB.
UNO
✓Đã kiểm tra nguồn cảm biến
✓Đã kiểm tra các chân cảm biến
✓Đã kiểm tra cực tính LED
✓Có điện trở cho LED
✓Đã kiểm tra cực tính còi báo
✓Tất cả các điểm nối đất đã được kết nối
TẮT NGUỒN KHI ĐANG ĐI DÂYNgắt nguồn USB trước khi thay đổi kết nối.
PHÒNG THÍ NGHIỆM PHẦN MỀM
Bước vào phòng thí nghiệm PictoBlox
Các khối trực quan trước tiên: học sinh xây dựng logic mà không cần nhập chương trình.
PictoBlox • Stage Mode
BLOCKS
CHẾ ĐỘ STAGE
when green flag clicked
forever
read distance
01Mở PictoBlox.
02Chọn Lập trình khối (Block Coding) và Arduino Uno.
03Kết nối đúng cổng COM.
04Chọn Chế độ Stage (Stage Mode).
05Tải lên firmware yêu cầu nếu được nhắc.
06Giữ Arduino được kết nối trong khi Chế độ Stage đang chạy.
Giao diện hiển thị dưới dạng minh họa. Tên các khối trong PictoBlox có thể thay đổi tùy theo phiên bản và tiện ích mở rộng.
HỘP CÔNG CỤ KHỐI
Tìm các khối PictoBlox cần thiết
Tìm chức năng, sau đó đối chiếu với nhãn được hỗ trợ gần nhất trong phiên bản của bạn.
SỰ KIỆN
when green flag clicked
ĐIỀU KHIỂN
forever
if then
if then else
wait
TOÁN TỬ
< less than
= equals
BIẾN SỐ
create someoneNear
set someoneNear to 0
ARDUINO / MỞ RỘNG
ultrasonic distance in cm
digital pin HIGH / LOW
play tone, if available
KIỂM TRA PHIÊN BẢNNhãn của các khối có thể khác nhau. Đừng tự chế ra một khối: nếu khối âm sắc (tone block) không có sẵn, hãy sử dụng mã Arduino dự phòng tương thích hoặc một phương án thay thế được hỗ trợ trong tài liệu.
CÔNG TẮC BỘ NHỚ
Tạo biến someoneNear
Công tắc bộ nhớ nhỏ này giúp cảnh báo trở nên thông minh hơn.
someoneNear0
READY FOR A NEW APPROACH
0Hiện chưa có lần tiếp cận nào phát tiếng bíp. Một khách mới có thể kích hoạt còi báo.
1Cách tiếp cận này đã kêu bíp. Giữ đèn LED sáng, nhưng giữ im lặng.
0→1→0khách đến → khách ở lại → khách rời đi
CHƯƠNG TRÌNH KHỐI / PHƯƠNG PHÁP CHÍNH
Xây dựng chương trình PictoBlox
Sắp xếp logic trực quan theo thứ tự này. Đây là các chức năng dự kiến; nhãn chính xác có thể thay đổi.
when green flag clicked
set someoneNear to 0
set digital pin 13 output to LOW
forever
read ultrasonic distance: TRIG 9 / ECHO 10
if distance < 50 then
set digital pin 13 output to HIGH
if someoneNear = 0 then
set someoneNear to 1
play tone on pin 8: 1000 Hz / 0.3 s
else
set digital pin 13 output to LOW
set someoneNear to 0
wait 0.1 seconds
DƯỚI 50 CMLED tiếp tục BẬT.
PHÁT HIỆN LẦN ĐẦUMột tiếng bíp ngắn, sau đó someoneNear trở thành 1.
DI CHUYỂN RA XALED TẮT; đặt lại về 0 cho lần tiếp cận tiếp theo.
MẸO VỀ ĐỘ ỔN ĐỊNHHãy xử lý một giá trị đọc không hợp lệ hoặc bị thiếu là không phát hiện khi các khối của bạn hiển thị điều kiện đó.
TƯ DUY NHƯ MỘT LẬP TRÌNH VIÊN
Hiểu logic chương trình
Theo dõi đường dẫn phát sáng: vòng lặp không bao giờ ngừng kiểm tra.
BẮT ĐẦU
↓
ĐỌC KHOẢNG CÁCH
↓
Khoảng cách có nhỏ hơn 50 cm không?
YES
BẬT LED
↓
Đã kêu bíp chưa?
NOKÊU BÍP MỘT LẦN
ĐẶT 1
YESGIỮ YÊN LẶNG
NO
TẮT LED
ĐẶT 0
↻ LẶP LẠI VÔ HẠN
KIỂM TRA NHIỆM VỤ
Tải lên và kiểm tra trong PictoBlox
Hoạt ảnh hiển thị kết quả mong đợi; nó không đọc từ Arduino thật.
MÀN HÌNH GIÁM SÁT MÔ PHỎNG
> distance = 72 cmLED TẮT • IM LẶNG
> distance = 38 cmLED BẬT • MỘT TIẾNG BÍP
> distance = 91 cmLED TẮT • ĐẶT LẠI
01Xác nhận bo mạch Arduino.
02Xác nhận cổng COM và firmware.
03Kiểm tra kết nối cảm biến và cơ cấu chấp hành.
04Khởi động chương trình PictoBlox.
05Kiểm tra bằng tay hoặc vật thể ở các khoảng cách khác nhau.
KẾT QUẢ DỰ KIẾNXa hơn 50 cm: tắt và im lặng. Trong vòng 50 cm: LED bật và một tiếng bíp. Di chuyển ra xa: tắt và sẵn sàng trở lại.
QUY TRÌNH DỰ PHÒNG
Thiếu khối? Không vấn đề gì.
Bản phác thảo Arduino C++ này là phương án dự phòng cho quy trình lập trình Arduino tương thích — không phải các khối trực quan PictoBlox.
arduino_backup.ino
CÁC CHÂN TƯƠNG ỨNGTRIG 9, ECHO 10, LED 13, còi 8.
TOÁN HỌC KHOẢNG CÁCHpulseIn đọc thời gian phản hồi; công thức chuyển đổi nó sang centimet.
BỘ NHỚsomeoneNear ngăn tiếng bíp lặp lại khi một vật thể ở gần.
CÁCH SỬ DỤNGChuyển sang quy trình làm việc tương thích như Arduino IDE, tải lên bản phác thảo, sau đó kiểm tra.
KHU VỰC GỠ LỖI CỦA KỸ SƯ
Khắc phục sự cố cho kỹ sư
Tìm triệu chứng, kiểm tra nguyên nhân đơn giản nhất và thử lại.
?
Thiếu khối cảm biến
Xác nhận Arduino Uno và phần mở rộng chính xác. Kiểm tra hỗ trợ trong phiên bản PictoBlox của bạn; sử dụng bản dự phòng khi cần thiết.
?
Thiếu khối còi báo (Buzzer)
Kiểm tra các khối âm sắc hoặc bộ truyền động. Tín hiệu số HIGH/LOW không tự động tạo ra âm sắc phù hợp.
!
LED không sáng
Kiểm tra cực tính, điện trở, D13 và GND.
!
Còi báo không kêu
Kiểm tra cực tính, D8, GND và phương pháp lập trình đã chọn.
↺
Khoảng cách không đáng tin cậy
Kiểm tra TRIG, ECHO, hướng cảm biến, nguồn điện và các kết nối bị lỏng.
↺
Chương trình không khởi động được
Kiểm tra lựa chọn bo mạch, cổng COM, cáp USB và firmware Chế độ Giai đoạn (Stage Mode).
HOÀN THÀNH NHIỆM VỤ
Bạn đã thiết kế. Bạn đã xây dựng. Bạn đã lập trình.
Bây giờ hãy giải thích cách ngôi nhà thông minh của bạn phát hiện khách đang đến gần.