Përmbajtje:

Rele I2C Met Arduino IDE: 5 hapa
Rele I2C Met Arduino IDE: 5 hapa

Video: Rele I2C Met Arduino IDE: 5 hapa

Video: Rele I2C Met Arduino IDE: 5 hapa
Video: Как сделать ПЛК LDmicro Arduino с ЖК-дисплеем I2C 2024, Korrik
Anonim
Rele I2C Met Arduino IDE
Rele I2C Met Arduino IDE

Unë porosis një tabelë të bukur, por nuk kishte asnjë udhëzim ArduinoIDE, vetëm Raspberry Pi e.o. Unë zbuloj se si ta përdor me Arduino dhe dua ta ndaj në mënyrë që të kurseni atë kohë.

Shembull origjinal RaspberryPi:

wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099

Gjëja e bukur është se ju mund të grumbulloni deri në 4 dërrasa. Kështu që ju mund të përdorni max. 4 x 4 = 16 stafetë në një autobus I2C.

Ekzistojnë gjithashtu disa kundër:

  • termina të vegjël, nuk përshtaten me tela 1 mm2
  • ju nuk mund të ndryshoni telat e lidhësve të poshtëm kur ato janë të grumbulluara së bashku

Por akoma borde të volitshme.

Hapi 1: Telazim

Tela
Tela
Tela
Tela
Tela
Tela

Në fotografi mund të shihni tela.

52Pi ka nevojë për të dy 5V (për stafetë) en 3.3V (çip I2C).

Pra, nevojiten 5 tela:

  • GND në GND
  • 5 V deri në 5 V
  • 3.3 V deri 3.3 V
  • SLA në SLA
  • SCL në SCL

Nëse përdorni një Arduino UNO ose 5 V të tjera, sigurohuni që të jetë maksimumi 3, 6 V nga kontrolluesi I2C! Përdorni rezistorë ose ndryshe për të ulur 5 V nga PIN -et e Arduino!

Hapi 2: Shembull i thjeshtë i kodit:

/* Arduino IDE (ESP) shembull për rishikimin e I2C.

* Nga Laurens Korste www.boktorrobotica.nl * falas për t’u përdorur. */ #include // për konfigurimin e komunikimit të pavlefshëm të komunikimit I2C () {// ky rregull jo për UNO ose bordet me kunjat e dedikuara I2C Wire.begin (D1, D2); // bashkojeni autobusit i2c me SDA = D1 dhe SCL = D2 për NodeMCU} lak të pavlefshëm () {Wire.beginTransmission (0x10);/ * filloni të transmetoni në adresën I2C 10 (për të ndryshuar gjithashtu në 11, 12 ose 13) */ Wire.shkruani (0x01); / * releta e zgjedhjes 1 (nga 4) në bordin 10 (gjithashtu 0x02, 0x03, 0x04) */ Wire.write (0xFF); /* vendosni reletë 1 në bordin 10 në ON. të gjithë numrat> 0 do ta bëjnë këtë */ Wire.endTransmission (); / * ndalo transmetimin */ vonesë (3000); Wire.beginTransmetimi (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * vendosni reletë 1 në bordin 10 në OFF */ Wire.endTransmission (); / * ndalo transmetimin */ vonesë (3000); }

Hapi 3: Kodi i provës me katër stafetë

/* skica nga Laurens Korste për Arduino (ESP / NodeMCU)

* Por bordet e tjera do të bëjnë gjithashtu * www.boktorrobotica.nl * Në këtë skeych alfa 4 do të aktivizohen të çaktivizuara */ #include // për konfigurimin e pavlefshëm të komunikimit I2C () {Serial.begin (115200); // fillo serialin për debug (9600 për UNO) Wire.begin (D1, D2); // bashkojeni autobusit i2c me SDA = D1 dhe SCL = D2 të NodeMCU nuk ka nevojë për UNO} loop void () {për (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // filloni me adresën e pajisjes Wire.write (i); // zgjedh relais Wire.write (0xFF); // dërgoni kodin "on" FF (çdo numërim nga 01 në FF do të bëjë) Wire.endTransmission (); // ndalo transmetimin Serial.write (i); Serial.println ("aan"); vonesa (1000); Wire.beginTransmetimi (0x10); // filloni me adresën e pajisjes Wire.write (i); Wire.write (0x00); // Dërgoni kodin "off" Wire.endTransmission (); // ndalo transmetimin Serial.write (i); Serial.println ("uit"); vonesa (1000); }}

