Innholdsfortegnelse:
- Trinn 1: Kabling
- Trinn 2: Eksempel på enkel kode:
- Trinn 3: Testkode med fire reléer
- Trinn 4: Mitt prosjekt
- Trinn 5: Ring et stafett med en kommando
Video: I2C relé møtte Arduino IDE: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
Jeg bestiller et fint relayboard, men det var ingen ArduinoIDE -instruksjon, bare Raspberry Pi e.o. Jeg finner ut hvordan du bruker den med Arduino og vil dele den slik at du kan spare tid.
Opprinnelig RaspberryPi -eksempel:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Det fine er at du kan stable opptil 4 brett. Så du kan bruke maks. 4 x 4 = 16 reléer på en I2C -buss.
Det er også noen ulemper:
- små terminaler, passer ikke 1 mm2 ledning
- du kan ikke endre ledningene til bunnkontaktene når de er stablet sammen
Men fremdeles praktisk brett.
Trinn 1: Kabling
På bildene kan du se kablingen.
52Pi trenger både 5V (for reléer) og 3.3V (I2C -chip).
Så 5 ledninger trengs:
- GND til GND
- 5 V til 5 V
- 3,3 V til 3,3 V
- SLA til SLA
- SCL til SCL
Hvis du bruker en Arduino UNO eller annen 5 V, må du passe på maks 3, 6 V fra I2C -kontrolleren! Bruk motstander eller annet for å senke 5 V ut av Arduino PIN -koder!
Trinn 2: Eksempel på enkel kode:
/* Arduino IDE (ESP) eksempel for I2C relaisboard.
* Av Laurens Korste www.boktorrobotica.nl * gratis å bruke. */ #include // for I2C kommunikasjon tomrom oppsett () {// denne regelen ikke for UNO eller brett med dedikerte I2C pins Wire.begin (D1, D2); // bli med i2c -buss med SDA = D1 og SCL = D2 for NodeMCU} void loop () {Wire.beginTransmission (0x10);/ * begynne å overføre til I2C adresse 10 (for å også endre til 11, 12 eller 13) */ Wire.skrive (0x01); / * choice relais 1 (av 4) om bord 10 (også 0x02, 0x03, 0x04) */ Wire.write (0xFF); /* sett reléer 1 om bord 10 til ON. alle tall> 0 gjør det */ Wire.endTransmission (); / * slutte å overføre */ forsinkelse (3000); Wire.beginTransmission (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * sett reléer 1 om bord 10 til AV */ Wire.endTransmission (); / * slutte å overføre */ forsinkelse (3000); }
Trinn 3: Testkode med fire reléer
/* skisse av Laurens Korste for Arduino (ESP / NodeMCU)
* Men andre tavler vil også gjøre * www.boktorrobotica.nl * I denne tasten vil alle de 4 reléene bli aktivert og deaktivert */ #include // for I2C -kommunikasjon, ugyldig oppsett () {Serial.begin (115200); // begynne seriell for feilsøking (9600 for UNO) Wire.begin (D1, D2); // bli med i2c -buss med SDA = D1 og SCL = D2 av NodeMCU ikke behov for UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // begynn med enhetsadressen Wire.write (i); // velge relaene Wire.write (0xFF); // send "på" koden FF (hver telling fra 01 til FF vil gjøre) Wire.endTransmission (); // slutte å overføre Serial.write (i); Serial.println ("aan"); forsinkelse (1000); Wire.beginTransmission (0x10); // begynn med enhetsadressen Wire.write (i); Wire.write (0x00); // Send "av" -koden Wire.endTransmission (); // slutte å overføre Serial.write (i); Serial.println ("uit"); forsinkelse (1000); }}
Trinn 4: Mitt prosjekt
Jeg har skrevet en kode for å betjene mine tre skodder. Dette kan gjøres med brytere, men også med BLYNK -appen, se bilde.
- Et kort trykk vil begynne å flytte en lukker (eller stoppe den når den beveger seg).
- Ett langt trykk og alle tre skodder åpnes (eller lukkes eller stoppes).
- Dobbelt trykk: skodder går til "hull" posisjon.
Som det kan sees på bildet, integrerte jeg også en temperatur- og lyssensor.
Nå alt på en god base PCB og pent i en eske.
Trinn 5: Ring et stafett med en kommando
Det er nyttig hvis du bare trenger en kommando for å aktivere eller deaktivere et relé. Nedenfor er en funksjon som kan gjøre dette (med lowbyte og highbyte).
/ * skisse av Laurens Korste for Arduino (ESP/NodeMCU) med I2C relébord * Men andre tavler vil også gjøre * 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 denne skissen vil reléet aktiveres med ett anrop; * // #include // for I2C-kommunikasjon // Relay declaration. 4 PCB's Per PCB 4 reléer mulig. I denne skissen er bare to PCB // PCB og releer slått sammen slik at de kan kalles med en kommando const byte PutOn = 0xFF; // kommando for å slå på const byte PutOff = 0x00; // kommando for å slå av const word Relay1bord1 = 0x1001; // du kan sjanse navnene med eksempel Relay1 const word Relay2bord1 = 0x1002; // du kan sjanse navnene etter eksempel Relay2 const word Relay3bord1 = 0x1003; // du kan sjanse navnene med eksempel Relay3 const word Relay4bord1 = 0x1004; // du kan tilfeldigvis navne etter eksempel Relay4 const word Relay1bord2 = 0x1101; // du kan sjanse navnene med eksempel Relay5 const w ord Relay2bord2 = 0x1102; // du kan tilfeldigvis navne med eksempel Relay6 const word Relay3bord2 = 0x1103; // du kan tilfeldigvis navne med eksempel Relay7 const word Relay4bord2 = 0x1104; // du kan tilfeldigvis navne med eksempel Relay8 const word Relay1bord3 = 0x1201; // du kan tilfeldigvis navne med eksempel Relay9 const word Relay2bord4 = 0x1302; // du kan tilfeldigvis navne ved eksempel Relay14 void setup () {Serial.begin (115200); // begynne seriell for feilsøking (9600 for UNO) Wire.begin (D1, D2); // bli med i2c -buss med SDA = D1 og SCL = D2 av NodeMCU ikke behov for UNO} void loop () {// for å bytte relé 4 på PCB 2 på RelayActie (Relay4bord2, PutOn); forsinkelse (1000); // for å slå relé 4 på PCB 2 av RelayActie (Relay4bord2, PutOff); forsinkelse (1000); } void RelayActie (word Relay, byte OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (relé)); Wire.write (OnOrOff); Wire.endTransmission (); }
Anbefalt:
I2C / IIC LCD -skjerm - Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: 5 trinn
I2C / IIC LCD -skjerm | Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: Hei folkens siden en vanlig SPI LCD 1602 har for mange ledninger å koble til, så det er veldig vanskelig å koble den til arduino, men det er en modul tilgjengelig på markedet som kan konverter SPI -skjerm til IIC -skjerm, så da trenger du bare å koble til 4 ledninger
I2C / IIC LCD -skjerm - Konverter en SPI LCD til I2C LCD -skjermen: 5 trinn
I2C / IIC LCD -skjerm | Konverter en SPI LCD til I2C LCD -skjermen: bruk av spi lcd -skjerm trenger for mange tilkoblinger å gjøre, noe som er veldig vanskelig å gjøre, så jeg fant en modul som kan konvertere i2c lcd til spi lcd, så la oss komme i gang
Komme i gang med Esp 8266 Esp-01 Med Arduino IDE - Installere Esp -kort i Arduino Ide og Programmering Esp: 4 trinn
Komme i gang med Esp 8266 Esp-01 Med Arduino IDE | Installere Esp Boards i Arduino Ide og Programmering Esp: I denne instruksjonene skal vi lære hvordan du installerer esp8266 boards i Arduino IDE og hvordan du programmerer esp-01 og laster opp kode i den. Siden esp boards er så populære, så jeg tenkte på å rette opp en instruks for dette og de fleste mennesker står overfor problemer
I2C LCD på NodeMCU V2 Med Arduino IDE: 3 trinn
I2C LCD på NodeMCU V2 Med Arduino IDE: I denne raske instruksjonen viser jeg deg hvordan du lunsjer LCD med I2C Serial Adapter på NodeMCU v2 ved hjelp av ArduinoIDE og tilgjengelige biblioteker
Tegn LCD I2c -adapter (eksempel på I2c -tilkobling): 12 trinn (med bilder)
Character LCD I2c Adapter (I2c Connection Eksempel): Jeg gjør et tilkoblingsskjema for en tegnvisning i2c adapter. Sjekk oppdateringene på nettstedet mitt. Nå legger jeg til et system for kabelforbindelse for å bruke det originale biblioteket, ikke mitt forked.LiquidCrystal Arduino -bibliotek for karakter LCD -skjermer, gaffelprosjekt