Spisu treści:
- Krok 1: Okablowanie
- Krok 2: Prosty przykład kodu:
- Krok 3: Kod testu czterech przekaźników
- Krok 4: Mój projekt
- Krok 5: Wywołaj przekaźnik jednym poleceniem
Wideo: Przekaźnik I2C z Arduino IDE: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
Zamawiam ładną płytkę przekaźnikową, ale nie było instrukcji ArduinoIDE, tylko Raspberry Pi e.o. Dowiaduję się, jak go używać z Arduino i chcę się nim podzielić, abyś mógł zaoszczędzić ten czas.
Oryginalny przykład RaspberryPi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Fajną rzeczą jest to, że możesz ułożyć do 4 plansz. Możesz więc użyć max. 4 x 4 = 16 przekaźników na jednej magistrali I2C.
Istnieją również pewne wady:
- małe końcówki, nie pasują do przewodu 1 mm2
- nie można zmienić okablowania dolnych złączy, gdy są ułożone razem
Ale wciąż poręczna deska.
Krok 1: Okablowanie
Na zdjęciach widać okablowanie.
52Pi potrzebuje zarówno 5V (dla przekaźnika), jak i 3.3V (układ I2C).
Potrzebne są więc 5 przewodów:
- GND do GND
- 5 V do 5 V
- 3,3 V do 3,3 V
- SLA do SLA
- SCL do SCL
Jeśli używasz Arduino UNO lub innego 5 V, uważaj na maks. 3,6 V z kontrolera I2C! Użyj rezystorów lub obniż napięcie 5 V z pinów Arduino!
Krok 2: Prosty przykład kodu:
/* Przykład Arduino IDE (ESP) dla przekaźnika I2C.
* By Laurens Korste www.boktorrobotica.nl * bezpłatnie. */ #include // dla komunikacji I2C void setup() { // ta reguła nie dotyczy UNO lub płyt z dedykowanymi pinami I2C Wire.begin(D1, D2); // dołącz do magistrali i2c z SDA=D1 i SCL=D2 dla NodeMCU } void loop() { Wire.beginTransmission(0x10);/* rozpocznij transmisję na adres I2C 10 (aby zmienić również na 11, 12 lub 13) */ Wire.zapis (0x01); /* wybór przekaźnika 1 (z 4) na płytce 10 (również 0x02, 0x03, 0x04) */ Wire.write(0xFF); /* ustaw przekaźnik 1 na płycie 10 na ON. zrobią to wszystkie liczby > 0 */ Wire.endTransmission(); /* zatrzymaj transmisję */ delay(3000); Wire.beginTransmission(0x10); /* */ Wire.write(0x01); Wire.write(0x00); /* ustaw przekaźnik 1 na płycie 10 na OFF */ Wire.endTransmission(); /* zatrzymaj transmisję */ delay(3000); }
Krok 3: Kod testu czterech przekaźników
/* szkic Laurensa Korste dla Arduino (ESP / NodeMCU)
* Ale inne płyty również to zrobią * www.boktorrobotica.nl * W tym skeych al 4 przekaźniki zostaną aktywowane i dezaktywowane */ #include // dla komunikacji I2C void setup() { Serial.begin(115200); // rozpocznij serial do debugowania (9600 dla UNO) Wire.begin(D1, D2); // dołącz do magistrali i2c z SDA=D1 i SCL=D2 NodeMCU nie ma potrzeby używania UNO } void loop() { for (int i=1; i<=4; i++){ Wire.beginTransmission(0x10); // zacznij od adresu urządzenia Wire.write(i); // wybór relais Wire.write(0xFF); // wyślij kod "on" FF (wystarczy każde zliczenie od 01 do FF) Wire.endTransmission(); // zatrzymaj przesyłanie Serial.write(i); Serial.println("aan"); opóźnienie (1000); Wire.beginTransmission(0x10); // zacznij od adresu urządzenia Wire.write(i); Wire.write(0x00); // Wyślij kod "off" Wire.endTransmission(); // zatrzymaj przesyłanie Serial.write(i); Serial.println("uit"); opóźnienie (1000); } }
Krok 4: Mój projekt
Napisałem kod do obsługi moich 3 rolet. Można to zrobić za pomocą przełączników, ale także za pomocą aplikacji BLYNK, patrz zdjęcie.
- Jedno krótkie naciśnięcie uruchomi jedną migawkę (lub zatrzyma ją, gdy się porusza).
- Jedno długie naciśnięcie i wszystkie trzy żaluzje otwierają się (lub zamykają lub zatrzymują się).
- Podwójny nacisk: żaluzje przechodzą do pozycji „otwory”.
Jak widać na zdjęciu zintegrowałem też czujnik temperatury i światła.
Teraz wszystko na dobrej płytce bazowej i schludnie w pudełku.
Krok 5: Wywołaj przekaźnik jednym poleceniem
Jest to przydatne, gdy potrzebujesz tylko jednego polecenia do aktywacji lub dezaktywacji przekaźnika. Poniżej znajduje się funkcja, która może to zrobić (z lowbyte i highbyte).
/* szkic Laurensa Korste dla Arduino (ESP / NodeMCU) z płytą przekaźnikową I2C * Ale inne płyty również to zrobią * href= https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099;www.boktorrobotica.nl * W tym szkicu przekaźnik zostanie aktywowany jednym wywołaniem; *// #include // dla komunikacji I2C // Deklaracja przekaźników 4 PCB Możliwe 4 przekaźniki. W tym szkicu tylko dwie PCB // PCB i przekaźniki są połączone tak, że można je wywołać jednym poleceniem const byte PutOn=0xFF;//polecenie włączenia const byte PutOff=0x00;//polecenie wyłączenia const word Relay1bord1=0x1001;//można zmienić losowanie nazw na przykładzie Relay1 const word Relay2bord1=0x1002;//można zmienić losowanie nazw na przykładzie Relay2 const word Relay3bord1=0x1003;//można zmienić losowanie nazw na przykładzie Relay3 const word Relay4bord1=0x1004;//możesz zmienić losowanie nazw na przykładzie Relay4 const word Relay1bord2=0x1101;//możesz zmienić losowanie nazw na przykładzie Relay5 const w or Relay2bord2=0x1102; //możesz zmienić nazwy na przykład Relay6 const word Relay3bord2=0x1103; //możesz zaryzykować nazwy na przykład Relay7 const word Relay4bord2=0x1104; //możesz zmienić nazwy na przykład Relay8 const word Relay1bord3=0x1201; //możesz zaryzykować nazwy na przykład Relay9 const word Relay2bord4=0x1302; //możesz zaryzykować nazwy na przykład Relay14 void setup() { Serial.begin(115200); // rozpocznij serial do debugowania (9600 dla UNO) Wire.begin(D1, D2); // dołączanie do magistrali i2c z SDA=D1 i SCL=D2 NodeMCU nie ma potrzeby używania UNO } void loop() { // aby przełączyć przekaźnik 4 na PCB 2 na RelayActie(Relay4bord2, PutOn); opóźnienie (1000); // aby wyłączyć przekaźnik 4 na PCB 2 RelayActie(Relay4bord2, PutOff); opóźnienie (1000); } void RelayActie(word Relay, byte OnOrOff){ Wire.beginTransmission (highByte(Relay)); Wire.write (lowByte(Przekaźnik)); Wire.write (OnOrOff); Wire.endTransmission(); }
Zalecana:
Przekaźnik 4-kanałowy: 14 kroków
Przekaźnik 4-kanałowy: --Bhawna Singh, Prerna Gupta, Maninder Bir Singh Gulshan
Automatyka domowa z czujnikiem dotykowym NodeMCU Przekaźnik kontroli temperatury LDR: 16 kroków
Automatyka domowa z przekaźnikiem kontroli temperatury NodeMCU Touch Sensor LDR: W moich poprzednich projektach NodeMCU sterowałem dwoma urządzeniami gospodarstwa domowego z aplikacji Blynk. Otrzymałem wiele komentarzy i wiadomości, aby uaktualnić projekt za pomocą sterowania ręcznego i dodać więcej funkcji.Zaprojektowałem więc tę skrzynkę rozszerzającą Smart Home.W tym IoT
Jak kontrolować przekaźnik za pomocą Arduino: 7 kroków
Jak kontrolować przekaźnik za pomocą Arduino: Przekaźniki to najlepszy sposób na sterowanie urządzeniami, ponieważ mają mniejszy opór między stykami i mogą być używane w wielu przypadkach, takich jak włączanie i wyłączanie urządzeń AC (prądu przemiennego), takich jak światła, telewizory, lampy i wiele innych urządzeń. To jest
CSR1011 - Przekaźnik wyzwalający: 5 kroków
CSR1011 - Przekaźnik wyzwalający: CSR1011 to jednomodowy układ Bluetooth Smart, a ten samouczek pokazuje, jak uzyskać dostęp do jego GPIO i uruchomić przekaźnik
Przekaźnik budzika Arduino: 6 kroków (ze zdjęciami)
Przekaźnik budzika Arduino: Mam wiele problemów z wstawaniem wcześnie rano, zwłaszcza jeśli ostatniej nocy nie spałem. Zasadniczo ten projekt pozwala na otwarcie przekaźnika w ustawionym czasie za pomocą klawiatury i lcd. Ten przekaźnik może sterować wieloma urządzeniami z włączania