Daftar Isi:
- Langkah 1: Wirering
- Langkah 2: Contoh Kode Sederhana:
- Langkah 3: Empat Kode Tes Relay
- Langkah 4: Proyek Saya
- Langkah 5: Panggil Relay Dengan Satu Perintah
Video: Relay I2C Bertemu Arduino IDE: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Saya memesan relayboard yang bagus tetapi tidak ada instruksi ArduinoIDE, hanya Raspberry Pi e.o. Saya mencari tahu cara menggunakannya dengan Arduino dan ingin membagikannya sehingga Anda dapat menghemat waktu itu.
Contoh RaspberryPi asli:
wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099
Hal yang menyenangkan adalah Anda dapat menumpuk hingga 4 papan. Jadi Anda bisa menggunakan maks. 4 x 4 = 16 relay pada satu bus I2C.
Ada juga beberapa kontra:
- terminal kecil, tidak muat 1 mm2 kawat
- Anda tidak dapat mengubah kabel konektor bawah saat ditumpuk bersama-sama
Tapi papan masih berguna.
Langkah 1: Wirering
Dalam gambar Anda dapat melihat wirering.
52Pi membutuhkan 5V (untuk relai) dan 3.3V (chip I2C).
Jadi 5 kabel yang dibutuhkan:
- GND ke GND
- 5 V hingga 5 V
- 3,3 V hingga 3,3 V
- SLA ke SLA
- SCL ke SCL
Jika Anda menggunakan Arduino UNO atau 5 V lainnya, waspadai maksimum 3, 6 V dari pengontrol I2C! Gunakan resistor atau yang lain untuk menurunkan 5 V dari PIN Arduino!
Langkah 2: Contoh Kode Sederhana:
/* Contoh Arduino IDE (ESP) untuk relaisboard I2C.
* Oleh Laurens Korste www.boktorrobotica.nl * gratis untuk digunakan. */ #include // untuk komunikasi I2C void setup() { // aturan ini bukan untuk UNO atau papan dengan pin I2C khusus Wire.begin(D1, D2); // bergabung dengan bus i2c dengan SDA=D1 dan SCL=D2 untuk NodeMCU } void loop() { Wire.beginTransmission(0x10);/* mulai mentransmisikan ke alamat I2C 10 (untuk mengubah juga ke 11, 12 atau 13) */ Wire.tulis(0x01); /* pilihan relais 1 (dari 4) di papan 10 (juga 0x02, 0x03, 0x04) */ Wire.write(0xFF); /* atur relais 1 di papan 10 ke ON. semua angka > 0 akan melakukannya */ Wire.endTransmission(); /* hentikan transmisi */ delay(3000); Wire.beginTransmission (0x10); /* */ Wire.write(0x01); Kawat.tulis (0x00); /* set relais 1 pada board 10 ke OFF */ Wire.endTransmission(); /* hentikan transmisi */ delay(3000); }
Langkah 3: Empat Kode Tes Relay
/* sketsa oleh Laurens Korste untuk Arduino (ESP / NodeMCU)
* Tetapi papan lain akan melakukan juga * www.boktorrobotica.nl * Dalam skeych ini, 4 relai akan diaktifkan dan dinonaktifkan */ #include // untuk komunikasi I2C void setup() { Serial.begin(115200); // memulai serial untuk debug (9600 untuk UNO) Wire.begin(D1, D2); // bergabung dengan bus i2c dengan SDA=D1 dan SCL=D2 dari NodeMCU tidak perlu UNO } void loop() { for (int i=1; i<=4; i++){ Wire.beginTransmission(0x10); // mulai dengan alamat perangkat Wire.write(i); // pilih relais Wire.write(0xFF); // kirim kode "on" FF (setiap hitungan dari 01 hingga FF akan berhasil) Wire.endTransmission(); // hentikan transmisi Serial.write(i); Serial.println("an"); penundaan (1000); Wire.beginTransmission (0x10); // mulai dengan alamat perangkat Wire.write(i); Kawat.tulis (0x00); // Kirim kode "mati" Wire.endTransmission(); // hentikan transmisi Serial.write(i); Serial.println(" ut "); penundaan (1000); } }
Langkah 4: Proyek Saya
Saya telah menulis kode untuk mengoperasikan 3 daun jendela saya. Ini dapat dilakukan dengan sakelar tetapi juga dengan aplikasi BLYNK, Lihat gambar.
- Satu penekanan singkat akan mulai menggerakkan satu rana (atau menghentikannya saat sedang bergerak).
- Satu tekan lama dan ketiga daun jendela terbuka (atau menutup atau berhenti).
- Tekanan ganda: daun jendela masuk ke posisi "lubang".
Seperti yang terlihat pada gambar, saya juga mengintegrasikan sensor suhu dan cahaya.
Sekarang semuanya pada PCB dasar yang baik dan rapi dalam sebuah kotak.
Langkah 5: Panggil Relay Dengan Satu Perintah
Berguna jika Anda hanya membutuhkan satu perintah untuk mengaktifkan atau menonaktifkan relai. Di bawah ini adalah fungsi yang dapat melakukan ini (dengan lowbyte dan highbyte).
/* sketsa oleh Laurens Korste untuk Arduino (ESP / NodeMCU) dengan papan relai I2C * Tetapi papan lain juga akan melakukannya * href= https://www.boktorrobotica.nl; www.boktorrobotica.nl * https://wiki.52pi.com/index.php/DockerPi_4_Channel_Relay_SKU:_EP-0099; www.boktorrobotica.nl * Dalam sketsa ini relai akan diaktifkan dengan satu panggilan; *// #include // untuk komunikasi I2C // Deklarasi relai. 4 PCB Per PCB 4 relai mungkin. Dalam sketsa ini hanya dua PCB // PCB dan relai digabungkan sehingga dapat dipanggil dengan satu perintah const byte PutOn=0xFF; //perintah untuk menyalakan const byte PutOff=0x00; //perintah untuk mematikan const kata Relay1bord1=0x1001; //Anda dapat mengubah nama dengan contoh Relay1 const kata Relay2bord1=0x1002; //Anda dapat mengubah nama dengan contoh Relay2 const kata Relay3bord1=0x1003; //Anda dapat mengubah nama dengan contoh Relay3 const kata Relay4bord1=0x1004; //Anda dapat mengubah nama dengan contoh Relay4 const kata Relay1bord2=0x1101; //Anda dapat mengubah nama dengan contoh Relay5 const w ord Relay2bord2=0x1102; //Anda dapat memilih nama dengan contoh Relay6 const word Relay3bord2=0x1103; //Anda dapat memilih nama dengan contoh Relay7 const word Relay4bord2=0x1104; //Anda dapat menentukan nama dengan contoh Relay8 const word Relay1bord3=0x1201; //anda dapat memilih nama dengan contoh Relay9 const word Relay2bord4=0x1302; //anda dapat memilih nama dengan contoh Relay14 void setup() { Serial.begin(115200); // memulai serial untuk debug (9600 untuk UNO) Wire.begin(D1, D2); // bergabung dengan bus i2c dengan SDA=D1 dan SCL=D2 dari NodeMCU tidak perlu UNO } void loop() { // untuk mengganti relay 4 pada PCB 2 pada RelayActie(Relay4bord2, PutOn); penundaan (1000); // untuk mematikan relai 4 pada PCB 2 RelayActie(Relay4bord2, PutOff); penundaan (1000); } void RelayActie(Relay kata, byte OnOrOff){ Wire.beginTransmission (highByte(Relay)); Wire.write (lowByte(Relay)); Wire.write (OnOrOff); Kawat.endTransmisi(); }
Direkomendasikan:
Saklar Relay Arduino Uno RFID, Dengan Tampilan I2C: 4 Langkah
Switch Relay Arduino Uno RFID, Dengan Tampilan I2C: Halo, ini adalah proyek pertama saya, nama saya Oskar dan saya berusia 13 tahun. Proyek ini bekerja dengan tampilan I2C, bukan yang normal
Tandentelefoon - Kan Je Horen Bertemu Je Tanden? (Belanda/Belanda): 8 Langkah
Tandentelefoon - Kan Je Horen Bertemu Je Tanden? (Nederlands/Belanda): *-* Instruksi ini dalam bahasa Belanda. Silakan klik di sini untuk versi bahasa Inggris,*-* Deze Instructable dalam bahasa Belanda. Klik hier voor de Engelse versie.Horen met je tanden, apakah itu fiksi ilmiah? Nee hoor, ketemu deze zelfgemaakte 'tandenttelefoon' k
Flappy Bird Bertemu Arduino En Ledgrid: 5 Langkah
Flappy Bird Bertemu Arduino En Ledgrid: Altijd al zelf een game willen ontwerpen? Check dan zeker deze Instructable.In opdracht van het vak Interactieontwikkeling hebben wij bertemu een team van vier een simpele game ontworpen. Het enige dat je hiervoor nodig hebt is een Arduino, een ult
Tripod Bertemu Logitech Webcam: 7 Langkah
Tripod Bertemu Logitech Webcam: Saya ingin menggunakan Logitech QuickCam Messenger saya untuk merekam film petunjuk di meja kerja pemodelan. Namun, saya terkejut menemukan bahwa Logitech QuickCam Messenger, atau Logitech QuickCam Communicate STX saya, webcam dapat dipasang di
Papan 3D Bertemu Eagle3D: 4 Langkah
3D Board Met Eagle3D: Ini adalah versi bahasa Belanda dari instruksi ini. Dengan kaki yang dapat diinstruksikan, Anda bertemu dengan behulp van Eagle, Eagle3D dan POV-Ray een 3D board maakt