Mục lục:

Tự làm đèn IoT cho tự động hóa gia đình -- Hướng dẫn ESP8266: 13 Bước (có Hình ảnh)
Tự làm đèn IoT cho tự động hóa gia đình -- Hướng dẫn ESP8266: 13 Bước (có Hình ảnh)

Video: Tự làm đèn IoT cho tự động hóa gia đình -- Hướng dẫn ESP8266: 13 Bước (có Hình ảnh)

Video: Tự làm đèn IoT cho tự động hóa gia đình -- Hướng dẫn ESP8266: 13 Bước (có Hình ảnh)
Video: Hướng dẫn sử dụng màn hình LCD 16x2 với kít wifi ESP8266 - Tự học lập trình IOT 2024, Tháng bảy
Anonim
Image
Image
Tự làm đèn IoT cho tự động hóa gia đình || Hướng dẫn về ESP8266
Tự làm đèn IoT cho tự động hóa gia đình || Hướng dẫn về ESP8266

Trong hướng dẫn này, chúng tôi sẽ tạo ra một chiếc đèn thông minh được kết nối Internet. Điều này sẽ đi sâu vào internet vạn vật và mở ra một thế giới tự động hóa gia đình!

Đèn được kết nối WiFi và được xây dựng để có giao thức tin nhắn mở. Điều này có nghĩa là bạn có thể chọn bất kỳ chế độ điều khiển nào bạn muốn! Nó có thể được điều khiển thông qua trình duyệt web, ứng dụng tự động hóa gia đình, trợ lý thông minh như Alexa hoặc Google Assistant, v.v.

Như một phần thưởng, chiếc đèn này đi cùng với một ứng dụng để điều khiển dự án. Tại đây bạn có thể chọn các chế độ màu khác nhau, mờ dần giữa các màu RGB và đặt bộ hẹn giờ.

Đèn bao gồm một bảng LED và một bảng điều khiển. Bảng LED sử dụng ba loại đèn LED khác nhau cho tổng cộng năm kênh LED! Đây là RGB cùng với cả màu trắng ấm và lạnh. Bởi vì tất cả các kênh này có thể được đặt riêng lẻ, bạn có tổng cộng 112,3 peta kết hợp!

Bắt đầu nào!

[Phát video]

Bước 1: Các bộ phận và công cụ

Các bộ phận và công cụ
Các bộ phận và công cụ

Các bộ phận

  • Wemos D1 Mini
  • 15 x Đèn LED 5050 trắng ấm
  • 15 x Đèn LED 5050 trắng lạnh
  • 18 x RGB 5050 đèn LED
  • Điện trở 6 x 300 ohm 1206
  • Điện trở 42 x 150 ohm 1206
  • Điện trở 5 x 1k ohm
  • 5 x NTR4501NT1G

    MOSFET

  • Bộ điều chỉnh điện áp tuyến tính, 5V
  • PCB

    Tải xuống các tệp mầm trong bước mạch để tạo PCB của riêng bạn

  • PSU 12V 2A

Công cụ

  • Hàn sắt

    • Thiếc hàn
    • Chất lỏng hàn
  • Băng keo
  • Băng keo hai mặt
  • máy in 3D
  • Dụng cụ tuốt dây

Bước 2: Kế hoạch

Kế hoạch
Kế hoạch

Dự án hoàn chỉnh bao gồm bốn phần chính:

  1. Mạch điện

    Mạch được làm trên PCB. Mạch hoàn thành sẽ bao gồm hơn 100 thành phần riêng lẻ. Thật là nhẹ nhõm khi không buộc tất cả những thứ đó bằng tay trên một tấm bảng điều khiển bằng tay

  2. Mã Arduino

    Tôi đang sử dụng Wemos D1 Mini sử dụng ESP8266 làm vi điều khiển được kết nối WiFi. Mã sẽ bắt đầu một máy chủ trên D1. Khi bạn truy cập địa chỉ của máy chủ này, D1 sẽ diễn giải đây là các lệnh khác nhau. Sau đó, bộ vi điều khiển sẽ hoạt động trên lệnh này để đặt đèn cho phù hợp

  3. Điều khiển từ xa
    • Tôi đã tạo một ứng dụng chỉ dành cho dự án này để giúp bạn dễ dàng điều khiển đèn theo ý muốn của mình nhất có thể

    • Đèn thông minh thực sự có thể được điều khiển bởi bất kỳ thứ gì có khả năng gửi yêu cầu http GET. Điều này có nghĩa là đèn chấp nhận các lệnh từ gần như vô hạn các thiết bị
  4. in 3d

    Chiếc đèn thông minh này xứng đáng là một chiếc hộp đẹp mắt. Và giống như rất nhiều dự án mà bạn cần một chiếc ốp lưng tuyệt vời, in 3D ra đời để giải cứu

