Sisukord:

IOT123 - I2C MQ2 BRICK: 5 sammu
IOT123 - I2C MQ2 BRICK: 5 sammu

Video: IOT123 - I2C MQ2 BRICK: 5 sammu

Video: IOT123 - I2C MQ2 BRICK: 5 sammu
Video: MQ-2 датчик газов и дыма подключаем к Arduino 2024, November
Anonim
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK
IOT123 - I2C MQ2 BRICK

IOT123 BRICKS on isetehtud moodulüksused, mida saab teiste IOT123 BRICKS -ga kokku segada, et lisada sõlmele või kantavale funktsionaalsust. Nende aluseks on tolli ruudukujulised kahepoolsed protoplaadid, mis on omavahel ühendatud aukudega.

Arvatakse, et paljud neist tellistest asuvad saidil mitmes sõlmes (peamised MCU -d - ESP8266 või ATTINY84). MCU ei vaja eelteadmisi andurite otstarbest ega tarkvara vajadustest. See otsib I2C sõlme ja taotleb seejärel igalt orjalt atribuudi väljavõtet (anduri andmed). Need tellised tarnivad 5,0 V, 3,3 V ja teist AUX -liini, mida saab kohandada.

See I2C MQ2 BRICK tühjendab 3 atribuuti:

LPG (miljondikosa), CO (PPM), SMOKE (PPM)

See andur pakkus huvitavat stsenaariumi: see vajab soojenemiseks vähemalt 2 minutit (kuni 5 minutit), seejärel peab see enne kasutamist 20 sekundit kalibreerima. Kuna hosti MCU on sisestatud ainult nime/väärtuse paaride (ja jätkuvate teadete) hankimisse, oleme kasutusele võtnud atribuudi "PREPARE". Kuna selle jätkuv sõnum on „1” (veel tulemas), jätkab host MCU BRICKi küsitlemist, kuni see on valmis. Samuti on soovitatav MQ2 enne kasutamist sisse põletada, st jätta see 5-tunnise vooluahelaga 24 tunniks ühendatuks.

Keyesi tüüpi anduritellised abstraheeritakse kõigepealt, kuna need sisaldavad vitamiine (vajalikud lisakomponendid) ja on suhteliselt vahvad (ostsin 37 10AUD eest). I2C BRICKS tutvustatakse ka teisi tahvleid/vooluahelaid.

ATTINY85-ga külgnevad augud on jäetud kasutamata, et võimaldada pogo-tihvtidega programmeerimist, kui DIP8 on trükkplaadile joodetud.

Edasine väljatöötamine, BRICKIDE pakkimine väikestesse silindritesse, mis ühendatakse D1M WIFI BLOCK jaoturiga, pumpades väärtused MQTT serverisse.

Samm: materjal ja tööriistad

Materjal ja tööriistad
Materjal ja tööriistad
Materjal ja tööriistad
Materjal ja tööriistad
Materjal ja tööriistad
Materjal ja tööriistad

Materjalide ja allikate nimekiri on täielik.

  1. MQ2 anduri tellis (1)
  2. ATTINY85 20PU (1)
  3. 1 "kahepoolne protoboard (1)
  4. Isane päis 90º (3P, 3P)
  5. Isane päis (2P, 2P)
  6. Jumper Shunt (1)
  7. Ühendusjuhe (~ 7)
  8. Jootmine ja triikraud (1)

Samm: valmistage ette ATTINY85

Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85
Valmistage ette ATTINY85

Vajalik on juhatuse liige AttinyCore. Põletage alglaadur "EEPROM Retained", "8mHZ Internal" (kõik konfiguratsioonid on näidatud ülal).

Kasutage kaasasolevat allikat; kompileerida ja programmeerida ATtiny85 -le.

GIST on siin:

gist.github.com/IOT-123/4c501046d365d01a60…

Lisateavet leiate nendest juhenditest:

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…

Enne jätkamist on parem testida leivalaua kaudu.

Kui teil on olemasolevad ASSIMILATE SENSORid, siis veenduge, et SENSOR/MCU Host kombinatsioonis on alam -aadress erinev, st kõigil temperatuurianduritel võib olla sama aadress, kui teil on MCU/sõlmes ainult üks temperatuuriandur.

Samm: pange vooluring kokku

Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
  1. Esipaneelil sisestage komponendid ATTINY85 (1), 3P 90 kraadi isased päised (2) (3), 2P isased päised (4) (5) ja jootke tagaküljel ära.
  2. Tagaküljel jälgige oranži juhet ORANGE1 kuni ORANGE2 ja jootke.
  3. Tagaküljel jälgige sinist juhet BLUE1 kuni BLUE2 ja jootke.
  4. Tagaküljel jälgige rohelist traati GREEN1 kuni GREEN2 ja jootke.
  5. Tagaküljel jälgige paljast traati SILVER1 kuni SILVER2 ja jootet.
  6. Tagaküljel jälgige paljast traati SILVER3 -st SILVER4 -ni ja jootet.
  7. Tagaküljel jälgige musta juhet BLACK1 kuni BLACK2 ja jootet.
  8. Tagaküljel jälgige musta juhet BLACK3 kuni BLACK4 ja jootet.
  9. Tagaküljel jälgige punast traati RED1 kuni RED2 ja jootke.
  10. Tagaküljel jälgige punast traati RED3 -lt RED4 -le ja jootke.
  11. Tagaküljel jälgige kollast traati YELLOW1 kuni YELLOW2 ja jootke.

