Mündəricat:
- Addım 1: tel bağlama
- Addım 2: Sadə Kod Nümunəsi:
- Addım 3: Dörd Relay Test Kodu
- Addım 4: Layihəm
- Addım 5: Bir Komanda ilə Bir Röle çağırın
Video: Arduino IDE ilə tanış olan I2C Relay: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Gözəl bir relayboard sifariş verirəm, amma ArduinoIDE təlimatı yox idi, sadəcə Raspberry Pi e.o. Arduino ilə necə istifadə edəcəyimi öyrənirəm və o vaxta qənaət etmək üçün paylaşmaq istəyirəm.
Orijinal RaspberryPi nümunəsi:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Yaxşı bir şey, 4 lövhəyə qədər yığa bilərsiniz. Beləliklə, max istifadə edə bilərsiniz. 4 x 4 = 16 röle bir I2C avtobusunda.
Bəzi mənfi cəhətləri də var:
- kiçik terminallar, 1 mm2 telə uyğun gəlmir
- alt konnektorların tellərini bir yerə yığdıqda dəyişdirə bilməzsiniz
Ancaq yenə də lazımlı lövhələr.
Addım 1: tel bağlama
Şəkillərdə süzgəcləri görə bilərsiniz.
52Pi həm 5V (röle üçün) en 3.3V (I2C çipi) lazımdır.
Buna görə 5 tel lazımdır:
- GND - GND
- 5 V -dan 5 V -a qədər
- 3.3 V -dan 3.3 V -ə qədər
- SLA -dan SLA -ya
- SCL -dən SCL -ə
Bir Arduino UNO və ya digər 5 V istifadə edirsinizsə, I2C nəzarətçisindən max 3, 6 V -a sahib olun! Arduino PIN -lərindən 5 V -u aşağı salmaq üçün rezistorlardan istifadə edin!
Addım 2: Sadə Kod Nümunəsi:
/* I2C relaisboard üçün Arduino IDE (ESP) nümunəsi.
* Laurens Korste tərəfindən www.boktorrobotica.nl * istifadə üçün pulsuzdur. */ #include // I2C rabitə boşluğu qurulması üçün () {// bu qayda UNO və ya xüsusi I2C pinləri olan Wire.begin (D1, D2) olan lövhələr üçün deyil; // NodeMCU üçün SDA = D1 və SCL = D2 ilə i2c avtobusuna qoşulun} boşluq döngüsü () {Wire.beginTransmission (0x10);/ * I2C ünvan 10 -a ötürülməyə başlayın (11, 12 və ya 13 olaraq da dəyişmək üçün) */ Tel.write (0x01); / * 10 -cu gəmidə 1 (4 -dən) seçim relayı (həmçinin 0x02, 0x03, 0x04) */ Wire.write (0xFF); /* 10 -cu gəmidə relais 1 -i ON vəziyyətinə qoyun. bütün nömrələr> 0 bunu edəcək */ Wire.endTransmission (); / * ötürməni dayandır */ gecikmə (3000); Wire.beginTransmission (0x10); / * */ Wire.write (0x01); Wire.write (0x00); / * 10 -cu gəmidə relais 1 -i OFF olaraq təyin edin */ Wire.endTransmission (); / * ötürməni dayandır */ gecikmə (3000); }
Addım 3: Dörd Relay Test Kodu
/* Arduino üçün Laurens Korste tərəfindən eskiz (ESP / NodeMCU)
* Ancaq digər lövhələr də edəcək * www.boktorrobotica.nl * Bu skeychdə 4 rölesi deaktiv edilmiş vəziyyətdə aktivləşdiriləcək */ #include // I2C rabitə boşluğu qurulması üçün () {Serial.begin (115200); // debug üçün seriala başlayın (UNO üçün 9600) Wire.begin (D1, D2); // i2c avtobusuna SDA = D1 və SCL = D2 ilə NodeMCU ilə qoşulun UNO} boşluq döngüsü () {for (int i = 1; i <= 4; i ++) {Wire.beginTransmission (0x10); // cihaz ünvanı Wire.write ilə başlayın (i); // Wire.write relais seçimi (0xFF); // "on" kodunu FF göndərin (01 -dən FF -ə qədər olan hər say bunu edəcək) Wire.endTransmission (); // Serial.write (i) ötürülməsini dayandırın; Serial.println ("aan"); gecikmə (1000); Wire.beginTransmission (0x10); // cihaz ünvanı Wire.write ilə başlayın (i); Wire.write (0x00); // "off" kodunu göndərin Wire.endTransmission (); // Serial.write (i) ötürülməsini dayandırın; Serial.println ("uit"); gecikmə (1000); }}
Addım 4: Layihəm
3 kepenkimi idarə etmək üçün bir kod yazdım. Bu açarlarla edilə bilər, həm də BLYNK tətbiqi ilə, Şəkilə baxın.
- Bir qısa basma bir deklanşörü hərəkət etməyə başlayacaq (və ya hərəkət edərkən dayandırın).
- Bir uzun basma və hər üç panjur açılır (və ya bağlanır və ya dayanır).
- İkiqat təzyiq: panjurlar "deşiklər" mövqeyinə keçir.
Şəkildə göründüyü kimi bir temperatur və işıq sensoru da birləşdirmişəm.
İndi hər şey yaxşı bir PCB üzərində və səliqəli bir qutuda.
Addım 5: Bir Komanda ilə Bir Röle çağırın
Bir röleyi aktivləşdirmək və ya söndürmək üçün yalnız bir əmrə ehtiyacınız varsa faydalıdır. Aşağıda bunu edə biləcək bir funksiya var (lowbyte və highbyte ilə).
/ * I2C relayboard ilə Arduino üçün Laurens Korste (ESP/NodeMCU) eskizi * Ancaq digər lövhələr də * href = https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU: _EP-0099; www.boktorrobotica.nl * Bu eskizdə röle bir zənglə aktivləşdiriləcək; * // #include // I2C ünsiyyəti üçün // Relays bəyannaməsi.4 PCB başına 4 PCB 4 röle mümkündür. Bu eskizdə yalnız iki PCB // PCB və röle birləşdirilir ki, onları bir əmr ilə çağırsın const bayt PutOn = 0xFF; // const baytını açmaq üçün əmr PutOff = 0x00; // komanda söndürmək üçün const word Relay1bord1 = 0x1001; // adları nümunə ilə təsadüfi edə bilərsiniz Relay1 const sözü Relay2bord1 = 0x1002; // adları nümunə ilə təsadüf edə bilərsiniz Relay2 const sözü Relay3bord1 = 0x1003; // nümunələri Relay3 const sözü ilə təsadüf edə bilərsiniz Relay4bord1 = 0x1004; // nümunələri ilə təsadüf edə bilərsiniz Relay4 const word Relay1bord2 = 0x1101; // nümunələri Relay5 const w ilə təsadüf edə bilərsiniz ord Relay2bord2 = 0x1102; // nümunələri ilə təsadüf edə bilərsiniz Relay6 const word Relay3bord2 = 0x1103; // nümunələri ilə təsadüf edə bilərsiniz Relay7 const word Relay4bord2 = 0x1104; // nümunələri ilə təsadüf edə bilərsiniz Relay8 const word Relay1bord3 = 0x1201; // nümunələri ilə təsadüf edə bilərsiniz Relay9 const word Relay2bord4 = 0x1302; // Relay14 void setup () {Serial.begin (115200) nümunəsi ilə adları təsadüf edə bilərsiniz. // debug üçün seriala başlayın (UNO üçün 9600) Wire.begin (D1, D2); // nodeMCU -nun SDA = D1 və SCL = D2 ilə i2c avtobusuna qoşulun, UNO} boşluq döngəsinə ehtiyac yoxdur () {// RelayActie (Relay4bord2, PutOn) üzərindəki PCB 2 -də 4 röleyi dəyişdirmək üçün; gecikmə (1000); // PCB 2 -də 4 rölesini RelayActie (Relay4bord2, PutOff) söndürmək; gecikmə (1000); } boş RelayActie (söz Relay, bayt OnOrOff) {Wire.beginTransmission (highByte (Relay)); Wire.write (lowByte (Relay)); Wire.write (OnOrOff); Wire.endTransmission (); }
Tövsiyə:
"Professional ILC8038 Function Generator DIY Kit" ilə tanış olmaq: 5 addım
"Professional ILC8038 Fonksiyon Generator DIY Kiti" ilə tanış olmaq: Sevimli kiçik bir funksiya generator dəsti ilə qarşılaşdığımda bəzi yeni elektronika layihələrinə hazırlaşırdım. "Professional ILC8038 Function Generator Sine Triangle Square Wave DIY Kit" olaraq təqdim olunur və bir çox satıcıdan əldə edilə bilər
Twinky -nin ən şirin Arduino Robotu ilə tanış olun: 7 addım (şəkillərlə)
Twinky -nin ən şirin Arduino Robotu ilə tanış olun: Salam, bu təlimatda sizə öz "Jibo" nu necə yaratdığımı öyrədəcəyəm. amma "Twinky" deyərək bunu aydınlaşdırmaq istəyirəm … BU KOPYA DEYİL! İKİ TƏRƏFDƏ TÜRK ETMİŞDİM VƏ SONRA BU KİMİN BİR ŞEYİN MEVCUT OLDUĞUNU ANLAŞDIM: c
Led Reactie Spel Lcd Keypad Shield ilə tanış oldu: 4 addım
Led Reactie Spel Lcd Klaviatura Qalxanı ilə tanış oldu: məktəb nə vaxt arduino ilə tanış oldu? Klinkt leuk! Danışıqlar ən yaxşı fikirdir. Hər hansı bir problemi həll etmək üçün heç bir problem yoxdur. İnternetdən istifadə etmək çox çətin olsa da
Flappy Bird Arduino En Ledgrid ilə tanış oldu: 5 addım
Flappy Bird Arduino En Ledgrid ilə Görüşdü: Oyun başa çatacaqmı? Instructable.In yoxlamaq üçün Interactieontwikkeling hebben və ya ontworpen sadə oyun komandası ilə tanış olun. Bu, Arduino üçün ən yaxşı məlumatdır
Codey Rocky ilə tanış olun!: 4 addım
Codey Rocky ilə tanış ol! Sevirəm. Əminəm ki, bəyənəcəksiniz, çünki deyə biləcəyiniz işlərin heç bir həddi olmadığını deyə bilərəm. :) Yazımda