Bước 3: Mạch

Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện

Tôi đã đặt mua PCB của mình từ jlcpcb.com. Thời gian tiết lộ đầy đủ: họ cũng đã tài trợ cho dự án này.

PCB bao gồm hai phần. Nó có bảng LED và bảng điều khiển. PCB có thể được tách rời để sau này kết nối hai phần này bằng dây mềm. Điều này là cần thiết để vừa giữ cho đèn in 3D mỏng, vừa tạo góc cho bảng LED để phân tán ánh sáng đều khắp phòng lỗ.

Bảng điều khiển chứa bộ vi điều khiển D1 cùng với năm MOSFET để làm mờ các đèn LED và một bộ điều chỉnh điện áp để cung cấp cho bộ vi điều khiển 5V mượt mà.

Bảng LED có năm kênh LED trong ba loại đèn LED khác nhau. Bởi vì chúng tôi sử dụng nguồn điện 12V, các đèn LED được cấu hình thành ba đèn LED mắc nối tiếp với một điện trở và sau đó lặp lại 16 lần song song.

Một đèn LED trắng thông thường thường vẽ 3,3 V. Trên một đoạn của bảng, ba trong số các đèn LED này mắc nối tiếp có nghĩa là sự sụt giảm điện áp được tổng hợp trong mạch. Ba đèn LED sử dụng 3,3 V mỗi đèn có nghĩa là một đoạn đèn LED có điện áp 9,9 V. Mạch được cấp nguồn 12 V sao cho 2,1 V.

Nếu phân đoạn chỉ bao gồm ba đèn LED, chúng sẽ nhận được nhiều điện áp hơn mức tiêu hao. Điều này không tốt cho đèn LED và có thể nhanh chóng làm hỏng chúng. Đây là lý do tại sao mỗi đoạn cũng có một điện trở mắc nối tiếp với cả ba đèn LED. Điện trở này ở đó để giảm 2,1 V còn lại trong mối nối nối tiếp.

Vì vậy, nếu mỗi đoạn chiếm 12 V có nghĩa là mỗi đoạn được nối với nhau song song. Khi các mạch được mắc song song thì chúng đều nhận được cùng một hiệu điện thế và cường độ dòng điện là tổng hợp. Dòng điện trong một kết nối nối tiếp luôn giống nhau.

Một đèn LED thông thường tạo ra dòng điện 20 mA. Điều này có nghĩa là một đoạn gồm ba đèn LED và một điện trở mắc nối tiếp vẫn sẽ tạo ra 20 mA. Khi chúng tôi kết nối một số phân đoạn song song, chúng tôi thêm dòng điện. Nếu bạn cắt sáu đèn LED từ dải, bạn có hai trong số các đoạn này song song. Có nghĩa là tổng mạch của bạn vẫn sử dụng 12 V, nhưng chúng tạo ra dòng điện 40 mA.

Bước 4: Hàn đèn LED

Đèn LED hàn
Đèn LED hàn
Đèn LED hàn
Đèn LED hàn
Đèn LED hàn
Đèn LED hàn

Từ việc thử một vài thứ, tôi đã thấy băng che đơn giản là hiệu quả và linh hoạt nhất để giữ cho PCB không di chuyển xung quanh.

Đối với các bộ phận có nhiều chân, như 6 chân trên đèn LED 5050, tôi bắt đầu bằng cách đặt vật hàn xuống một trong các tấm lót PCB. Sau đó, vấn đề chỉ là giữ cho vật hàn này nóng chảy với mỏ hàn trong khi trượt linh kiện vào vị trí của nó bằng một cái nhíp.

Bây giờ các miếng đệm khác có thể dễ dàng gắn vào bằng một số chất hàn. Tuy nhiên, để tăng tốc công việc này, tôi khuyên bạn nên chọn một số chất hàn lỏng. Tôi thực sự không thể giới thiệu công cụ này đủ.