Anduri saab nüüd ühendada otse oma tihvtide kaudu trükkplaadiga või juhtmete kaudu tihvtide lepingus näidatud kohtadesse.

4. samm: testimine

Testimine
Testimine
Testimine
Testimine
Testimine
Testimine

Arvatakse, et paljud neist tellistest asuvad keskkonnas mitmes sõlmes (MCU -d - ESP8266 või ATTINY84). See on üksuse test: kontrollib UNO taotlusi/vastuseid, kuni kõik andmed on kaadrisse kantud, seejärel jätab I2C orja tähelepanuta.

  1. Laadige UNO kood üles oma UNO testrakmetesse. Veenduge, et ADDRESS_SLAVE vastab BRICKi I2C aadressile.
  2. Ühendage UNO 5,0 V BRICKi VCC -ga.
  3. Veenduge, et selle tihvti hüppaja on sisse lülitatud.
  4. Ühendage UNO GND ja BRICK GND.
  5. Ühendage A5 UNO -l BRICK -i SCL -iga.
  6. Ühendage A4 UNO -l ja BRICK SDA.
  7. Ühendage tõmbetakistus 4K7 SDA-st VCC-ga.
  8. Ühendage tõmbetakistus 4K7 SCL-st VCC-ga.
  9. Ühendage UNO oma USB -seadmega arvutiga.
  10. Avage Arduino konsool. Valige 9600 baud (taaskäivitage UNO ja vajadusel avage konsool uuesti).
  11. Atribuutide nimed ja väärtused tuleks trükkida konsoolile üks kord, seejärel korratakse sõna uni.

Kui näete seadistust, siis korratakse 3 prügirida, võib SDA- ja SCL -jooned olla ees.

I2C Master logimine I2C orjast koos plotteri/metaandmete toega

#kaasake
#defineADDRESS_SLAVE10
bool _outputPlotterOnly = vale;
bool _confirmMetadata = vale;
int _packetSegment = 0;
bool _i2cNodeProcessed = vale;
char _property [2] [24] = {"nimi", "väärtus"};
voidsetup () {
Wire.begin (); // liitu i2c bussiga (aadress on valikuline kaptenile)
Seriaalne algus (9600); // käivitage väljundi jada
viivitus (1000);
if (! _outputPlotterOnly) {
Serial.println ("seadistamine");
Serial.println ();
}
}
voidloop () {
if (_i2cNodeProcessed) {
if (! _confirmMetadata) {// andke orjale teada, et hakata anduri andmeid saatma
viivitus (1);
Wire.beginTransmission (ADDRESS_SLAVE);
Wire.write (1);
Wire.endTransmission ();
viivitus (100);
_confirmMetadata = tõsi;
}
_i2cNodeProcessed = vale;
if (! _outputPlotterOnly) {
Serial.println ();
}
tagasipöördumine;
}
Wire.requestFrom (ADDRESS_SLAVE, 16);
_packetSegment ++;
söepakett [16];
intindex = 0;
bool onContinueSegment = false; // jatkuSegment (3.) 1 = rohkem, 0 = viimane
samas (Wire.available ()) {// ori võib saata vähem kui soovitud
char c = Wire.read ();
pakett [indeks] = int (c)> -1? c: ''; // asendage kehtetud märgid tühikutega
kui (_packetSegment == 3) {
_packetSegment = 0;
isContinueSegment = true;
//Seriaalne.println ("------------- ");
//Serial.println(int(c));
//Seriaalne.println ("------------- ");
kui (int (c) == 48 || int (c) == 86) {// 0 viimasel omadusel
_i2cNodeProcessed = tõsi;
// väärtuste saatmine MQTT -le
murda;
}
}
indeks ++;
}
if (! isContinueSegment) {
if (! _outputPlotterOnly) {
Serial.println (pakett);
}
strcpy (_property [_packetSegment - 1], pakett); // määrake kohalik muutuja nime/väärtusega
} muud {
if (_outputPlotterOnly && _confirmMetadata) {
if (_i2cNodeProcessed) {
Serial.println (_omadus [1]);
} muud {
Serial.print (_omadus [1]);
Serial.print ("");
}
}
}
}

vaata rawuno_i2c_generic_sensor_test_w_plotter_v2.ino, mille hostiks on GitHub ❤

Samm: järgmised sammud

Vooluahela ja tarkvara I2C kihi põhipaigutus on seotud paljude erinevate anduritega. Peamine asi, millest alustada, on paketileping kapteni ja alluva vahel.

Olen kavandanud/käivitanud (3D -trükitud) pakitud andurite võrgu, mis kasutavad seda raamistikku ja viivad selle osade avaldamisel linki.

Seda plokki kasutab MQ2 ASSIMILATE SENSOR.

Soovitan: