
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:14

Tôi đặt hàng một bảng chuyển tiếp đẹp nhưng không có hướng dẫn ArduinoIDE, chỉ có Raspberry Pi e.o. Tôi tìm hiểu cách sử dụng nó với Arduino và muốn chia sẻ nó để bạn có thể tiết kiệm thời gian.
Ví dụ về RaspberryPi gốc:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Điều tuyệt vời là bạn có thể xếp chồng lên đến 4 bảng. Vì vậy, bạn có thể sử dụng tối đa. 4 x 4 = 16 rơ le trên một bus I2C.
Ngoài ra còn có một số khuyết điểm:
- đầu mối nhỏ, không phù hợp với dây 1 mm2
- bạn không thể thay đổi hệ thống dây của các đầu nối dưới cùng khi chúng được xếp chồng lên nhau
Nhưng vẫn còn tiện dụng của hội đồng quản trị.
Bước 1: Nối dây



Trong hình ảnh, bạn có thể thấy dây.
52Pi cần cả 5V (cho relay) en 3.3V (chip I2C).
Vì vậy, 5 dây cần thiết:
- GND sang GND
- 5 V đến 5 V
- 3,3 V đến 3,3 V
- SLA đến SLA
- SCL sang SCL
Nếu bạn sử dụng Arduino UNO hoặc 5 V khác, hãy nhập tối đa 3, 6 V từ bộ điều khiển I2C! Sử dụng điện trở hoặc cách khác để giảm 5 V ra khỏi mã PIN Arduino!
Bước 2: Ví dụ về mã đơn giản:
/ * Ví dụ về Arduino IDE (ESP) cho bảng chuyển tiếp I2C.
* Của Laurens Korste www.boktorrobotica.nl * miễn phí để sử dụng. * / #include // cho giao tiếp I2C void setup () {// quy tắc này không dành cho UNO hoặc bo mạch có chân I2C chuyên dụng Wire.begin (D1, D2); // tham gia bus i2c với SDA = D1 và SCL = D2 cho NodeMCU} void loop () {Wire.beginTransmission (0x10); / * bắt đầu truyền đến địa chỉ I2C 10 (cũng có thể thay đổi thành 11, 12 hoặc 13) * / Wire.write (0x01); / * lựa chọn relais 1 (trong số 4) trên bảng 10 (cũng 0x02, 0x03, 0x04) * / Wire.write (0xFF); / * đặt relais 1 trên bo mạch 10 thành BẬT. tất cả các số> 0 sẽ làm như vậy * / Wire.endTransmission (); / * ngừng truyền * / delay (3000); Wire.beginTransmission (0x10); / * * / Wire.write (0x01); Wire.write (0x00); / * đặt relais 1 trên bo mạch 10 thành OFF * / Wire.endTransmission (); / * dừng truyền * / delay (3000); }
Bước 3: Bốn mã kiểm tra tiếp sức
/ * bản phác thảo của Laurens Korste cho Arduino (ESP / NodeMCU)
* Nhưng các bo mạch khác cũng sẽ làm được * www.boktorrobotica.nl * Trong nút này, 4 rơ le sẽ được kích hoạt vì đã tắt * / #include // cho giao tiếp I2C void setup () {Serial.begin (115200); // bắt đầu nối tiếp để gỡ lỗi (9600 cho UNO) Wire.begin (D1, D2); // tham gia bus i2c với SDA = D1 và SCL = D2 của NodeMCU không cần UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // bắt đầu bằng địa chỉ thiết bị Wire.write (i); // lựa chọn relais Wire.write (0xFF); // gửi mã "on" FF (mọi số đếm từ 01 đến FF sẽ được thực hiện) Wire.endTransmission (); // ngừng truyền Serial.write (i); Serial.println ("aan"); chậm trễ (1000); Wire.beginTransmission (0x10); // bắt đầu bằng địa chỉ thiết bị Wire.write (i); Wire.write (0x00); // Gửi mã "tắt" Wire.endTransmission (); // ngừng truyền Serial.write (i); Serial.println ("uit"); chậm trễ (1000); }}
Bước 4: Dự án của tôi