Bôi một ít chất trợ dung vào miếng hàn, sau đó làm tan chảy một ít chất hàn trên đầu mỏ hàn của bạn. Bây giờ chỉ cần đưa chất hàn nóng chảy lên miếng đệm và mọi thứ sẽ chảy vào đúng vị trí. Đẹp và đơn giản.

Khi nói đến điện trở và các thành phần hai lớp đệm khác, không cần thông lượng hàn. Áp dụng chất hàn vào một trong các miếng đệm và đưa điện trở vào đúng vị trí. Bây giờ chỉ cần làm tan chảy một số chất hàn vào miếng đệm số hai. Dễ như ăn bánh.

Hãy xem hình thứ năm trong bước này. Chú ý đến hướng của đèn LED. Các đèn LED màu trắng ấm và lạnh có rãnh định hướng ở góc trên bên phải. Các đèn LED RGB có rãnh ở góc dưới cùng bên trái. Đây là lỗi thiết kế từ phần của tôi, vì tôi không thể tìm thấy biểu dữ liệu cho các đèn LED RGB được sử dụng trong dự án này. Ôi thôi, hãy sống và học hỏi và tất cả những điều đó!

Bước 5: Ban kiểm soát hàn

Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn
Ban kiểm soát hàn

Sau khi kết thúc cuộc đua marathon của bảng LED, bảng điều khiển là một công việc dễ dàng để hàn. Tôi đã đặt năm MOSFET và các điện trở nguồn cổng phù hợp, trước khi chuyển sang bộ điều chỉnh điện áp.

Bộ điều chỉnh điện áp có không gian tùy chọn để làm trơn tụ điện. Trong khi tôi hàn chúng trong bức tranh này, tôi đã kết thúc việc loại bỏ chúng vì chúng không thực sự cần thiết.

Mẹo để có được một bảng điều khiển mỏng là đặt các đầu ghim thò ra từ trên xuống dưới. Sau khi các ghim vào vị trí, có thể cắt bớt chiều dài không sử dụng từ mặt sau cùng với nhựa đen. Điều này làm cho mặt dưới hoàn toàn trơn tru.

Với tất cả các thành phần tại chỗ, đã đến lúc kết hợp hai bo mạch lại với nhau. Tôi chỉ cắt và tước sáu dây nhỏ 2,5 inch (7 cm) và kết nối hai PCB.

Bước 6: Thiết lập WiFi

Thiết lập WiFi
Thiết lập WiFi
Thiết lập WiFi
Thiết lập WiFi

Có sáu dòng đơn giản trong mã bạn cần thay đổi.

  1. ssid, dòng 3

    Tên bộ định tuyến của bạn. Đảm bảo rằng bạn viết đúng mẫu chữ cái khi viết cái này

  2. wifiPass, dòng 4

    Mật khẩu bộ định tuyến của bạn. Một lần nữa, hãy chú ý đến vỏ

  3. ip, dòng 8

    Địa chỉ ip tĩnh của đèn thông minh của bạn. Tôi đã chọn một địa chỉ ip ngẫu nhiên trên mạng của mình và cố gắng ping địa chỉ đó trong cửa sổ lệnh. Nếu không có câu trả lời từ địa chỉ, bạn có thể cho rằng nó có sẵn

  4. cổng vào, dòng 9

    Đây sẽ là cổng vào bộ định tuyến của bạn. Mở cửa sổ lệnh và gõ "ipconfig". Cổng vào và mạng con được khoanh đỏ trong hình

  5. mạng con, dòng 10

    Như với cổng, thông tin này được khoanh tròn trong hình cho bước này

  6. timeZone, dòng 15

    Múi giờ bạn đang ở. Hãy thay đổi múi giờ này nếu bạn muốn sử dụng các chức năng hẹn giờ tích hợp để bật và tắt đèn vào những thời điểm cụ thể. Biến là một pluss đơn giản hoặc trừ GMT

Bước 7: Mã vi điều khiển

Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển
Mã vi điều khiển

Sau khi thay đổi tất cả các cài đặt có liên quan ở bước trước, cuối cùng đã đến lúc tải mã lên Wemos D1 Mini!

Mã arduino yêu cầu một vài thư viện và phụ thuộc. Trước tiên, hãy làm theo hướng dẫn này từ sparkfun nếu bạn chưa bao giờ tải mã từ arduino IDE lên ESP8266.