Hapi 4: Projekti im

Projekti im
Projekti im
Projekti im
Projekti im

Unë kam shkruar një kod për të operuar grilat e mia 3. Kjo mund të bëhet me ndërprerës, por edhe me aplikacionin BLYNK, Shih imazhin.

  • Një shtypje e shkurtër do të fillojë të lëvizë një qepen (ose ta ndalojë atë kur lëviz).
  • Një shtypje e gjatë dhe të tre grilat hapen (ose mbyllen ose ndalojnë).
  • Presion i dyfishtë: grilat shkojnë në pozicionin "vrima".

Siç mund të shihet në foto, unë gjithashtu integrova një sensor të temperaturës dhe dritës.

Tani gjithçka në një bazë të mirë PCB dhe mjeshtërisht në një kuti.

Hapi 5: Thirrni një stafetë me një komandë

Isshtë e dobishme nëse keni nevojë vetëm për një komandë për të aktivizuar ose çaktivizuar një stafetë. Më poshtë është një funksion që mund ta bëjë këtë (me lowbyte dhe highbyte).

/ * skica nga Laurens Korste për Arduino (ESP/NodeMCU) me relaysboard I2C * Por bordet e tjera do të bëjnë gjithashtu * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi com 4 stafetë të mundshëm. Në këtë skicë bashkohen vetëm dy PCB // PCB dhe reletë në mënyrë që të mund të thirren me një komandë const byte PutOn = 0xFF; // komanda për të ndezur const byte PutOff = 0x00; // komando për të fikur fjalë konstante Relay1bord1 = 0x1001; // ju mund t'i shansoni emrat sipas shembullit Relay1 fjala konstatuese Relay2bord1 = 0x1002; // ju mund t'i jepni rasteve emrave sipas shembullit Relay2 konstatoj Fjala Relay3bord1 = 0x1003; // ju mund t'i jepni emrat sipas shembullit Relay3 fjalë konstante Relay4bord1 = 0x1004; // ju mund t'i shansoni emrat sipas shembullit Fjala konstante Relay4 Relay1bord2 = 0x1101; // ju mund t'i shansoni emrat sipas shembullit Relay5 const w ord Rele2bord2 = 0x1102; // ju mund t'i shansoni emrat me shembullin Relay6 fjala konstante Relay3bord2 = 0x1103; // ju mund t'i shansoni emrat me shembullin Relay7 fjala konstante Relay4bord2 = 0x1104; // ju mund t'i shansoni emrat me shembullin Relay8 fjala konstante Relay1bord3 = 0x1201; // ju mund t'i shansoni emrat me shembullin Relay9 fjala konstante Relay2bord4 = 0x1302; // ju mund t'i shansoni emrat me shembullin Relay14 void setup () {Serial.begin (115200); // fillo serialin për debug (9600 për UNO) Wire.begin (D1, D2); // bashkojeni autobusit i2c me SDA = D1 dhe SCL = D2 të NodeMCU nuk ka nevojë për UNO} loop void () {// për të ndërruar stafetën 4 në PCB 2 në RelayActie (Relay4bord2, PutOn); vonesa (1000); // për të kaluar rele 4 në PCB 2 off RelayActie (Relay4bord2, PutOff); vonesa (1000); } void RelayActie (fjalë Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (Stafetë)); Wire.write (OnOrOff); Wire.endTransmission (); }

Recommended: