Съдържание:
- Стъпка 1: Окачване
- Стъпка 2: Пример за прост код:
- Стъпка 3: Тестов код с четири релета
- Стъпка 4: Моят проект
- Стъпка 5: Извикайте реле с една команда
Видео: I2C Relay Met Arduino IDE: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Поръчвам хубава релейна дъска, но нямаше инструкция за ArduinoIDE, само Raspberry Pi e.o. Разбирам как да го използвам с Arduino и искам да го споделя, за да спестите това време.
Оригинален пример за RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Хубавото е, че можете да подреждате до 4 дъски. Така че можете да използвате макс. 4 x 4 = 16 релета на една I2C шина.
Има и някои недостатъци:
- малки терминали, не подхождат на 1 mm2 проводник
- не можете да промените окабеляването на долните конектори, когато са подредени заедно
Но все пак удобни дъски.
Стъпка 1: Окачване
На снимките можете да видите окабеляването.
52Pi се нуждае от 5V (за релета) и 3.3V (I2C чип).
Така че са необходими 5 проводника:
- GND към GND
- 5 V до 5 V
- 3.3 V до 3.3 V
- SLA към SLA
- SCL към SCL
Ако използвате Arduino UNO или друго 5 V устройство от максимум 3, 6 V от контролера I2C! Използвайте резистори или намалете 5 V от ПИН кода на Arduino!
Стъпка 2: Пример за прост код:
/* Пример за Arduino IDE (ESP) за I2C relaisboard.
* От Laurens Korste www.boktorrobotica.nl * безплатно за използване. */ #include // за I2C комуникация void setup () {// това правило не е за UNO или платки със специални I2C пинове Wire.begin (D1, D2); // присъединявам се към i2c шина със SDA = D1 и SCL = D2 за NodeMCU} void loop () {Wire.beginTransmission (0x10);/ * започнете предаване към I2C адрес 10 (за промяна също на 11, 12 или 13) */ Wire.write (0x01); / * реле за избор 1 (от 4) на борда 10 (също 0x02, 0x03, 0x04) */ Wire.write (0xFF); /* задайте реле 1 на борда 10 в положение ON. всички номера> 0 ще го направят */ Wire.endTransmission (); / * спиране на предаването */ забавяне (3000); Wire.beginTransmission (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * задайте реле 1 на борда 10 на OFF */ Wire.endTransmission (); / * спиране на предаването */ забавяне (3000); }
Стъпка 3: Тестов код с четири релета
/* скица от Laurens Korste за Arduino (ESP / NodeMCU)
* Но други платки също ще го направят * www.boktorrobotica.nl * В този ключ 4 релета ще бъдат активирани и деактивирани */ #include // за I2C комуникация void setup () {Serial.begin (115200); // започва сериен за отстраняване на грешки (9600 за UNO) Wire.begin (D1, D2); // присъединяване към i2c шина със SDA = D1 и SCL = D2 на NodeMCU няма нужда от UNO} void loop () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // започваме с адреса на устройството Wire.write (i); // избор на relais Wire.write (0xFF); // изпращаме кода "on" FF (всеки брой от 01 до FF ще направи) Wire.endTransmission (); // спиране на предаването на Serial.write (i); Serial.println ("aan"); забавяне (1000); Wire.beginTransmission (0x10); // започваме с адреса на устройството Wire.write (i); Wire.write (0x00); // Изпратете кода „изключен“Wire.endTransmission (); // спиране на предаването на Serial.write (i); Serial.println ("uit"); забавяне (1000); }}
Стъпка 4: Моят проект
Написал съм код за управление на моите 3 капаци. Това може да стане с превключватели, но и с приложението BLYNK, Вижте изображението.
- Едно кратко натискане ще започне да движи един затвор (или да го спре, когато се движи).
- Едно продължително натискане и трите капака се отварят (или затварят или спират).
- Двойно налягане: капаците отиват в положение "дупки".
Както може да се види на снимката, аз също интегрирах сензор за температура и светлина.
Сега всичко на добра базова печатна платка и спретнато в кутия.
Стъпка 5: Извикайте реле с една команда
Полезно е, ако имате нужда само от една команда, за да активирате или деактивирате реле. По -долу е функция, която може да направи това (с нискобайт и високобайт).
/ * скица от Laurens Korste за Arduino (ESP/NodeMCU) с I2C релейно табло * Но други платки също ще го направят * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * В тази скица релето ще се активира с едно повикване; * // #include // за I2C комуникация // Рекламиране на реле. 4 печатни платки на печатна платка Възможни са 4 релета. В тази скица само две печатни платки // печатни платки и релета са обединени, така че да могат да бъдат извикани с една команда const байт PutOn = 0xFF; // команда за включване на const байт PutOff = 0x00; // команда за изключване const дума Relay1bord1 = 0x1001; // можете да правите шансове за имената чрез пример Relay1 const word Relay2bord1 = 0x1002; // можете да поставяте шансове за имената чрез пример Relay2 const word Relay3bord1 = 0x1003; // можете да поставяте шанса за имената чрез пример Relay3 const word Relay4bord1 = 0x1004; // можете да направите шанс за имената чрез пример Relay4 const word Relay1bord2 = 0x1101; // можете да направите шанс за имената чрез пример Relay5 const w ord Relay2bord2 = 0x1102; // можете да случайни имената чрез пример Relay6 const word Relay3bord2 = 0x1103; // можете да случайни имената чрез пример Relay7 const word Relay4bord2 = 0x1104; // можете да случайни имената чрез пример Relay8 const word Relay1bord3 = 0x1201; // можете да случайни имената чрез пример Relay9 const word Relay2bord4 = 0x1302; // можете да случайни имената чрез пример Relay14 void setup () {Serial.begin (115200); // започва сериен за отстраняване на грешки (9600 за UNO) Wire.begin (D1, D2); // присъединяване към i2c шина със SDA = D1 и SCL = D2 на NodeMCU няма нужда от UNO} void loop () {// за превключване на реле 4 на печатна платка 2 на RelayActie (Relay4bord2, PutOn); забавяне (1000); // за изключване на реле 4 на печатна платка 2 RelayActie (Relay4bord2, PutOff); забавяне (1000); } void RelayActie (Word Relay, байт OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (реле)); Wire.write (OnOrOff); Wire.endTransmission (); }
Препоръчано:
I2C / IIC LCD дисплей - Използвайте SPI LCD към I2C LCD дисплея, използвайки SPI към IIC модул с Arduino: 5 стъпки
I2C / IIC LCD дисплей | Използвайте SPI LCD към I2C LCD дисплея Използване на SPI към IIC модул с Arduino: Здравейте момчета, тъй като нормалният SPI LCD 1602 има твърде много кабели за свързване, така че е много трудно да го свържете с arduino, но на пазара има един модул, който може конвертирате SPI дисплея в IIC дисплей, така че тогава трябва да свържете само 4 проводника
I2C / IIC LCD дисплей - Конвертиране на SPI LCD към I2C LCD дисплей: 5 стъпки
I2C / IIC LCD дисплей | Конвертирайте SPI LCD към I2C LCD дисплей: използването на spi lcd дисплей се нуждае от твърде много връзки, което е наистина трудно да се направи, затова намерих модул, който може да преобразува i2c lcd в spi lcd, така че нека започнем
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE - Инсталиране на платки Esp в Arduino Ide и програмиране на Esp: 4 стъпки
Първи стъпки с Esp 8266 Esp-01 с Arduino IDE | Инсталиране на Esp платки в Arduino Ide и програмиране на Esp: В тази инструкция ще научим как да инсталираме esp8266 дъски в Arduino IDE и как да програмираме esp-01 и да качваме код в нея. Тъй като esp дъските са толкова популярни, затова се замислих да поправя инструкции за това и повечето хора се сблъскват с проблем
I2C LCD на NodeMCU V2 с Arduino IDE: 3 стъпки
I2C LCD на NodeMCU V2 с Arduino IDE: В тази бърза инструкция ще ви покажа как да обядвате LCD с I2C сериен адаптер на NodeMCU v2, използвайки ArduinoIDE и наличните библиотеки
Характерен LCD I2c адаптер (Пример за I2c връзка): 12 стъпки (със снимки)
Характерен LCD I2c адаптер (Пример за I2c връзка): Правя схема на свързване за i2c адаптер за показване на символи. Проверете актуализациите на моя сайт. Сега добавям и схема за свързване на кабели, за да използвам оригиналната библиотека, а не моята разклонена. LiquidCrystal Arduino библиотека за персоналните LCD дисплеи, разклонени проекции