Bây giờ hãy tải xuống thư viện Thời gian và thư viện TimeAlarms. Giải nén chúng và sao chép vào thư mục thư viện arduino trên máy tính của bạn. Cũng giống như cài đặt bất kỳ thư viện arduino nào khác.

Chú ý đến cài đặt tải lên trong hình ở bước này. Chọn cấu hình giống nhau, ngoại trừ cổng com. Đây sẽ là bất kỳ cổng com nào bạn kết nối với bộ vi điều khiển trên máy tính của mình.

Khi mã được tải lên, hãy mở thiết bị đầu cuối nối tiếp đến một thông báo, hy vọng, kết nối thành công! Bây giờ bạn có thể mở trình duyệt của mình và truy cập địa chỉ ip tĩnh mà bạn đã lưu vào bộ vi điều khiển. Xin chúc mừng, bạn vừa xây dựng máy chủ của riêng mình và đang lưu trữ một trang web trên đó!

Bước 8: Mở Giao thức tin nhắn

Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở
Giao thức tin nhắn mở

Khi bạn điều khiển đèn thông minh bằng ứng dụng, tất cả các tin nhắn sẽ được xử lý tự động cho bạn. Đây là danh sách các thông báo mà đèn chấp nhận, nếu bạn muốn tạo điều khiển từ xa của riêng mình. Tôi đã sử dụng một địa chỉ ip mẫu để minh họa cách sử dụng các lệnh.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Đặt Đèn đỏ thành giá trị tối đa, đèn xanh lục thành một nửa giá trị và đèn xanh lam thành 34. Màu trắng lạnh và ấm hầu như không bật
    • Khi nhập các giá trị, bạn có thể chọn từ 0 đến 1023. Luôn viết các giá trị sáng dưới dạng bốn chữ số trong URL
  • 192.168.0.200/&&B=0800

    Đặt đèn màu xanh lam thành giá trị 800 đồng thời tắt tất cả các đèn khác

  • 192.168.0.200/LED=OFF

    Tắt hoàn toàn tất cả các đèn

  • 192.168.0.200/LED=FADE

    Bắt đầu mờ dần giữa tất cả các màu RGB có thể có. Hoàn hảo cho không gian xung quanh

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Nhấp nháy màu đã cho hai lần để biểu thị thông báo đến. Hoàn hảo nếu bạn muốn, giả sử, tạo một chương trình trên máy tính của bạn để nhấp nháy đèn đỏ bất cứ khi nào bạn nhận được email mới

  • 192.168.0.200/DST=1

    • Điều chỉnh đồng hồ theo thời gian tiết kiệm ánh sáng ban ngày. Thêm một giờ vào đồng hồ
    • / DST = 0 sử dụng điều này để quay lại từ DST, xóa một giờ khỏi đồng hồ nếu DST đang hoạt động
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Lưu trạng thái cho bộ hẹn giờ 1. Bộ hẹn giờ này sẽ bật các giá trị RGB đã cho vào lúc 06:30 sáng

  • 192.168.0.200/TIMER1H=99

    Đặt giờ hẹn giờ thành 99 để tắt bộ hẹn giờ. Các giá trị RGB vẫn được lưu trữ, nhưng bộ hẹn giờ sẽ không bật đèn khi giờ được đặt thành 99

  • Đèn có bốn bộ hẹn giờ riêng lẻ. Thay đổi "TIMER1" cho "TIMER2", "TIMER3" hoặc "TIMER4" để điều chỉnh một trong những bộ hẹn giờ tích hợp sẵn khác.

Đây là các lệnh hiện được tích hợp sẵn. Hãy để lại bình luận nếu bạn có bất kỳ ý tưởng hay ho nào về các lệnh mới để xây dựng trong mã arduino hoặc ứng dụng từ xa!

Bước 9: Điều khiển từ xa

Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa
Điều khiển từ xa

Nhấn vào đây để tải xuống ứng dụng. Việc thiết lập được thực hiện cực kỳ dễ dàng, chỉ cần nhập địa chỉ ip của đèn thông minh của bạn và chọn xem bạn chỉ muốn điều khiển đèn LED RGB hay đèn LED RGB + đèn LED trắng ấm và lạnh.

Như đã giải thích ở bước trước, bây giờ bạn đã biết ứng dụng đang sử dụng giao thức tin nhắn nào. Nó đang gửi một yêu cầu http GET với các URL. Điều này có nghĩa là bạn cũng có thể tạo mạch vi điều khiển của riêng mình và vẫn sử dụng ứng dụng này để điều khiển các chức năng bạn tự phát triển.

