Mục lục:
- Bước 1: Đấu dây các Mô-đun và Mạch NRF24L01
- Bước 2: Mã hóa máy phát
- Bước 3: Mã hóa máy thu
- Bước 4: XONG
Video: Đèn LED kết hợp ánh sáng Arduino không dây sử dụng điện trở quang: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Hướng dẫn này trình bày chi tiết các bước cần thiết để tạo một đèn LED cảm biến ánh sáng không dây thô sơ sử dụng Arduino Unos và một điện trở quang. Một ứng dụng khả thi cho thiết bị này là chiếu sáng một căn phòng không có cửa sổ bằng ánh sáng mặt trời nhân tạo, phù hợp với điều kiện ánh sáng thực tế bên ngoài trong thời gian thực. Bắt đầu nào!
Danh sách cung cấp:
Arduino Uno x2
NRF24L01 Bộ thu phát không dây x2 (Tùy chọn - Ba lô NRF24L01 x2)
Bóng bán dẫn darlington TIP120
Điện trở quang
Đèn LED 5mm x3
Nút bấm
Điện trở 100 ohm x3
Điện trở 10k ohm x3
Nhiều loại dây nhảy
Bước 1: Đấu dây các Mô-đun và Mạch NRF24L01
Trong dự án này, một Arduino sẽ hoạt động như một máy phát, gửi dữ liệu mức ánh sáng từ điện trở quang khi nhấn nút nhấn. Arduino khác sẽ đóng vai trò như một bộ thu, lấy dữ liệu đó và chuyển nó thành tín hiệu đến các đèn LED. Hình ảnh đầu tiên hiển thị sơ đồ máy phát và hình ảnh thứ hai hiển thị máy thu.
Lưu ý: trong các bức ảnh về dự án của tôi, bạn sẽ nhận thấy các bộ thu phát NRF24L01 được gắn vào một PCB khác. Đây là một mô-đun ba lô cho các bộ thu phát, hoạt động như một bộ điều chỉnh năng lượng. Ngoài việc giúp đi dây dễ dàng hơn, những chiếc ba lô này điều chỉnh nguồn điện đầu vào cho NRF24L01, cho phép sử dụng nguồn điện 5V. Tôi đã bỏ qua những chiếc ba lô này trong sơ đồ của mình vì mục đích rõ ràng.
(Nếu bạn quyết định sử dụng ba lô, vui lòng tham khảo liên kết này để biết sơ đồ vị trí các chốt liên quan đến kho NRF24L01).
Đính kèm bên dưới là bản sao PDF của mạch để dễ dàng thu phóng / xem chi tiết hơn.
Bước 2: Mã hóa máy phát
Bước cuối cùng là viết mã. Bạn sẽ cần cài đặt thư viện RadioHead hoặc một thư viện tương đương để sử dụng với các mô-đun NRF24L01.
Đối với dự án này, bộ phát và bộ thu Arduinos sử dụng mã khác nhau trên mỗi bộ. Đây là mã cho máy phát:
Tôi cũng đã đính kèm tệp.ino (NRF_Send) để tiện theo dõi.
#bao gồm
#bao gồm
RH_NRF24 nrf24; // Khởi tạo bộ thu phát là nrf24
nút int = 5; // Đặt giá trị chân cho nút và điện trở quang
int pResistor = A0; giá trị int = 0; // Giá trị của ánh sáng từ 0-1023
void setup ()
{Serial.begin (9600); pinMode (nút, INPUT); pinMode (pResistor, INPUT); if (! nrf24.init ()) // Cảnh báo người dùng nếu quá trình khởi tạo mô-đun không thành công Serial.println ("init fail"); // Giá trị mặc định sau init là 2,402 GHz (kênh 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel fail"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF thất bại"); }
void loop ()
{if (digitalRead (button)) {// Gửi tin nhắn nếu nút được nhấn value = analogRead (pResistor); // Đọc giá trị của photoresistor (0-1023) uint8_t data = {value}; // Đặt một mảng có tên "data " chứa giá trị light nrf24.send (data, sizeof (data)); // Gửi mảng tới máy chủ thu nrf24.waitPacketSent (); // Chờ cho đến khi gói tin được gửi đi Serial.println ("Light Value:" + String (value)); // In giá trị đèn vào màn hình nối tiếp}}
Bước 3: Mã hóa máy thu
Đối với người nhận, mã cũng sử dụng Thư viện RadioHead.
#bao gồm
#bao gồm
RH_NRF24 nrf24;
int LEDPin = 3;
giá trị int = 0; // Giá trị của ánh sáng từ 0-1023
void setup ()
{Serial.begin (9600); pinMode (LEDPin, OUTPUT); if (! nrf24.init ()) Serial.println ("init thất bại"); // Giá trị mặc định sau init là 2,402 GHz (kênh 2), 2Mbps, 0dBm if (! Nrf24.setChannel (1)) Serial.println ("setChannel fail"); if (! nrf24.setRF (RH_NRF24:: DataRate2Mbps, RH_NRF24:: TransmitPower0dBm)) Serial.println ("setRF thất bại"); }
void loop ()
{// Chờ tin nhắn uint8_t buf [RH_NRF24_MAX_MESSAGE_LEN]; // Lưu trữ thông báo đã nhận dưới dạng một mảng có tên "buf " uint8_t len = sizeof (buf); // Lưu trữ kích thước của buf là "len" while (nrf24.waitAvailableTimeout (200) && nrf24.recv (buf, & len)) // Nhận thư trong 200 mili giây hoặc cho đến khi nhận được toàn bộ thư {value = buf [0]; // Đặt giá trị cho chỉ mục đầu tiên của buf , là int từ photoresistor analogWrite (LEDPin, map (value, 0, 1023, 0, 255)); // Đặt chân PWM để xuất ra một giá trị được chia tỷ lệ từ 0-255 cho độ sáng của đèn LED Serial.println (String (value)); } analogWrite (LEDPin, 0); }
Bước 4: XONG
Thích chơi xung quanh với các mức độ ánh sáng khác nhau và xem các đèn LED phù hợp với chúng! Điện trở quang đôi khi có thể hơi khó và hoạt động tốt nhất trong phòng tối với nguồn sáng cục bộ (nhưng cũng có thể hoạt động bên ngoài với ánh nắng mặt trời).
Đề xuất:
Cách sử dụng điện trở quang để thắp sáng đèn LED với Aurduino: 12 bước
Cách sử dụng điện trở quang để thắp sáng đèn LED với Aurduino: Xin chào tất cả các bạn, những người đam mê Arduino! Hôm nay, tôi sẽ trình bày cách sử dụng một điện trở quang (tế bào quang điện) để phát sáng một đèn LED. Mã được cung cấp với Có thể hướng dẫn này sẽ cho phép đèn LED ở trạng thái mờ bình thường, nhưng sẽ nhấp nháy
Cảm biến ánh sáng (Điện trở quang) Với Arduino trong Tinkercad: 5 bước (có hình ảnh)
Cảm biến ánh sáng (Photoresistor) Với Arduino trong Tinkercad: Chúng ta hãy tìm hiểu cách đọc một photoresistor, một loại biến trở nhạy sáng, bằng cách sử dụng Đầu vào Analog của Arduino. Nó còn được gọi là LDR (điện trở phụ thuộc vào ánh sáng). Cho đến nay bạn đã học cách điều khiển đèn LED với đầu ra tương tự của Arduino và
Ánh sáng mặt trời không dùng pin, hoặc ánh sáng mặt trời ban ngày Tại sao không?: 3 bước
Ánh sáng mặt trời không dùng pin, hoặc ánh sáng ban ngày bằng năng lượng mặt trời … Tại sao không?: Chào mừng bạn. Xin lỗi vì tiếng anh của tôi Mặt trời? Tại sao? Tôi có một căn phòng hơi tối vào ban ngày, và tôi cần phải bật đèn khi sử dụng. tính phí
Phiên bản lớn của điện trở Smd 1 Ohm cung cấp điện trở 1 Ohm mà không cần sử dụng bất kỳ linh kiện điện tử nào.: 13 bước
Phiên bản lớn của điện trở Smd 1 Ohm cung cấp điện trở 1 Ohm mà không cần sử dụng bất kỳ linh kiện điện tử nào.: Trong thực tế, điện trở smd rất nhỏ với kích thước gần 0,8mmx1,2mm. Ở đây, tôi sẽ làm một điện trở smd lớn, rất lớn so với điện trở smd ngoài đời thực
20 giờ $ 20 Bảng xây dựng trò chơi điện tử hàng đầu với hàng trăm trò chơi được tích hợp sẵn.: 7 bước (có hình ảnh)
20 giờ $ 20 Table Top Arcade Build với hàng trăm trò chơi được tích hợp sẵn. Vì tôi không quá vội vàng nên tôi chỉ đợi cho đến khi tích lũy được tất cả các thành phần cần thiết cho việc xây dựng với giá rẻ. Đây là