Mục lục:
- Quân nhu
- Bước 1: Ý tưởng
- Bước 2: Sơ đồ khối
- Bước 3: Lập trình
- Bước 4: Sơ đồ và hàn
- Bước 5: Ứng dụng Android
Video: Đèn mặt trăng IoT: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Trong phần hướng dẫn này, tôi chỉ cách chuyển một đèn LED chạy bằng pin đơn giản thành một thiết bị IoT.
Dự án này bao gồm:
- hàn đắp;
- lập trình ESP8266 với Arduino IDE;
- tạo ứng dụng Android với MIT App Inventor.
Đối tượng quan tâm là chiếc đèn hình mặt trăng này tôi đã mua từ gearbest. Nhưng thực sự hướng dẫn này có thể được điều chỉnh cho phù hợp với bất kỳ thiết bị điện áp DC thấp nào (các thiết bị cấp nguồn AC yêu cầu mạch bổ sung).
Quân nhu
- Điện thoại thông minh Android (đã thử nghiệm phiên bản Android 7-9).
- Dụng cụ hàn.
- Tạo mẫu PCB (protoboard).
- Bo mạch ESP-12E (hoặc bảng mạch khác có vi điều khiển ESP8266).
- Bộ chuyển đổi nối tiếp USB để lập trình.
- Một số giá trị khác nhau của các thành phần thụ động (điện trở và tụ điện).
(Tùy chọn. Xem phần "Sơ đồ khối")
- IC LDO 3.3V@500mA.
- Bảng chuyển đổi mức logic 3.3V-5V.
- Nguồn điện 5V DC.
Bước 1: Ý tưởng
Đèn mặt trăng được cung cấp năng lượng bởi một tế bào Li-ION 18650 và nó có 3 chế độ hoạt động:
- tắt;
- thủ công;
- tự động.
Ở chế độ chỉnh tay, đèn được điều khiển bằng nút nhấn, mỗi lần nhấn sẽ thay đổi trạng thái đèn LED (bật xanh, bật cam, bật, tắt), cường độ ánh sáng thay đổi khi nhấn giữ nút nhấn. Ở chế độ tự động, trạng thái đèn LED thay đổi bằng cách chạm hoặc lắc đèn.
Tôi quyết định thêm ESP8266 để hoạt động như một máy chủ web lắng nghe các yêu cầu và theo đó mô phỏng các thao tác nhấn nút. Tôi không muốn phá vỡ chức năng đèn ban đầu, chỉ muốn thêm các tính năng điều khiển bổ sung qua WiFi, vì vậy tôi đã chọn ESP để mô phỏng các thao tác nhấn nút thay vì điều khiển trực tiếp đèn LED. Ngoài ra, điều này cho phép tôi tương tác tối thiểu với mạch gốc.
Khi nguyên mẫu được thực hiện, nó chạy liên tục ~ 80mA từ pin ở trạng thái tắt (~ 400mA ở độ sáng tối đa). Dòng chờ cao vì ESP8266 hoạt động như một máy chủ và luôn được kết nối với WiFi và lắng nghe các yêu cầu. Pin đã cạn kiệt chỉ sau một ngày rưỡi chỉ ở trạng thái tắt, vì vậy sau đó tôi quyết định sử dụng cổng sạc USB của đèn để cấp nguồn cho tất cả các thiết bị điện tử từ nguồn điện 5V bên ngoài và kết hợp pin với nhau (nhưng đây là tùy chọn).
Bước 2: Sơ đồ khối
Trong sơ đồ khối, bạn có thể thấy mạch nào sẽ được thêm vào và mạch hiện có sẽ được sửa đổi như thế nào. Trong trường hợp của tôi, tôi đã tháo pin hoàn toàn và làm ngắn bộ sạc pin đầu vào với đầu ra của IC (một lần nữa, đây là tùy chọn). Các khối trong suốt trong sơ đồ cho biết các thành phần được bỏ qua (mặc dù nút nhấn vẫn hoạt động như dự định ban đầu).
Theo tài liệu ESP8266 chỉ dung nạp 3.3V, tuy nhiên có rất nhiều ví dụ khi ESP8266 hoạt động hoàn toàn tốt với 5V, do đó, bộ chuyển đổi mức logic và 3.3V LDO có thể bị loại bỏ, tuy nhiên tôi vẫn giữ nguyên phương pháp hay nhất và thêm các thành phần đó.
Tôi đã sử dụng 3 chân I / O ESP8266 và chân ADC. Một chân đầu ra kỹ thuật số dùng để mô phỏng các lần nhấn nút, hai đầu vào kỹ thuật số để phát hiện đèn LED màu nào đang bật (từ đó chúng ta có thể tìm ra MCU ở trạng thái nào và trạng thái nào tiếp theo sau khi nhấn nút). Chân ADC đo điện áp đầu vào (thông qua bộ chia điện áp), đó là cách chúng tôi có thể theo dõi mức sạc pin còn lại.
Như nguồn điện bên ngoài, tôi sử dụng bộ sạc điện thoại cũ 5V @ 1A (không sử dụng bộ sạc nhanh).
Bước 3: Lập trình
Tóm lại, chương trình hoạt động như thế này (để biết thêm thông tin, hãy xem mã của chính nó):
ESP8266 kết nối với điểm truy cập WiFi của bạn, thông tin đăng nhập bạn phải nhập vào đầu mã trước khi lập trình, nó lấy địa chỉ IP từ máy chủ DHCP bộ định tuyến của bạn, để tìm ra IP mà bạn sẽ cần sau này, bạn có thể kiểm tra cài đặt hoặc thiết lập DHCP giao diện web của bộ định tuyến cờ gỡ lỗi trong mã thành 1 và bạn sẽ thấy IP ESP nhận được gì trong màn hình nối tiếp (bạn nên đặt trước IP đó trong cài đặt bộ định tuyến của mình để ESP luôn nhận được cùng một IP khi khởi động).
Khi khởi tạo MCU luôn thực hiện cùng một quy trình vĩnh viễn:
- Kiểm tra xem vẫn kết nối với AP, nếu không hãy thử kết nối lại cho đến khi thành công.
-
Chờ máy khách thực hiện yêu cầu HTTP. Khi yêu cầu xảy ra:
- Kiểm tra điện áp đầu vào.
- Kiểm tra xem đèn LED ở trạng thái nào.
- Khớp yêu cầu HTTP với các trạng thái đèn LED đã biết (bật màu xanh lam, màu da cam, cả bật, tắt).
- Mô phỏng nhiều lần nhấn nút khi cần thiết để đạt được trạng thái yêu cầu.
Tôi sẽ mô tả ngắn gọn các hướng dẫn lập trình, nếu lần đầu tiên bạn lập trình MCU ESP8266, hãy tìm các hướng dẫn chuyên sâu hơn.
Bạn sẽ cần Arduino IDE và bộ chuyển đổi giao diện nối tiếp USB (ví dụ: FT232RL). Để chuẩn bị IDE, hãy làm theo các hướng dẫn sau.
Làm theo sơ đồ mạch để kết nối mô-đun ESP-12E để lập trình. Một số lời khuyên:
- sử dụng nguồn điện 3.3V@500mA bên ngoài (trong hầu hết các trường hợp, nguồn điện nối tiếp USB là không đủ);
- kiểm tra xem bộ chuyển đổi nối tiếp USB của bạn có tương thích mức logic 3.3V không;
- kiểm tra xem trình điều khiển bộ chuyển đổi nối tiếp USB đã được cài đặt thành công hay chưa (từ trình quản lý thiết bị windows), bạn cũng có thể kiểm tra xem nó có hoạt động chính xác từ IDE hay không, chỉ cần các chân RX và TX ngắn, hơn là từ IDE chọn cổng COM, mở màn hình nối tiếp và viết nội dung nào đó, nếu tất cả hoạt động bạn sẽ thấy văn bản mà bạn đang gửi xuất hiện trong bảng điều khiển;
- vì lý do nào đó, tôi chỉ có thể lập trình ESP khi lần đầu tiên tôi kết nối bộ chuyển đổi nối tiếp USB với PC và sau đó bật ESP từ nguồn 3.3V bên ngoài;
- sau khi lập trình thành công, đừng quên kéo GPIO0 lên cao ở lần khởi động tiếp theo.
Bước 4: Sơ đồ và hàn
Làm theo sơ đồ để hàn tất cả các thành phần vào bo mạch chủ. Như đã đề cập trước đây, một số thành phần là tùy chọn. Tôi đã sử dụng IC LDO KA78M33 3.3V và bảng chuyển đổi mức logic này từ sparkfun, ngoài ra, bạn có thể tự tạo bộ chuyển đổi như trong sơ đồ (bạn có thể sử dụng bất kỳ mosfet kênh N nào thay vì BSS138). Trong trường hợp bạn sử dụng pin Li-ION, mạng nguồn + 5V sẽ là cực dương của pin. Điện áp tham chiếu ESP8266 ADC là 1V, các giá trị bộ chia điện trở đã chọn của tôi cho phép đo điện áp đầu vào cao tới 5,7V.
Cần có 5 kết nối với PCB của đèn gốc: + 5V (hoặc + Pin), GND, nút nhấn, tín hiệu PWM từ MCU của đèn để điều khiển đèn LED màu xanh lam và màu cam. Nếu bạn cấp nguồn cho đèn từ nguồn 5V, giống như tôi đã làm, bạn sẽ muốn ngắn bộ sạc pin IC VCC với chân OUTPUT, bằng cách đó tất cả các thiết bị điện tử sẽ được cấp nguồn trực tiếp từ + 5V chứ không phải từ OUTPUT của bộ sạc pin.
Thực hiện theo hình ảnh thứ hai cho tất cả các điểm hàn bạn sẽ cần thực hiện trên đèn PCB.
LƯU Ý:
- Nếu bạn quyết định đoản mạch + 5V với đầu ra IC sạc pin, hãy tháo pin hoàn toàn trước khi thực hiện, bạn không muốn kết nối trực tiếp + 5V với pin.
- Chú ý đến chân nút nhấn mà bạn hàn đầu ra ESP, vì 2 chân của nút nhấn được kết nối với đất và bạn không muốn đoản mạch khi đầu ra ESP ở mức CAO, tốt hơn hãy kiểm tra kỹ với đồng hồ vạn năng.
Bước 5: Ứng dụng Android
Ứng dụng Android được tạo bằng nhà phát minh ứng dụng MIT, để tải xuống ứng dụng và / hoặc dự án nhân bản cho chính bạn, hãy truy cập liên kết này (bạn sẽ cần tài khoản google để truy cập nó).
Trong lần khởi chạy đầu tiên, bạn sẽ cần mở cài đặt và nhập địa chỉ IP ESP8266 của mình. IP này sẽ được lưu nên không cần nhập lại sau khi chương trình khởi động lại.
Ứng dụng đã được thử nghiệm với một số thiết bị Android 9 và Android 7.
Đề xuất:
Đèn pha mặt trăng tái chế: 15 bước
Đèn pha mặt trăng tái chế: Đèn này được làm từ một chiếc lọ nhựa, và nó bật sáng khi bạn vặn chặt nắp. Bạn có thể thay đổi hình bóng để hiển thị các giai đoạn khác nhau của mặt trăng
Mặt nạ Covid-19 hét vào mặt bạn nếu bạn chạm vào mặt: 4 bước
Mặt nạ Covid-19 hét vào mặt bạn nếu bạn chạm vào mặt: Không thể ngừng chạm vào mặt của bạn? Dán những thiết bị điện tử này vào một chiếc mặt nạ bạn có và bạn sẽ liên tục được nhắc nhở đừng làm điều đó
Trang sức mặt dây chuyền đèn LED nhấp nháy bằng năng lượng mặt trời: 11 bước (có hình ảnh)
Trang sức mặt dây chuyền đèn LED nhấp nháy bằng năng lượng mặt trời: Hướng dẫn này dành cho trái tim được cung cấp năng lượng mặt trời với đèn LED màu đỏ phát xung. Nó đo lường khoảng 2 " bằng 1,25 ", bao gồm cả tab USB. Nó có một lỗ xuyên qua đầu bảng, giúp bạn dễ dàng treo. Đeo nó như một chiếc vòng cổ, bông tai, gắn vào một chiếc ghim
Đèn trời LED chạy bằng năng lượng mặt trời - Trang bị thêm: 4 bước
Đèn trời LED chạy bằng năng lượng mặt trời - Trang bị thêm: Tôi có một giếng trời cũ kỹ nằm trên trần nhà trong bóng tối. Đó là kết quả của việc sửa chữa mái nhà, giếng trời ở phần mái nhà đã phải dỡ bỏ do dột, đến nay đã được vài năm. Khi nói chuyện với mọi người về việc lắp đặt lại một giếng trời mới, tôi
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): 5 bước (có hình ảnh)
UVIL: Đèn ngủ có đèn nền đen (hoặc Đèn chỉ báo SteamPunk): Cách kết hợp một đèn báo tia cực tím tân cổ điển phát sáng kỳ lạ. . Ý tưởng của tôi là sử dụng những thứ này khi tôi