Isi kandungan:
- Langkah 1: Bahan dan Alat
- Langkah 2: Siapkan ATTINY85
- Langkah 3: Pasang Litar
- Langkah 4: Menguji
- Langkah 5: Langkah Seterusnya
Video: IOT123 - I2C MQ2 BRICK: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
IOT123 BRICKS adalah unit modular DIY yang dapat disatukan dengan IOT123 BRICKS yang lain, untuk menambahkan fungsi ke simpul atau boleh pakai. Mereka didasarkan pada protoboards dua sisi persegi, bersambung melalui lubang.
Sebilangan BRICKS ini dijangka berada di beberapa node (Master MCU - ESP8266 atau ATTINY84) di laman web. MCU tidak memerlukan pengetahuan terlebih dahulu mengenai keperluan sensor atau keperluan perisian. Ia mengimbas node I2C kemudian meminta dump harta (data sensor) dari setiap hamba. BRICK ini membekalkan 5.0V, 3.3V dan talian AUX lain yang boleh disesuaikan.
BRICK I2C MQ2 ini membuang 3 sifat:
LPG (Bahagian Per Juta), CO (PPM), MEROKOK (PPM)
Sensor ini memberikan senario menarik: Memerlukan sekurang-kurangnya 2 minit (hingga 5 minit) untuk memanaskan badan, kemudian perlu menentukur selama 20 saat sebelum digunakan. Oleh kerana MCU tuan rumah hanya ingin mendapatkan pasangan nama / nilai (dan mesej lanjutan), kami telah memperkenalkan harta "PREPARE". Oleh kerana mesej lanjutannya adalah "1" (lebih banyak yang akan datang), Host MCU akan terus memilih BRICK sehingga siap. Juga disarankan untuk "Burn-in" MQ2 sebelum digunakan iaitu membiarkannya tersambung ke litar 5V anda selama 24 jam.
Batu bata sensor jenis Keyes akan diabstrak terlebih dahulu kerana disertakan dengan vitamin (komponen tambahan diperlukan) termasuk dan agak murah (saya beli 37 untuk 10AUD). Papan / litar lain akan diperkenalkan kepada I2C BRICKS.
Lubang-lubang yang bersebelahan dengan ATTINY85 dibiarkan tidak digunakan, untuk membolehkan pengaturcara pogo pin semasa DIP8 disolder ke PCB.
Pengambilan lebih lanjut, membungkus BRICKS dalam silinder kecil yang disambungkan ke hab D1M WIFI BLOCK, mengepam nilai ke pelayan MQTT, sedang dikembangkan.
Langkah 1: Bahan dan Alat
Terdapat senarai Bil Bahan dan Sumber yang lengkap.
- Bata sensor MQ2 (1)
- ATTINY85 20PU (1)
- 1 "protoboard dua sisi (1)
- Header Lelaki 90º (3P, 3P)
- Header Lelaki (2P, 2P)
- Jumper Shunt (1)
- Kawat cangkuk (~ 7)
- Pateri dan Besi (1)
Langkah 2: Siapkan ATTINY85
AttinyCore dari Boards Manager diperlukan. Burn bootloader "EEPROM Retained", "8mHZ Internal" (semua konfigurasi ditunjukkan di atas).
Gunakan sumber yang disertakan; menyusun dan memprogram ke ATtiny85.
GIST ada di sini:
gist.github.com/IOT-123/4c501046d365d01a60…
Anda boleh mendapatkan lebih banyak butiran dalam arahan ini:
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/How-to-Program-AT…
www.instructables.com/id/How-to-program-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
Sebaik-baiknya diuji melalui papan roti sebelum meneruskan.
Sekiranya anda mempunyai SENSOR ASSIMILAT, pastikan alamat hamba berbeza pada kombinasi Host SENSOR / MCU, iaitu semua sensor Suhu dapat memiliki alamat yang sama asalkan anda hanya memiliki satu sensor Suhu pada MCU / nod.
Langkah 3: Pasang Litar
- Di bahagian depan, masukkan komponen ATTINY85 (1), tajuk lelaki 3P 90deg (2) (3), tajuk lelaki 2P (4) (5), dan solder di bahagian belakang.
- Di bahagian belakang, jejak wayar oren dari ORANGE1 ke ORANGE2 dan solder.
- Di bahagian belakang, jejak wayar biru dari BLUE1 ke BLUE2 dan solder.
- Di bahagian belakang, jejak wayar hijau dari GREEN1 ke GREEN2 dan solder.
- Di bahagian belakang, jejak wayar kosong dari SILVER1 ke SILVER2 dan solder.
- Di bahagian belakang, jejak wayar kosong dari SILVER3 ke SILVER4 dan solder.
- Di bahagian belakang, jejak wayar hitam dari BLACK1 ke BLACK2 dan solder.
- Di bahagian belakang, jejak wayar hitam dari BLACK3 ke BLACK4 dan solder.
- Di bahagian belakang, jejak wayar merah dari RED1 hingga RED2 dan solder.
- Di bahagian belakang, jejak wayar merah dari RED3 hingga RED4 dan solder.
- Di bahagian belakang, jejak wayar kuning dari KUNING1 hingga KUNING2 dan pateri.
Sensor kini boleh disambungkan secara langsung melalui pin ke PCB atau melalui wayar, ke titik yang ditunjukkan dalam kontrak pin.
Langkah 4: Menguji
Sebilangan BRICKS ini dijangka berada di beberapa node (MCU - ESP8266 atau ATTINY84) di persekitaran. Ini adalah ujian unit: memeriksa permintaan / respons UNO sehingga semua data dibuang, kemudian mengabaikan hamba I2C.
- Muat naik kod UNO ke abah ujian UNO anda. Pastikan ADDRESS_SLAVE sepadan dengan alamat I2C BRICK.
- Sambungkan 5.0V di UNO ke VCC di BRICK.
- Pastikan jumper untuk pin itu dihidupkan.
- Sambungkan GND di UNO ke GND di BRICK.
- Sambungkan A5 di UNO ke SCL di BRICK.
- Sambungkan A4 di UNO ke SDA di BRICK.
- Sambungkan perintang tarik 4K7 dari SDA ke VCC.
- Sambungkan perintang tarik 4K7 dari SCL ke VCC.
- Sambungkan UNO anda ke PC Dev anda dengan USB.
- Buka Arduino Console. Pilih 9600 baud (mulakan semula UNO dan buka semula konsol jika anda perlu).
- Nama dan nilai Harta harus dicetak ke konsol sekali kemudian kata tidur diulang.
Sekiranya anda melihat "persediaan" maka 3 baris sampah berulang anda mungkin garis SDA dan SCL anda kembali ke depan.
Pembalakan Master I2C dari hamba I2C dengan sokongan plotter / metadata
#sertakan |
# tentukanADDRESS_SLAVE10 |
bool _outputPlotterOnly = salah; |
bool _confirmedMetadata = false; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = salah; |
char _property [2] [24] = {"nama", "nilai"}; |
kekosongan () { |
Wire.begin (); // sertai bas i2c (alamat pilihan untuk master) |
Serial.begin (9600); // memulakan siri untuk output |
kelewatan (1000); |
jika (! _outputPlotterOnly) { |
Serial.println ("persediaan"); |
Bersiri.println (); |
} |
} |
kekosongan () { |
jika (_i2cNodeProcessed) { |
jika (! _confirmedMetadata) {// beri tahu hamba untuk mula menghantar data sensor |
kelewatan (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
kelewatan (100); |
_confirmedMetadata = benar; |
} |
_i2cNodeProcessed = salah; |
jika (! _outputPlotterOnly) { |
Bersiri.println (); |
} |
kembali; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
paket char [16]; |
intindex = 0; |
bool isContinueSegment = false; // terusSegment (yang ke-3) 1 = lagi, 0 = terakhir |
sementara (Wire.available ()) {// hamba boleh menghantar lebih sedikit daripada yang diminta |
char c = Wire.read (); |
paket [index] = int (c)> -1? c: ''; // gantikan watak yang tidak sah dengan spasi |
jika (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = benar; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
jika (int (c) == 48 || int (c) == 86) {// 0 pada harta tanah terakhir |
_i2cNodeProcessed = benar; |
// hantar nilai ke MQTT |
rehat; |
} |
} |
indeks ++; |
} |
jika (! isContinueSegment) { |
jika (! _outputPlotterOnly) { |
Serial.println (paket); |
} |
strcpy (_property [_packetSegment - 1], paket); // tetapkan var tempatan dengan nama / nilai |
} lain { |
jika (_outputPlotterOnly && _confirmedMetadata) { |
jika (_i2cNodeProcessed) { |
Serial.println (_property [1]); |
} lain { |
Serial.print (_property [1]); |
Cetakan bersiri (""); |
} |
} |
} |
} |
lihat rawuno_i2c_generic_sensor_test_w_plotter_v2.ino dihoskan dengan ❤ oleh GitHub
Langkah 5: Langkah Seterusnya
Susun atur asas rangkaian dan lapisan I2C perisian berkaitan dengan banyak sensor yang berbeza. Perkara utama untuk bermula dengan betul, adalah kontrak paket antara tuan dan hamba.
Saya telah menjadualkan / memulakan rangkaian sensor yang dibungkus (dicetak 3D) yang menggunakan rangka ini dan akan menghubungkannya semasa bahagian diterbitkan.
BLOK ini digunakan oleh MQ2 ASSIMILATE SENSOR.
Disyorkan:
Klik Brick Switch untuk Makey Makey: 4 Langkah (dengan Gambar)
Klik Brick Switch untuk Makey Makey: Suis cetak 3D ini akan membolehkan pengguna mengubah Makey Makey menjadi " slaid jari " untuk " klik " dalam permainan atau panah kanan / kiri untuk menatal persembahan. Penambahan pelekap terminal kanan dan kiri untuk
IOT123 - ASSIMILATE SENSOR: MQ2: 4 Langkah
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS adalah sensor persekitaran yang mempunyai lapisan abstraksi perkakasan dan perisian tambahan, memungkinkan untuk jenis yang baru ditambahkan ke ASSIMILATE SENSOR HUB dan bacaannya akan dipam ke pelayan MQTT tanpa kodin tambahan
IOT123 - IZC HEARTBEAT BRICK: 6 Langkah
IOT123 - I2C HEARTBEAT BRICK: IOT123 BRICKS adalah unit modular DIY yang dapat disatukan dengan IOT123 BRICKS yang lain, untuk menambahkan fungsi pada nod atau yang boleh dipakai. Mereka didasarkan pada protoboards dua segi empat inci, bersambung melalui lubang. Sebilangan BRICK ini
IOT123 - IZC 2CH RELAY BRICK: 5 Langkah (dengan Gambar)
IOT123 - I2C 2CH RELAY BRICK: IOT123 BRICKS adalah unit modular DIY yang dapat disatukan dengan IOT123 BRICKS yang lain, untuk menambahkan fungsi pada nod atau yang boleh dipakai. Mereka didasarkan pada protoboards dua segi empat inci, bersambung melalui lubang. Sebilangan BRICK ini
IOT123 - BRICK KUAT 3.3V: 4 Langkah
IOT123 - 3.3V POWER BRICK: IOT123 BRICKS adalah unit modular DIY yang dapat disatukan dengan IOT123 BRICKS yang lain, untuk menambahkan fungsi pada nod atau yang boleh dipakai. Mereka didasarkan pada protoboards segi empat inci, dua sisi dengan saling terhubung melalui lubang. Walaupun instruksio