Tôi đã viết mã để vận hành 3 cửa chớp của mình. Điều này có thể được thực hiện bằng công tắc nhưng cũng có thể bằng ứng dụng BLYNK, Xem hình ảnh.
- Một lần nhấn ngắn sẽ bắt đầu di chuyển một cửa trập (hoặc dừng nó khi nó đang di chuyển).
- Một lần nhấn và cả ba cửa chớp sẽ mở (hoặc đóng hoặc dừng).
- Áp suất kép: cửa chớp đi đến vị trí "lỗ".
Có thể thấy trong hình, em cũng được tích hợp cảm biến nhiệt độ và ánh sáng.
Bây giờ mọi thứ trên một PCB cơ bản tốt và gọn gàng trong một chiếc hộp.
Bước 5: Gọi chuyển tiếp bằng một lệnh
Sẽ rất hữu ích nếu bạn chỉ cần một lệnh để kích hoạt hoặc hủy kích hoạt rơle. Dưới đây là một chức năng có thể thực hiện điều này (với lowbyte và highbyte).
/ * bản phác thảo của Laurens Korste cho Arduino (ESP / NodeMCU) với bảng chuyển tiếp I2C * Nhưng các bảng khác cũng sẽ làm được * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com / index.php / DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * Trong bản phác thảo này, rơle sẽ được kích hoạt bằng một lệnh gọi; * // #include // cho giao tiếp I2C // Tiếp theo khai báo. 4 PCB trên mỗi PCB Có thể có 4 rơ le. Trong bản phác thảo này chỉ có hai PCB // PCB và rơ le được hợp nhất để chúng có thể được gọi bằng một lệnh const byte PutOn = 0xFF; // lệnh để bật const byte PutOff = 0x00; // comand để tắt const word Relay1bord1 = 0x1001; // bạn có thể đặt tên bằng ví dụ Relay1 const word Relay2bord1 = 0x1002; // bạn có thể đặt tên bằng ví dụ Relay2 const word Relay3bord1 = 0x1003; // bạn có thể đặt tên bằng ví dụ Relay3 const word Relay4bord1 = 0x1004; // bạn có thể đặt tên bằng ví dụ Relay4 const word Relay1bord2 = 0x1101; // bạn có thể đặt tên bằng ví dụ Relay5 const w ord Relay2bord2 = 0x1102; // bạn có thể đặt tên theo ví dụ Relay6 const word Relay3bord2 = 0x1103; // bạn có thể đặt tên theo ví dụ Relay7 const word Relay4bord2 = 0x1104; // bạn có thể đặt tên theo ví dụ Relay8 const word Relay1bord3 = 0x1201; // bạn có thể đặt tên theo ví dụ Relay9 const word Relay2bord4 = 0x1302; // bạn có thể đặt tên bằng ví dụ Relay14 void setup () {Serial.begin (115200); // bắt đầu nối tiếp để gỡ lỗi (9600 cho UNO) Wire.begin (D1, D2); // tham gia bus i2c với SDA = D1 và SCL = D2 của NodeMCU không cần UNO} void loop () {// để chuyển relay 4 trên PCB 2 trên RelayActie (Relay4bord2, PutOn); chậm trễ (1000); // để chuyển relay 4 trên PCB 2 tắt RelayActie (Relay4bord2, PutOff); chậm trễ (1000); } void RelayActie (word Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (Rơ le)); Wire.write (OnOrOff); Wire.endTransmission (); }
Đề xuất:
Màn hình LCD I2C / IIC - Sử dụng SPI LCD cho Màn hình LCD I2C Sử dụng SPI đến IIC Mô-đun với Arduino: 5 bước

Màn hình LCD I2C / IIC | Sử dụng SPI LCD với màn hình LCD I2C Sử dụng mô-đun SPI đến IIC Với Arduino: Xin chào các bạn vì SPI LCD 1602 bình thường có quá nhiều dây để kết nối nên rất khó giao tiếp với arduino nhưng có một mô-đun có sẵn trên thị trường có thể chuyển đổi hiển thị SPI thành hiển thị IIC, do đó bạn chỉ cần kết nối 4 dây
Màn hình LCD I2C / IIC - Chuyển đổi SPI LCD sang Màn hình LCD I2C: 5 bước

Màn hình LCD I2C / IIC | Chuyển đổi SPI LCD sang Màn hình LCD I2C: sử dụng màn hình LCD spi cần quá nhiều kết nối để thực hiện, điều này thực sự khó thực hiện vì vậy tôi đã tìm thấy một mô-đun có thể chuyển đổi LCD i2c sang LCD spi vì vậy hãy bắt đầu
Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE - Cài đặt Bo mạch Esp trong Arduino Ide và Lập trình Esp: 4 bước

Bắt đầu với Esp 8266 Esp-01 Với Arduino IDE | Cài đặt bo mạch Esp-01 trong Arduino Ide và Lập trình Esp: Trong phần hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt bo mạch esp8266 trong Arduino IDE và cách lập trình esp-01 và tải lên mã trong đó. điều này và hầu hết mọi người đều phải đối mặt với vấn đề
I2C LCD trên NodeMCU V2 Với Arduino IDE: 3 bước

I2C LCD trên NodeMCU V2 Với Arduino IDE: Trong phần hướng dẫn nhanh này, tôi sẽ chỉ cho bạn cách sử dụng LCD với I2C Serial Adapter trên NodeMCU v2 bằng ArduinoIDE và các thư viện có sẵn
IOT123 - I2C 2CH RELAY BRICK: 5 bước (có hình ảnh)

IOT123 - I2C 2CH RELAY BRICK: IOT123 BRICKS là các đơn vị mô-đun DIY có thể kết hợp với các GẠCH IOT123 khác, để thêm chức năng cho một nút hoặc thiết bị đeo được. Chúng được dựa trên các tấm bảng vuông inch, hai mặt với kết nối với nhau qua các lỗ. Một số BRICK này