Bởi vì chúng tôi đã thực sự tìm hiểu sâu về giao thức tin nhắn, bạn cũng có thể điều khiển đèn thông minh bằng bất kỳ thứ gì có khả năng gửi yêu cầu http GET. Điều này có nghĩa là bất kỳ trình duyệt nào trên điện thoại hoặc máy tính, các thiết bị hoặc trợ lý thông minh trong nhà như Alexa hoặc Trợ lý Google.

Tasker là một ứng dụng về cơ bản cho phép bạn tạo điều kiện để kiểm soát mọi thứ. Tôi đã sử dụng nó để nháy đèn thông minh với màu của thông báo khi tôi nhận được nó trên điện thoại của mình. Tôi cũng đã thiết lập tác vụ để bật đèn ở chế độ trắng hoàn toàn, khi điện thoại kết nối với WiFi tại nhà của tôi sau 16:00 vào một ngày trong tuần. Điều đó có nghĩa là đèn sẽ tự động bật khi tôi đi học về. Thật tuyệt khi trở về nhà với đèn tự động bật sáng!

Bước 10: In 3D

in 3d
in 3d

Bản thân vỏ đèn có thể được in gần như hoàn toàn mà không cần hỗ trợ. Các bộ phận duy nhất thực sự cần hỗ trợ là các chốt dùng để giao phối với PCB. Vì vậy, tôi đã làm cho stl có sẵn cả có và không có cấu trúc hỗ trợ nhỏ chỉ cho những chốt này. Ưu điểm của việc sử dụng hỗ trợ tùy chỉnh này là in nhanh hơn nhiều! Và chúng tôi chỉ nhận hỗ trợ in ấn trên những phần thực sự cần thiết.

Bạn có thể tải xuống các tệp.stl tại đây

Bước 11: Mang tất cả lại với nhau

Mang tất cả lại với nhau
Mang tất cả lại với nhau
Mang tất cả lại với nhau
Mang tất cả lại với nhau
Mang tất cả lại với nhau
Mang tất cả lại với nhau

Sau khi in 3D, hãy bắt đầu bằng cách tháo hỗ trợ in. Các cáp nguồn đi vào các kênh riêng biệt và được buộc lại với nhau. Nút thắt này sẽ tạo ra sự giảm căng thẳng ngăn không cho dây cáp bị xé ra khỏi PCB. Hàn cáp nguồn vào mặt sau của PCB và đảm bảo bạn lắp đúng cực!

PCB điều khiển sau đó được gắn chặt bằng một miếng băng để giữ cho nó luôn phẳng bên trong vỏ máy. PCB LED có thể được đặt đơn giản vào vị trí của nó, nơi nó nằm trên mặt phẳng của chính nó.

Bước 12: Treo đèn

Treo đèn
Treo đèn
Treo đèn
Treo đèn
Treo đèn
Treo đèn

Có rất nhiều lựa chọn để treo đèn này lên tường. Bởi vì tôi có thể liên tục cập nhật mã để cải thiện đèn, nên thỉnh thoảng tôi muốn có cách tháo đèn xuống. Bạn có thể sử dụng keo nóng, nhưng tôi khuyên bạn nên dùng băng dính hai mặt. Tốt nhất nên sử dụng băng keo hai mặt dày và xốp vì nó giữ đèn tốt nhất trên tường có kết cấu.

Bước 13: Hoàn thành

Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành
Hoàn thành

Với đèn trên tường và sẵn sàng chấp nhận các lệnh có nghĩa là bạn đã hoàn thành!

Bảng đèn LED được thiết kế góc cạnh giúp phân tán ánh sáng đồng đều trong phòng. Đó là một bổ sung tuyệt vời cho bất kỳ không gian làm việc nào và khả năng tích hợp với tự động hóa gia đình là một điểm cộng tuyệt vời. Tôi thực sự thích khả năng thiết lập màu RGB cũng như điều chỉnh cân bằng trắng giữa ánh sáng lạnh và ấm. Nó trông rất phong cách và là một trợ giúp đắc lực cho việc bố trí đèn xung quanh hoặc đèn làm việc, phù hợp với bất kỳ nhu cầu ánh sáng nào mà tôi có vào lúc này.

Xin chúc mừng, bạn hiện đã có một bước nhảy vọt trong thế giới IoT và tự động hóa gia đình!