Mục lục:
- Bước 1: Một số thông tin về App.remoteme.org
- Bước 2: Những gì cần thiết:
- Bước 3: Kết nối
- Bước 4: PCB
- Bước 5: Đầu ra PCB
- Bước 6: Cách hoạt động
- Bước 7: Lắp ráp ô tô - Bánh xe
- Bước 8: Nguồn (Pin sạc AA) Tùy chọn 1/2
- Bước 9: Nguồn (Pin Li-Po 7.2V) Tùy chọn 2/2
- Bước 10: Hàn
- Bước 11: Máy ảnh
- Bước 12: Gắn các bộ phận của ô tô lại với nhau
- Bước 13: Cấu hình App.remoteme.org
- Bước 14: Cấu hình RasbperryPi
- Bước 15: Kiểm tra kết nối
- Bước 16: Thêm tập lệnh Python
- Bước 17: Kiểm tra xem tập lệnh Python đã được thêm thành công hay chưa
- Bước 18: Thêm trang web vào điều khiển ô tô
- Bước 19: Định cấu hình thiết bị WebPage để điều khiển ô tô 1/2
- Bước 20: Định cấu hình thiết bị WebPage để điều khiển ô tô 2/2
- Bước 21: Mở Trung tâm điều khiển ô tô
- Bước 22: Cấu hình máy ảnh 1/2
- Bước 23: Cấu hình máy ảnh 2/2
- Bước 24: Lái xe 1/2
- Bước 25: Lái xe 2/2
- Bước 26: Nó hoạt động như thế nào
- Bước 27: Máy tính bảng, Chỉ đạo di động
- Bước 28: Mở trang trên điện thoại di động
- Bước 29: Thêm Turn Server
- Bước 30: Chỉ đạo di động
- Bước 31: Tóm tắt
Video: Xe RasbperryPi Có Camera FPV. Điều khiển bằng Trình duyệt Web: 31 Bước (có Hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Chúng ta sẽ chế tạo một chiếc xe 4wd - cách lái sẽ tương tự như trong một chiếc xe tăng - để quay một bên bánh xe sẽ quay với tốc độ khác với bên kia. Tại ô tô sẽ được đặt camera trên giá đỡ đặc biệt để chúng ta có thể thay đổi vị trí camera. Robot sẽ được điều khiển bằng trình duyệt web (chrome hoặc firefox trên máy tính để bàn hoặc firefox trên điện thoại di động), tại trình duyệt, Chúng tôi sẽ nhận được video camera (chỉ với độ trễ 200ms) và từ trình duyệt, chúng tôi có thể điều khiển chuyển động của ô tô và vị trí camera. Để giúp việc liên lạc dễ dàng hơn, tôi đã sử dụng hệ thống app.remoteme.org, hệ thống này cũng đang hoạt động để kiểm soát loại ô tô này, Vì vậy, Bạn không cần phải viết mã của riêng mình, nhưng tất nhiên Bạn có thể sửa đổi các tập lệnh thêm khả năng mới, v.v.
Trước khi kết nối nguồn với PCB của bạn, vui lòng kiểm tra kỹ tất cả các kết nối
Bước 1: Một số thông tin về App.remoteme.org
Hệ thống có ba phần
- ứng dụng web - khi Bạn lưu trữ các trang web kiểm soát của mình và nó liên kết tất cả các giao tiếp
- chương trình rasbperryPi - chương trình gửi video, quản lý các tập lệnh python của bạn
- thư viện nơi Bạn tìm thấy định nghĩa lớp, hàm
Remoteme.org là hệ thống nhanh chóng Bạn liên kết tất cả các thiết bị của mình với nhau, Bạn có thể lưu trữ ở đó Trang web của bạn, xem các thiết bị được kết nối hình nón của bạn. Hệ thống Remoteme.org được tạo ra để giúp Bạn bắt đầu thực hiện các dự án của mình, không cần lo lắng về truyền thông giao thức, ý tưởng chính là gửi các thông điệp nhị phân qua các thiết bị khác nhau như webPages, RasbeprryPI, arduino và scripts.
Mặt khác, Remoteme.org cung cấp cho Bạn toàn quyền kiểm soát các tệp của mình, Bạn có thể dễ dàng sửa đổi nó bằng cách ghi chức năng của riêng bạn
Tại hướng dẫn này, tôi sẽ chỉ cho Bạn cách tạo một số dự án tuyệt vời mà không cần viết bất kỳ mã nào.
Ở phần cuối của hướng dẫn này, tôi đã đặt các liên kết hữu ích sẽ giúp Bạn hiểu hệ thống remoteme.org.
Bước 2: Những gì cần thiết:
- Raspberry PI Zero W
- Máy ảnh chuyên dụng
- Adafruit 16-Kênh 12-bit PWM / Servo Driver - Giao diện I2C - PCA9685 hoặc bản sao của nó
- Hai cơ chế servo tương thích với giá đỡ máy ảnh
- Giá đỡ máy ảnh
- Pin - Trong hướng dẫn hai khả năng kết nối
- H cầu TB6612FNG, để điều khiển bánh xe chi tiết
- Tập tin PCB Eagle Có thể dễ dàng thực hiện nó bằng phương pháp truyền nhiệtDC-DC
- Mô-đun chuyển đổi bước xuống DC
- Hộp đựng rô bốt
Bước 3: Kết nối
Cơ chế servo điều khiển Raspberry pi thông qua mô-đun PWM và tốc độ động cơ bằng cầu H được kết nối với các chân RasbperryPi, đầu vào PWM đến cầu H được tạo bởi cùng một mô-đun mà tôi đã sử dụng cho servo (những phần mà tôi đã đề cập ở trên không cần bộ chuyển đổi logic)
Bước 4: PCB
Bạn có thể tải xuống các tệp PCB Eagle từ đây Đường dẫn rất béo nên rất dễ chế tạo bằng phương pháp truyền nhiệt
Bước 5: Đầu ra PCB
- Đầu vào PWM cho động cơ truyền động Nên được kết nối với chân thứ 15 và 16 của mô-đun PWM (kiểm tra hình chữ nhật màu xanh lá cây ở hình ảnh mô-đun PWM)
- Đầu vào điện cho động cơ truyền động (kiểm tra điện áp tối đa mà động cơ của bạn có thể hoạt động)
- Nguồn cho mô-đun RasbperryPi và PWM - phải chính xác
- Đầu ra động cơ truyền động (có hai đầu ra vì chúng tôi sẽ ghép nối động cơ truyền động)
- Nguồn điện của Cơ chế Servo - ngoài ra Bạn phải kiểm tra điện áp nào là tốt cho chúng
- Jumper công suất hiện tại của nó từ đầu vào thứ 5 cũng sẽ cung cấp năng lượng cho động cơ do đó không cần kết nối bất cứ thứ gì với đầu vào 2
- Jumper nếu có RasbperryPi sẽ được cấp nguồn từ đầu vào thứ 3 - trước khi đặt jumper ở đây, hãy kiểm tra xem các kết nối có ổn không - Bạn không muốn ghi RPi của mình
- Cho phép hàn cáp ở đây vì chúng tôi không cần bộ chuyển đổi logic
Bước 6: Cách hoạt động
Tại RasbperryPi có tập lệnh python sử dụng hai thư viện
- nhập RPi. GPIO làm GPIO - cho các chân 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (ký hiệu BCM) được kết nối với cầu H
- nhập Adafruit_PCA9685 cho mô-đun PWM
Các chân Rpi được kết nối như sau 25-AIN1, 8-AIN2, 24-BIN1, 23-BIN2 (BCM) và chế độ điều khiển của cầu H (tiến, lùi, dừng, ngắt ngắn). Cầu H cũng cần hai tín hiệu PWM để chúng ta có thể điều khiển tốc độ hoặc vòng quay của động cơ. Vì tại dự án, chúng tôi đã có bộ điều khiển PWM (được sử dụng cho servo) nên chúng tôi cũng sẽ sử dụng nó để tạo PWM cho cầu H.
Mô-đun PWM sử dụng giao thức truyền thông I2C. Tôi đã sử dụng cách làm việc ngoài hộp Adafruit_PCA9685. thư viện
Bước 7: Lắp ráp ô tô - Bánh xe
Chúng tôi sẽ bắt đầu từ việc kết nối động cơ truyền động với vỏ xe hơi. Động cơ bên trái / bên kết nối với nhau và cả hai ghép nối, kết nối với một số cáp nguồn mà sau này sẽ được kết nối với PCB. Lưu ý quan trọng trong khi kết nối động cơ, các bánh xe ở mỗi bên phải quay cùng một hướng.
Bước 8: Nguồn (Pin sạc AA) Tùy chọn 1/2
Tôi sẽ viết hai khả năng cung cấp năng lượng cho Xe ô tô đầu tiên là từ pin sạc lại 10xAA Ở hình ảnh cuối cùng tôi đã vẽ bằng các jumper màu đỏ phải được đặt.
Bước 9: Nguồn (Pin Li-Po 7.2V) Tùy chọn 2/2
Và tùy chọn thứ hai là pin LI-PO 7.2. Trong trường hợp này, chúng tôi có 3 điện áp - 5v cho Rpi và mô-đun, 6V cho servo và trực tiếp từ pin 7,2 volt cho động cơ truyền động. Tôi đã phải sử dụng hai mô-đun bước xuống
Tùy chọn 2 với LI-PO tốt hơn:
- Ắc quy có dung lượng lớn hơn - xe sẽ chạy lâu hơn
- Điện áp lớn hơn cho động cơ truyền động - xe sẽ chạy nhanh hơn
- Ít xác suất hơn là sau khi động cơ truyền động bắt đầu xác định vị trí, chúng tôi có thể bị sụt điện áp rất lớn và RPI khởi động lại.
Bước 10: Hàn
Tôi đã đặt PCB một số bộ đệm cho mô-đun PWM. Không có gì để viết chỉ cần xem hình ảnh cách hàn mọi thứ lại với nhau
Bước 11: Máy ảnh
chúng tôi kết nối máy ảnh, ở đây Được viết cách căn giữa Cơ chế servo trước khi lắp vào giá đỡ máy ảnh, nhưng cách ngắn nhất là kiểm tra thủ công nhẹ nhàng vị trí xoay tối đa và đặt Servo ở vị trí trung tâm. Cơ chế servo tập trung này chúng tôi đưa vào giá đỡ máy ảnh ở vị trí trung tâm (máy ảnh hướng thẳng về phía trước như trong ảnh)
Bước 12: Gắn các bộ phận của ô tô lại với nhau
Đối với PCB, tôi đã làm bảng plexiglass nhỏ
Bước 13: Cấu hình App.remoteme.org
Tôi đã sử dụng hệ thống app.remoteme.org miễn phí, hệ thống này giúp Bạn tạo kết nối và nó đã có các tập lệnh mà chúng tôi cần
Tại phần hướng dẫn này, tôi sẽ chỉ từng bước những việc cần làm để học lái xe ô tô (tại đây Bạn sẽ tìm thấy thêm chi tiết)
- Đăng ký tại https://app.remoteme.org sau khi đăng ký Bạn sẽ được đăng nhập tự động
- mở tab Mã thông báo ở bên trái, sau đó nhấp vào “mã thông báo mới” cung cấp một số tên và nhấp vào OK, Chúng tôi vừa tạo mã thông báo mới (hình ảnh ở màn hình)
- trong ví dụ này, giá trị mã thông báo là: ~ 1_ & p @ + BNnZ @ A + x8 (của bạn sẽ khác;))
Bước 14: Cấu hình RasbperryPi
tại bảng điều khiển putty (đây là cách thiết lập RPi của chúng tôi để bật giao tiếp máy ảnh I2c)
git clone git: //github.com/remoteme/remoteme.git
cd remoteme
python3.5 install.py
- Instalator sẽ hỏi chúng tôi một số câu hỏi cho tất cả những gì chúng tôi trả lời [Y] và xác nhận bằng [enter]
- khi cài đặt sẽ yêu cầu mã thông báo, chúng tôi dán (shift + chèn) mã thông báo được sao chép từ ứng dụng và Enter
- tên ví dụ Rpi
- deviceId 1 Nhập
- sau khi cài đặt - chạy chương trình
./runme.sh
Bước 15: Kiểm tra kết nối
Hãy quay lại
Tại tab thiết bị, chúng ta sẽ thấy RPi được kết nối của mình (biểu tượng liên kết màu xanh lục có nghĩa là RPi được kết nối ngay bây giờ)
Bước 16: Thêm tập lệnh Python
Bây giờ chúng ta sẽ thêm tập lệnh python, nó đã có sẵn trong các mẫu nên chúng ta không phải lập trình bất cứ thứ gì.
Tại tab thiết bị, mở menu RasbperryPi và chọn "Thêm tập lệnh bên ngoài".
Khi cửa sổ mới xuất hiện, cung cấp thông tin như hình trên
Đừng quên chọn mẫu "car4wd". Sau bước này, remoteme.org sẽ thêm tập lệnh python vào RasbperryPi của chúng tôi và khởi động lại nó
Bước 17: Kiểm tra xem tập lệnh Python đã được thêm thành công hay chưa
Tại tab thiết bị, thiết bị tập lệnh python mới sẽ được thêm vào và ID thiết bị của nó là 2. Vào trang web Id thiết bị này sẽ gửi thông báo đến điều khiển xe
Bước 18: Thêm trang web vào điều khiển ô tô
tại tab thiết bị, nhấp vào "Mới" sau đó nhấp vào "Trang web". Chúng tôi chỉ thêm một thiết bị khác - webPage, chúng tôi sẽ sử dụng nó để điều khiển ô tô của mình. Và vì chúng tôi đã sử dụng mẫu "car4wdDesktop" tại trang web nên các tệp gần như đã sẵn sàng để sử dụng
Bước 19: Định cấu hình thiết bị WebPage để điều khiển ô tô 1/2
Mở rộng Trang Web tại tab thiết bị và nhấp vào index.html sau đó Mở
Bước 20: Định cấu hình thiết bị WebPage để điều khiển ô tô 2/2
Cửa sổ xuất hiện, sau đó chúng tôi cần cung cấp deviceId của tập lệnh python của chúng tôi tại trường hợp deviceId của chúng tôi là 2. Hãy thay đổi vị trí được hiển thị trong hình ảnh
Bước 21: Mở Trung tâm điều khiển ô tô
Bây giờ đã đến lúc mở trang của chúng tôi và xem nó hoạt động như thế nào. Tại tab thiết bị, nhấp vào index.html và sau đó nhấp vào "Mở trong tab mới" Để xem trước video Bạn phải sử dụng trình duyệt chrome hoặc firefox, trình duyệt khác không hỗ trợ đầy đủ webRTC
Bước 22: Cấu hình máy ảnh 1/2
Khi chúng ta di chuyển chuột tại khu vực video, camera sẽ thay đổi vị trí và nó sẽ hoạt động giống như trong các trò chơi FPS. Nó có thể sẽ không di chuyển chính xác
Bước 23: Cấu hình máy ảnh 2/2
Mở script.js (tab thiết bị mở rộng trang web sau đó nhấp vào script.js rồi mở) và tìm vị trí tôi đã hiển thị trên màn hình
ở vị trí trung tâm trường hợp của tôi là 560 và 430 và phạm vi chuyển động dành cho cả hai trục 200
Bạn phải thử nghiệm với những con số này để Bạn có được trung tâm vị trí máy ảnh và chuyển động mượt mà, Nếu bạn đã sử dụng hướng dẫn này, chỉ cần sao chép các giá trị đã cho đã dán
Bước 24: Lái xe 1/2
Nếu bạn nhấn mũi tên lên trên bàn phím, đồng hồ đo sẽ thay đổi vị trí và xe sẽ lái. Nếu Bạn nhấn mũi tên “lên” và xe đang quay thì Bạn phải thêm / bớt dấu trừ tại các vị trí trên màn hình.
Sau khi thực hiện thao tác này sau khi nhấn mũi tên "lên" ô tô nên lái trước và ô tô mũi tên xuống nên lái lùi.
Bước 25: Lái xe 2/2
Bây giờ rẽ - nhấn mũi tên trái nếu ô tô đang rẽ phải Bạn phải lật dây cáp (kiểm tra hình trên)
Nếu bạn hàn cáp này, bạn có thể thay đổi nó tại script.jsjust thay đổi thứ tự tốc độ gửi động cơ, trước:
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ())); pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed () * 255));
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed () * 255));
sau:
pos = putByte (ret, pos, carController.getMotorMode (-carController.getLeftSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getLeftSideSpeed () * 255));
pos = putByte (ret, pos, carController.getMotorMode (carController.getRightSideSpeed ()));
pos = putByte (ret, pos, Math.abs (carController.getRightSideSpeed () * 255));
và bây giờ Bạn phải chơi với minuses như một bước trước đây để làm cho nó hoạt động chính xác;). Như Bạn có thể nhận thấy sau khi trúng mũi tên lên, xe không lái với tốc độ tối đa để làm cho xe di chuyển nhanh hơn mà chỉ cần thả nhanh mũi tên lên khi nó ở vị trí tối đa và nhấn và giữ nó một lần nữa
Bước 26: Nó hoạt động như thế nào
Trang web đang gửi tin nhắn byte thứ 9 tới tập lệnh python ở định dạng:
- 1 byte một byte giá trị số nguyên 1
- 2 byte số nguyên X vị trí máy ảnh
- 2 byte số nguyên Y vị trí camera
- Chế độ động cơ bên trái số nguyên 1 byte (3 = lùi, 1 = tiến, 2 = dừng)
- 1 byte số nguyên tốc độ động cơ bên trái
- Chế độ động cơ bên phải số nguyên 1 byte (3 = lùi, 1 = tiến, 2 = dừng)
- 1 byte số nguyên tốc độ động cơ bên phải
gửi tin nhắn được thực hiện tại tệp script.js tại chức năng "sendNow ()"
tại RasbperryPi python.py nhận được thông báo này trong chức năng "onUserMessage"
Bạn có thể kiểm tra nó và chơi một chút để Bạn biết những gì đang xảy ra.
mô tả các hàm lớp ở đây
Bước 27: Máy tính bảng, Chỉ đạo di động
Chúng tôi thêm trang web mới một cách xuất sắc như lần trước nhưng bây giờ chúng tôi chọn mẫu "car4wdMobile"
Tiếp theo, chúng tôi định cấu hình mọi thứ trong script.js như chúng tôi đã làm cho trang web điều khiển máy tính để bàn Định dạng thông báo hoàn toàn giống nhau nên chúng tôi không phải thay đổi tập lệnh python.py.
Bước 28: Mở trang trên điện thoại di động
Thay vì đăng nhập vào tài khoản của bạn từ điện thoại di động, chỉ cần quét QR url bất kỳ.
chi tiết về QR tại đây
Nếu Điều khiển di động của bạn hoạt động khi RPi và thiết bị di động kết nối cùng một wifi nhưng không hoạt động nếu Bạn sử dụng internet di động thì Bạn phải thêm máy chủ lần lượt, cách thực hiện mà tôi đã viết ở đây
Bước 29: Thêm Turn Server
Đôi khi (khi Bạn ở sau NAT hoặc một số cài đặt tường lửa) Bạn không thể kết nối rô bốt của mình từ mạng khác thì rô bốt của bạn đã được kết nối. Vấn đề không lớn của nó và sau đó Bạn phải thêm máy chủ lần lượt.
Tôi đã thử nghiệm máy chủ từ công ty XIRSYS (miễn phí cho nhà phát triển sử dụng) và tôi sẽ hướng dẫn cách định cấu hình máy chủ lần lượt bằng hệ thống XIRSYS
Đăng ký:
global.xirsys.net/dashboard/signup
sau đó nhấp vào "dấu cộng" để thêm ứng dụng
ở bên phải trong "thông tin đăng nhập lần lượt tĩnh" Bạn có tất cả dữ liệu Bạn cần. Sao chép nó vào tệp webrtc_streamer.conf để thực hiện việc đó, hãy truy cập
mở rộng RaspberryPi deivces
nhấp vào tệp webrtc_streamer.conf
bấm mở
và thêm thông tin
turn_server = turn_username =
turn_credential =
sau khi bạn kết thúc chỉnh sửa Bạn sẽ có một cái gì đó giống như màn hình.
sau đó nhấp vào Lưu và khởi động lại You Rpi, bằng cách nhấp vào menu trên thiết bị RasbperryPi và chọn khởi động lại
Sau khi chương trình RPi được khởi động lại Bạn có thể xem bản xem trước video trên điện thoại di động của mình ngay cả khi Bạn đang sử dụng Internet di động.
Bước 30: Chỉ đạo di động
tại vòng tròn 1, chúng tôi đặt ngón cái trái, ở 2 bên phải - không nhất thiết phải chính xác tại các điểm này - trang web sẽ đặt vị trí 0 ngay sau khi bạn chạm vào màn hình và bằng cách di chuyển các ngón tay cái của bạn (lái xe bên trái, vị trí máy ảnh bên phải), bạn có thể điều khiển xe hơi của bạn
Bước 31: Tóm tắt
Tôi hy vọng Bạn thích hướng dẫn này, như tôi đã viết trước đây tại hướng dẫn này là chi tiết hơn về cách nó hoạt động dưới mui xe.
một số liên kết:
remoteme.org - trang chủ của remoteme.org ở đó Bạn tìm thấy các tài liệu và hướng dẫn
FB fanpage - Facebook fanpage thông tin mới nhất về remoteme.org
Youtube - một số video về dự án, hướng dẫn
Chúc mừng, Maciek
Đề xuất:
Điều khiển từ xa dựa trên trình duyệt Arduino (linux): 9 bước (có hình ảnh)
Điều khiển từ xa dựa trên trình duyệt Arduino (linux): Chúng tôi có con. Tôi rất thích chúng nhưng chúng vẫn giấu điều khiển từ xa cho vệ tinh và TV khi bật các kênh dành cho trẻ em. Sau khi điều này xảy ra hàng ngày trong vài năm, và sau khi vợ yêu của tôi cho phép tôi có một
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Servo điều khiển bằng cần điều khiển bằng Arduino (có lập trình): 4 bước
Servo điều khiển cần điều khiển sử dụng Arduino (có lập trình): Trong hướng dẫn này, chúng tôi sẽ tạo một servo điều khiển cần điều khiển bằng cách sử dụng Arduino Uno .ervo sẽ di chuyển theo chuyển động của cần điều khiển
Robot Roomba được điều khiển bằng trình duyệt với Raspberry Pi Model 3 A +: 6 bước (có hình ảnh)
Robot Roomba được điều khiển bằng trình duyệt với Raspberry Pi Model 3 A +: Tổng quan Có thể hướng dẫn này sẽ tập trung vào cách cung cấp cho Roomba đã chết một bộ não mới (Raspberry Pi), mắt (Webcam) và cách kiểm soát mọi thứ từ trình duyệt web. Có rất nhiều bản hack Roomba cho phép điều khiển thông qua giao diện nối tiếp. Tôi không có
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu