
Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:10

Jag beställer en snygg reläbräda men det fanns ingen ArduinoIDE -instruktion, bara Raspberry Pi e.o. Jag får reda på hur jag använder det med Arduino och vill dela det så att du kan spara den tiden.
Original RaspberryPi -exempel:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Trevligt är att du kan stapla upp till 4 brädor. Så du kan använda max. 4 x 4 = 16 reläer på en I2C -buss.
Det finns också några nackdelar:
- små terminaler, passar inte 1 mm2 tråd
- Du kan inte ändra kablarna för de nedre kontakterna när de är staplade ihop
Men fortfarande praktiska brädor.
Steg 1: Kabeldragning



På bilderna kan du se kabeldragningen.
52Pi behöver både 5V (för reläer) och 3.3V (I2C -chip).
Så 5 ledningar behövs:
- GND till GND
- 5 V till 5 V
- 3,3 V till 3,3 V
- SLA till SLA
- SCL till SCL
Om du använder en Arduino UNO eller annan 5 V, var uppmärksam på max 3, 6 V från I2C -styrenheten! Använd motstånd eller annars för att sänka 5 V ur Arduino PIN -koder!
Steg 2: Exempel på enkel kod:
/* Arduino IDE (ESP) exempel för I2C relaisboard.
* Av Laurens Korste www.boktorrobotica.nl * gratis att använda. */ #include // för I2C -kommunikation tomrumsinställning () {// denna regel gäller inte för UNO eller styrelser med dedikerade I2C -stift Wire.begin (D1, D2); // gå med i2c -buss med SDA = D1 och SCL = D2 för NodeMCU} void loop () {Wire.beginTransmission (0x10);/ * börja sända till I2C -adress 10 (för att också ändra till 11, 12 eller 13) */ Wire.skriv (0x01); / * choice relais 1 (av 4) ombord på 10 (även 0x02, 0x03, 0x04) */ Wire.write (0xFF); /* ställ relä 1 ombord 10 på ON. alla nummer> 0 gör det */ Wire.endTransmission (); / * sluta sända */ fördröjning (3000); Wire.beginTransmission (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * ställ relä 1 ombord 10 till AV */ Wire.endTransmission (); / * sluta sända */ fördröjning (3000); }
Steg 3: Testkod med fyra reläer
/* skiss av Laurens Korste för Arduino (ESP / NodeMCU)
* Men andra kort kommer också att göra * www.boktorrobotica.nl * I denna tangent kommer alla 4 reläerna att aktiveras och inaktiveras */ #include // för I2C -kommunikation ogiltig inställning () {Serial.begin (115200); // börja seriell för felsökning (9600 för UNO) Wire.begin (D1, D2); // gå med i2c -buss med SDA = D1 och SCL = D2 för NodeMCU inget behov av UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // börja med enhetsadress Wire.write (i); // välj relais Wire.write (0xFF); // skicka "på" -koden FF (varje räkning från 01 till FF kommer att göra) Wire.endTransmission (); // sluta överföra Serial.write (i); Serial.println ("aan"); fördröjning (1000); Wire.beginTransmission (0x10); // börja med enhetsadress Wire.write (i); Wire.write (0x00); // Skicka "off" -koden Wire.endTransmission (); // sluta överföra Serial.write (i); Serial.println ("uit"); fördröjning (1000); }}
Steg 4: Mitt projekt


Jag har skrivit en kod för att driva mina 3 fönsterluckor. Detta kan göras med switchar men också med BLYNK -appen, se bild.
- Ett kort tryck kommer att börja flytta en slutare (eller stoppa den när den rör sig).
- Ett långt tryck och alla tre fönsterluckorna öppnas (eller stängs eller stannar).
- Dubbel tryck: fönsterluckorna går till "hål" -läget.
Som det syns på bilden integrerade jag också en temperatur- och ljussensor.
Nu allt på en bra bas -PCB och snyggt i en låda.
Steg 5: Ring ett relä med ett kommando
Det är användbart om du bara behöver ett kommando för att aktivera eller inaktivera ett relä. Nedan finns en funktion som kan göra detta (med lågbyte och högbyte).
/ * skiss av Laurens Korste för Arduino (ESP/NodeMCU) med I2C reläbräda * Men andra brädor kommer också att göra * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * I denna skiss aktiveras reläet med ett samtal; * // #include // för I2C-kommunikation // Relädeklaration. 4 PCB: s per PCB 4 reläer möjliga. I denna skiss slås bara två PCB // PCB och reläer samman så att de kan kallas med en kommando const byte PutOn = 0xFF; // kommando för att slå på const byte PutOff = 0x00; // comand för att stänga av const word Relay1bord1 = 0x1001; // du kan chansa namnen med exempel Relay1 const word Relay2bord1 = 0x1002; // du kan chansa namnen med exempel Relay2 const word Relay3bord1 = 0x1003; // du kan chansa namnen med exempel Relay3 const word Relay4bord1 = 0x1004; // du kan chansa namnen med exempel Relay4 const word Relay1bord2 = 0x1101; // du kan chansa namnen med exempel Relay5 const w ord Relä2bord2 = 0x1102; // du kan chansa namnen med exempel Relay6 const word Relay3bord2 = 0x1103; // du kan chansa namnen med exempel Relay7 const word Relay4bord2 = 0x1104; // du kan chansa namnen med exempel Relay8 const word Relay1bord3 = 0x1201; // du kan chansa namnen med exempel Relay9 const word Relay2bord4 = 0x1302; // du kan chansa namnen med exempel Relay14 void setup () {Serial.begin (115200); // börja seriell för felsökning (9600 för UNO) Wire.begin (D1, D2); // anslut i2c -buss med SDA = D1 och SCL = D2 för NodeMCU inget behov av UNO} void loop () {// för att växla relä 4 på PCB 2 på RelayActie (Relay4bord2, PutOn); fördröjning (1000); // för att koppla relä 4 på kretskort 2 från RelayActie (Relay4bord2, PutOff); fördröjning (1000); } void RelayActie (word Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (relä)); Wire.write (OnOrOff); Wire.endTransmission (); }
Rekommenderad:
I2C / IIC LCD -skärm - Använd en SPI LCD till I2C LCD -skärmen Använd SPI till IIC -modulen med Arduino: 5 steg

I2C / IIC LCD -skärm | Använd en SPI LCD till I2C LCD -skärmen Använda SPI till IIC -modulen med Arduino: Hej killar eftersom en vanlig SPI LCD 1602 har för många trådar att ansluta så det är mycket svårt att ansluta den till arduino men det finns en modul på marknaden som kan konvertera SPI -display till IIC -display så då behöver du bara ansluta 4 ledningar
I2C / IIC LCD -skärm - Konvertera en SPI LCD till I2C LCD Display: 5 steg

I2C / IIC LCD -skärm | Konvertera en SPI LCD -skärm till I2C LCD -skärm: Användning av spi -lcd -skärm behöver för många anslutningar att göra vilket är riktigt svårt att göra så jag hittade en modul som kan konvertera i2c lcd till spi lcd så låt oss komma igång
Komma igång med Esp 8266 Esp-01 Med Arduino IDE - Installera Esp -kort i Arduino Ide och Programmering Esp: 4 steg

Komma igång med Esp 8266 Esp-01 Med Arduino IDE | Installera Esp-kort i Arduino Ide och programmera Esp: I dessa instruktioner lär vi oss hur man installerar esp8266-kort i Arduino IDE och hur man programmerar esp-01 och laddar upp kod i den. Eftersom esp-kort är så populära så jag tänkte rätta till en instruktionsför detta och de flesta människor har problem
I2C LCD på NodeMCU V2 Med Arduino IDE: 3 steg

I2C LCD på NodeMCU V2 Med Arduino IDE: I den här snabba instruktionen visar jag hur du lunchar LCD med I2C Serial Adapter på NodeMCU v2 med ArduinoIDE och tillgängliga bibliotek
IOT123 - I2C 2CH RELAY BRICK: 5 Steg (med bilder)

IOT123 - I2C 2CH RELAY BRICK: IOT123 BRICKS är DIY modulära enheter som kan mosas ihop med andra IOT123 BRICKS, för att lägga till funktionalitet till en nod eller bärbar. De är baserade på de tums fyrkantiga, dubbelsidiga protoborden med sammankopplade genomgående hål. Ett antal av dessa BRICK