Daftar Isi:
- Langkah 1: Bahan dan Alat
- Langkah 2: Siapkan ATTINY85
- Langkah 3: Merakit Sirkuit
- Langkah 4: Pengujian
- Langkah 5: Langkah Selanjutnya
Video: IOT123 - BATU RELAY I2C 2CH: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
BRICKS IOT123 adalah unit modular DIY yang dapat digabungkan dengan BRICKS IOT123 lainnya, untuk menambahkan fungsionalitas ke node atau perangkat yang dapat dikenakan. Mereka didasarkan pada inci persegi, protoboard dua sisi dengan saling berhubungan melalui lubang.
Sejumlah BRICKS ini diharapkan berada di beberapa node (Master MCU - ESP8266 atau ATTINY84) di sebuah situs. MCU tidak memerlukan pengetahuan sebelumnya tentang tujuan sensor atau kebutuhan perangkat lunak. Ini memindai node I2C kemudian meminta dump properti (data sensor) dari setiap budak. BATA ini memasok 5.0V, 3.3V dan jalur AUX lain yang dapat disesuaikan.
BATA RELAY I2C 2CH ini memperluas fungsionalitas BATA I2C KY019, dan memiliki dua properti baca/tulis:
2CH RELAY[0] (benar/salah)
2CH RELAY[1] (benar/salah)
Lubang tembus yang berdekatan dengan ATTINY85 dibiarkan tidak digunakan, untuk mengaktifkan pemrogram pin pogo sementara DIP8 disolder ke PCB. Abstraksi lebih lanjut, mengemas Brick dalam silinder kecil yang dihubungkan ke hub D1M WIFI BLOCK, yang memompa nilai ke server MQTT, sedang dikembangkan.
Langkah 1: Bahan dan Alat
Ada daftar Bill of Material dan Sourcing lengkap.
- 2 Saluran Relay (1)
- ATTINY85 20PU (1)
- 1" protoboard dua sisi (1)
- Header Pria 90º (3P, 3P)
- Header Pria (2P, 2P)
- Jumper Shut (1)
- Kawat pengait (~7)
- Solder dan Besi (1)
Langkah 2: Siapkan ATTINY85
CATATAN: Jika ingin memiliki integrasi Crouton, silakan gunakan perpustakaan dari sini, dan gunakan contoh yang diinstal "attiny_2ch_relay".
AttinyCore dari Boards Manager diperlukan. Bakar bootloader "EEPROM Retained", "8mHZ Internal" (semua konfigurasi ditunjukkan di atas).
Repositori kode dapat ditemukan di sini.
ZIP perpustakaan dapat ditemukan di sini.
Petunjuk untuk "Mengimpor Perpustakaan ZIP" di sini.
Setelah perpustakaan diinstal, Anda dapat membuka contoh "attiny_2ch_relay".
Untuk mengunggah firmware ke ATTINY85, Anda dapat menemukan detail lebih lanjut dalam instruksi ini:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
Terbaik untuk menguji melalui papan tempat memotong roti sebelum melanjutkan.
Jika Anda memiliki SENSOR ASSIMILATE yang ada, pastikan alamat slave berbeda pada kombinasi Host SENSOR/MCU yaitu semua aktor Relay dapat memiliki alamat yang sama selama Anda hanya memiliki satu aktor Relay pada MCU/node.
Langkah 3: Merakit Sirkuit
- Di bagian depan, masukkan komponen ATTINY85 (1), 3P 90deg male header (2)(3), 3P male header (4)(5) dan solder di bagian belakang.
- Di bagian belakang, lacak kabel kuning dari KUNING1 ke KUNING2 dan solder.
- Di bagian belakang, lacak kabel oranye dari ORANGE1 ke ORANGE2 dan solder.
- Di bagian belakang, lacak kabel biru dari BIRU1 ke BIRU2 dan solder.
- Di bagian belakang, lacak kabel hijau dari GREEN1 ke GREEN2 dan solder.
- Di bagian belakang, lacak kabel hitam dari BLACK1 ke BLACK2 dan solder.
- Di bagian belakang, lacak kabel hitam dari BLACK3 ke BLACK4 dan solder.
- Di bagian belakang, lacak kabel merah dari RED1 ke RED2 dan solder.
- Di bagian belakang, lacak kabel telanjang dari RED3 ke RED4 dan solder.
- Di bagian belakang, lacak kawat telanjang dari SILVER1 ke SILVER2 dan solder.
- Tambahkan jumper pada jalur 5V atau 3V3.
Relai sekarang dapat dihubungkan langsung melalui pinnya ke PCB atau melalui kabel, ke titik yang ditunjukkan dalam kontrak pin.
Langkah 4: Pengujian
Sejumlah BRICKS ini diharapkan berada di beberapa node (MCU - ESP8266 atau ATTINY84) di suatu lingkungan. Ini adalah tes unit: mengirimkan perintah I2C dari UNO ke ATTINY yang membuka atau menutup relai.
Kami sebelumnya telah membangun SHIELD I2C untuk Arduino.
Jika Anda ingin membuat papan tempat memotong roti sebagai gantinya:
- Hubungkan 5.0V pada UNO ke VCC pada BATA.
- Hubungkan GND di UNO ke GND di BRICK.
- Hubungkan A5 di UNO ke SCL di BATA.
- Hubungkan A4 di UNO ke SDA di BATA.
- Hubungkan resistor pull-up 4K7 dari SDA ke VCC.
- Hubungkan resistor pull-up 4K7 dari SCL ke VCC.
Menjalankan tes
- Hubungkan UNO Anda ke PC Dev Anda dengan USB.
- Unggah kode ke UNO.
- Buka Konsol Arduino.
- Pilih 9600 baud (mulai ulang UNO dan buka kembali konsol jika perlu).
- Alamat budak akan dicetak ke konsol.
-
Ketika, masukkan di kotak kirim 2 0:1 (jadi 15 2 0:1), dan relai CH1 menyala.
- Ketika, masukkan di kotak kirim 2 0:0 (jadi 15 2 0:0), dan relai CH1 mati.
- Ketika, masukkan di kotak kirim 2 1:1 (jadi 15 2 1:1), dan relai CH2 menyala.
- Ketika, masukkan di kotak kirim 2 1:0 (jadi 15 2 0:0), dan relai CH2 mati.
Perintah adhoc I2C BRICK untuk budak dari master UNO
#termasuk |
const byte _num_chars = 32; |
char _received_chars[_num_chars]; // array untuk menyimpan data yang diterima |
boolean _has_new_data = salah; |
voidsetup() { |
Serial.begin(9600); |
Serial.println(); |
Serial.println("ASSIMILATE IOT ACTOR/SENSOR EEPROM EDITOR"); |
Serial.println("pastikan baris baru dipilih di jendela konsol"); |
Serial.println(); |
Serial.println("ALAMAT 1 KONFIRMASI METADATA PENERIMAAN N/A (UNTUK M2M)"); |
Serial.println("ALAMAT 2 PERINTAH AKTOR"); |
Serial.println(); |
Serial.println("ALAMAT DI BUS:"); |
scan_i2c_addresses(); |
Serial.println(); |
Serial.println(""); |
} |
voidscan_i2c_addresses(){ |
int jumlah_perangkat = 0; |
untuk (alamat byte = 8; alamat <127; alamat++) |
{ |
Wire.beginTransmission(alamat); |
kesalahan byte const = Wire.endTransmission(); |
jika (kesalahan == 0) |
{ |
Serial.println(alamat); |
} |
} |
} |
batal () { |
recv_with_end_marker(); |
kirim_ke_i2c(); |
} |
voidrecv_with_end_marker() { |
byte statis ndx = 0; |
char end_marker = '\n'; |
karakter rc; |
while (Serial.available() >0 && _has_new_data == false) { |
rc = Serial.read(); |
if (rc != penanda_akhir) { |
_received_chars[ndx] = rc; |
ndx++; |
if (ndx >= _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
lain { |
_received_chars[ndx] = '\0'; // akhiri string |
ndx = 0; |
_has_new_data = benar; |
} |
} |
} |
voidsend_to_i2c() { |
char param_buf[16]; |
const String diterima_string = String(_received_chars); |
if (_has_new_data == benar) { |
int idx1 = diterima_string.indexOf(''); |
Alamat string = accept_string.substring(0, idx1); |
int address_int = alamat.toInt(); |
if (address_int < 8 || address_int >127){ |
Serial.println("INVALID ALAMAT INPUT:"); |
Serial.println(alamat); |
kembali; |
} |
int idx2 = accept_string.indexOf('', idx1+1); |
kode string; |
jika (idx2 == -1){ |
kode = accept_string.substring(idx1+1); |
}lain{ |
kode = accept_string.substring(idx1+1, idx2+1); |
} |
int kode_int = kode.toInt(); |
if (code_int < 0 || code_int >5){ |
Serial.println("INVALID KODE INPUT:"); |
Serial.println(kode); |
kembali; |
} |
bool has_parameter = idx2 > -1; |
Parameter string; |
jika (memiliki_parameter){ |
parameter = accept_string.substring(idx2 + 1, idx2 + 17); // maksimal 16 karakter |
if (parameter.length() < 1){ |
Serial.println("PARTAMETER MIN. PANJANG 1"); |
_has_new_data = salah; |
kembali; |
} |
}lain{ |
if (code_int >1){ |
Serial.println("PERLU PARAMETER!"); |
_has_new_data = salah; |
kembali; |
} |
} |
Serial.println(); |
Serial.print("masukan asal = "); |
Serial.println(diterima_string); |
Serial.print("alamat = "); |
Serial.println(alamat); |
Serial.print("kode = "); |
Serial.println(kode); |
Serial.print("parameter = "); |
Serial.println(parameter); |
// KIRIM MELALUI I2C |
Wire.beginTransmission(address_int); |
Wire.write(code_int); |
jika (memiliki_parameter){ |
parameter.trim(); |
strcpy(param_buf, parameter.c_str()); |
Wire.write(param_buf); |
} |
Kawat.endTransmisi(); |
Serial.println(); |
Serial.println("DIKIRIM MELALUI I2C!"); |
Serial.println(); |
Serial.println(""); |
_has_new_data = salah; |
} |
} |
lihat rawuno_i2c_command_input.ino dihosting dengan ❤ oleh GitHub
Langkah 5: Langkah Selanjutnya
ASSIMILATE ACTOR tindak lanjut: 2CH RELAY yang menggunakan bata ini memiliki konfigurasi otomatis untuk Crouton melalui metadata yang sudah diinstal di ATTINY85 di sini. Paket JSON yang dikirim ke Crouton dikirim melalui firmware terbaru untuk ICOS10. Anda dapat melakukan Proof-of-concept pada ESP8266 biasa, jika build terlalu banyak untuk saat ini.
Sketsa UNO yang digunakan dalam Pengujian memiliki fungsi untuk menyimpan alamat slave baru ke EEPROM pada ATTINY85, jika Anda memiliki bentrokan pada bus I2C target Anda. Beberapa skema telah ditambahkan, tetapi ada berbagai cara untuk menghubungkan rangkaian hilir tergantung pada apa yang ingin Anda capai, jadi saya akan menyerahkannya untuk Anda:)
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
Cara Membuat Otomatisasi Rumah Berbasis IoT Dengan Relay Kontrol Sensor NodeMCU: 14 Langkah (dengan Gambar)
Cara Membuat Otomasi Rumah Berbasis IoT Dengan Relay Kontrol Sensor NodeMCU: Dalam proyek berbasis IoT ini, saya telah membuat Otomasi Rumah dengan modul relai kontrol Blynk dan NodeMCU dengan umpan balik waktu nyata. Dalam Mode Manual, modul relai ini dapat dikontrol dari Ponsel atau smartphone dan, sakelar Manual. Dalam Mode Otomatis, ponsel pintar ini
Adaptor LCD I2c Karakter (Contoh Koneksi I2c): 12 Langkah (dengan Gambar)
Adaptor LCD I2c Karakter (Contoh Koneksi I2c): Saya sedang melakukan skema koneksi untuk adaptor i2c tampilan karakter. Periksa pembaruan di situs saya. Sekarang saya menambahkan juga skema koneksi kabel untuk menggunakan pustaka asli bukan forked saya. Pustaka LiquidCrystal Arduino untuk tampilan LCD karakter, proyeksi bercabang
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: 5 Langkah (dengan Gambar)
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: Mengontrol 8 sakelar relai menggunakan nodemcu dan penerima ir melalui wifi dan ir remote dan aplikasi android.Remote ir bekerja terlepas dari koneksi wifi.INI VERSI TERBARU KLIK DI SINI
Mengisi Kapasitor Dengan Relay: 4 Langkah (dengan Gambar)
Mengisi Kapasitor Dengan Relai: Instruksi ini adalah tentang cara mengisi kapasitor peringkat tegangan tinggi (HV) dengan relai. Elektromagnet yang digunakan dalam relai, dapat dilihat sebagai induktor. Ketika sebuah induktor dihubungkan ke catu daya, medan magnet diinduksi melintasi induktor