Daftar Isi:
- Langkah 1: Bahan dan Alat
- Langkah 2: Siapkan ATTINY85
- Langkah 3: Merakit Indikator
- Langkah 4: Merakit Sirkuit Utama
- Langkah 5: Pengujian
- Langkah 6: Langkah Selanjutnya
Video: IOT123 - BATA JANTUNG I2C: 6 Langkah
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 HEARTBEAT I2C ini menunjukkan apakah budak ATTINY masih hidup, juga lalu lintas I2C, dan memiliki satu properti:
STATUS ("HIDUP")
PB1 (putih) menunjukkan kesehatan ATTINY.
PB3 (kuning) beralih dengan permintaan I2C dari master.
PB4 (oranye) beralih dengan penerimaan I2C dari master.
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.
- Kertas PCB (7 x 7 lubang)
- LED (Merah, Hijau, Biru)
- Resistor (3 mati 1K)
- 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_heartbeat"
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_heartbeat".
Untuk mengunggah firmware ke ATTINY85, Anda dapat menemukan detail lebih lanjut dalam instruksi ini:
www.instructables.com/id/Programming-the-….
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
Terbaik untuk menguji melalui papan tempat memotong roti sebelum melanjutkan.
Jika Anda memiliki SENSOR ASSIMILATE, pastikan alamat slave berbeda pada kombinasi Host SENSOR/MCU mis. semua aktor Relay dapat memiliki alamat yang sama selama Anda hanya memiliki satu aktor Relay di MCU/node.
Langkah 3: Merakit Indikator
Indikator dimaksudkan untuk sepenuhnya dapat disesuaikan. Ini adalah sinyal acara dari sirkuit utama yang dilihat sebagai Detak Jantung. Untuk build ini kita akan menggunakan indikator LED; build Anda dapat menggunakan relai (ya VCC rusak) atau indikator berbasis visual/sinyal lainnya. Nilai resistor akan tergantung pada preferensi pribadi pada seberapa terang Anda menginginkannya.
- Di bagian atas, masukkan LED biru ke RED1 (+) dan BLACK1 (G), dan solder di bagian bawah.
- Di bagian bawah, tekuk timah dari RED1 sehingga menyentuh bantalan tembaga pada SILVER8 dan rapikan.
- Di bagian bawah, potong timah dari BLACK1 di atas solder.
- Di bagian atas, masukkan LED hijau ke RED2 (+) dan BLACK2 (G), dan solder di bagian bawah.
- Di bagian bawah, tekuk timah dari RED2 sehingga menyentuh bantalan tembaga pada SILVER9 dan rapikan.
- Di bagian bawah, rapikan timah dari BLACK2 di atas solder.
- Di bagian atas, masukkan LED merah ke RED3 (+) dan BLACK3 (G), dan solder di bagian bawah.
- Di bagian bawah, tekuk timah dari RED3 sehingga menyentuh bantalan tembaga pada SILVER10 dan rapikan.
- Di bagian bawah, rapikan timah dari BLACK3 di atas solder.
- Di bagian atas, masukkan resistor 1K ke dalam lubang SILVER1 dan SILVER4.
- Di bagian bawah, lacak, rapikan, dan solder timah dari SILVER1 ke BLACK1.
- Di bagian atas, masukkan resistor 1K ke lubang tembus SILVER2 dan SILVER4.
- Di bagian bawah, lacak, rapikan, dan solder timah dari SILVER2 ke BLACK2.
- Di bagian atas, masukkan resistor 1K ke dalam lubang SILVER3 dan SILVER4.
- Di bagian bawah, lacak, rapikan, dan solder timah dari SILVER3 ke BLACK3.
- Di bagian bawah, solder kabel pada SILVER4 dan potong sekitar 5mm memanjang.
- Di bagian bawah, solder kabel hitam ke SILVER4.
- Di bagian bawah, solder kabel putih ke SILVER5, memastikan kontinuitas untuk memimpin dari RED1.
- Di bagian bawah, solder kabel kuning ke SILVER6, memastikan kontinuitas untuk memimpin dari RED2.
- Di bagian bawah, solder kabel oranye ke SILVER7, memastikan kontinuitas untuk memimpin dari RED3.
Langkah 4: Merakit Sirkuit Utama
Perakitan:
- 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 putih dari WHITE1 ke WHITE2 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.
Jika menggunakan Indikator di atas (lihat diagram pinout):
- Di bagian belakang, solder kabel putih ke PB1.
- Di bagian belakang, solder kabel kuning ke PB3.
- Di bagian belakang, solder kabel oranye ke PB4.
- Di bagian belakang, solder kabel hitam ke GND.
Langkah 5: 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 mengaktifkan LED Terima. LED ATTINY ALIVE tetap menyala.
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 1 (jadi 16 2 1), dan LED Terima menyala.
- Ketika, masukkan di kotak kirim 2 0 (jadi 16 2 0), dan LED Terima 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 6: Langkah Selanjutnya
ASSIMILATE ACTOR: HEARTBEAT 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.
Direkomendasikan:
Sensor Detak Jantung Menggunakan Arduino (Pemantau Detak Jantung): 3 Langkah
Sensor Detak Jantung Menggunakan Arduino (Heart Rate Monitor): Sensor Detak Jantung adalah perangkat elektronik yang digunakan untuk mengukur detak jantung yaitu kecepatan detak jantung. Memantau suhu tubuh, detak jantung, dan tekanan darah adalah hal dasar yang kita lakukan agar kita tetap sehat. Detak jantung dapat
Jam Tangan Pintar Pelacak Kebugaran DIY Dengan Oksimeter dan Detak Jantung - Modul Elektronik Modular Dari TinyCircuits - Arkade Terkecil: 6 Langkah
Jam Tangan Pintar Pelacak Kebugaran DIY Dengan Oksimeter dan Detak Jantung | Modul Elektronik Modular Dari TinyCircuits | Arcade Terkecil: Hei, apa kabar, Guys! Akarsh di sini dari CETech. Hari ini kami memiliki beberapa modul sensor yang sangat berguna dalam kehidupan kita sehari-hari tetapi dalam versi kecilnya sendiri. Sensor yang kita miliki saat ini berukuran sangat kecil dibandingkan dengan
Visualisasi Jantung - Lihat Detak Jantung Anda: 8 Langkah (dengan Gambar)
Visualisasi Jantung | Lihat Detak Jantung Anda: Kita semua pernah merasakan atau mendengar detak jantung kita, tetapi tidak banyak dari kita yang melihatnya. Ini adalah pemikiran yang membuat saya memulai proyek ini. Cara sederhana untuk melihat detak jantung Anda secara visual menggunakan sensor Jantung dan juga mengajari Anda dasar-dasar tentang listrik
Mengukur Detak Jantung Anda Ada di Ujung Jari Anda: Pendekatan Photoplethysmography untuk Menentukan Detak Jantung: 7 Langkah
Mengukur Detak Jantung Anda Ada di Ujung Jari Anda: Pendekatan Photoplethysmography untuk Menentukan Denyut Jantung: Photoplethysmograph (PPG) adalah teknik optik sederhana dan murah yang sering digunakan untuk mendeteksi perubahan volume darah di jaringan mikrovaskular. Ini sebagian besar digunakan secara non-invasif untuk melakukan pengukuran di permukaan kulit, biasanya
IOT123 - AKTOR ASIMILASI: JANTUNG: 4 Langkah
IOT123 - ASSIMILATE ACTOR: HEARTBEAT: Ini menunjukkan kesehatan lalu lintas ATTINY, I2C dan MQTT. Build ini didasarkan pada I2C HEARTBEAT Brick. AKTOR/SENSOR ASSIMILATE adalah aktor/sensor lingkungan yang memiliki lapisan abstraksi perangkat keras dan perangkat lunak tambahan, sehingga memungkinkan c