Tartalomjegyzék:
- Lépés: Anyag és eszközök
- 2. lépés: Készítse elő az ATTINY85 -öt
- 3. lépés: Szerelje össze az áramkört
- 4. lépés: Tesztelés
- 5. lépés: Következő lépések
Videó: IOT123 - I2C MQ2 BRICK: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Az IOT123 BRICKS DIY moduláris egységek, amelyeket más IOT123 BRICKS -sel lehet összetörni, hogy funkcionalitást adjunk egy csomóponthoz vagy hordhatóhoz. Ezek alapja a hüvelyk négyzet alakú, kétoldalas protoboards, amelyek átmenő lyukakkal vannak összekötve.
Számos ilyen TÉGLY várhatóan több csomóponton (Master MCU -k - ESP8266 vagy ATTINY84) lesz egy webhelyen. Az MCU -nak nincs szüksége előzetes ismeretekre az érzékelők céljáról vagy a szoftver igényeiről. Keresi az I2C csomópontokat, majd minden slave -től tulajdonságkiírást (érzékelőadatokat) kér. Ezek a BRICK -ek 5,0 V -ot, 3,3 V -ot és egy másik személyre szabható AUX -vezetéket szolgáltatnak.
Ez az I2C MQ2 BRICK 3 tulajdonságot dob ki:
LPG (milliomodrész), CO (PPM), FÜST (PPM)
Ez az érzékelő érdekes forgatókönyvet biztosított: Legalább 2 perc (legfeljebb 5 perc) szükséges a felmelegedéshez, majd használat előtt 20 másodpercig kalibrálnia kell. Mivel a gazda MCU csak a név/érték párok (és a folytatás üzenet) beolvasásában van, ezért bevezetettünk egy "PREPARE" tulajdonságot. Mivel a folytatás üzenete "1" (továbbiak érkeznek), a fogadó MCU folyamatosan lekérdezi a BRICK -t, amíg készen áll. Szintén ajánlott az MQ2 "beégetése" használat előtt, azaz hagyja 24 órán keresztül csatlakoztatva az 5 V-os áramkörhöz.
A Keyes típusú érzékelő téglákat először absztrahálják, mivel vitaminokat tartalmaznak (extra komponensek szükségesek), és viszonylag szuperek (37 -et vettem 10AUD -ért). Más kártyákat/áramköröket is bevezetnek az I2C BRICKS -be.
Az ATTINY85 melletti átmenő lyukakat kihasználatlanul hagytuk, hogy lehetővé tegyük a pogo tűs programozást, miközben a DIP8 forrasztva van a NYÁK-hoz.
Egy további absztrakció, a BRICKS -ek kis hengerekbe csomagolása, amelyek D1M WIFI BLOCK hubhoz csatlakoznak, és az értékeket egy MQTT szerverre szivattyúzzák.
Lépés: Anyag és eszközök
Van egy teljes Bill of Material and Sourcing lista.
- MQ2 érzékelő tégla (1)
- ATTINY85 20PU (1)
- 1 "kétoldalas protoboard (1)
- Férfi fejléc 90º (3P, 3P)
- Férfi fejléc (2P, 2P)
- Jumper shunt (1)
- Csatlakozó vezeték (~ 7)
- Forrasztás és vas (1)
2. lépés: Készítse elő az ATTINY85 -öt
AttinyCore szükséges a Boards Manager -től. Írjon rendszerbetöltőt "EEPROM Retained", "8mHZ Internal" (az összes konfiguráció fent látható).
Használja a mellékelt forrást; fordítsa le és programozza be az ATtiny85 -be.
A GIST itt található:
gist.github.com/IOT-123/4c501046d365d01a60…
További részleteket találhat ezekben az utasításokban:
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…
A legjobb, ha a folytatás előtt kipróbálja a kenyérsávot.
Ha rendelkezik ASSIMILATE SENSORS -szal, győződjön meg arról, hogy a slave cím eltérő az SENSOR/MCU Host kombináción, azaz minden hőmérséklet -érzékelő ugyanazt a címet kaphatja, amíg csak egy hőmérséklet -érzékelő van az MCU -n/csomóponton.
3. lépés: Szerelje össze az áramkört
- Az előlapon helyezze be az alkatrészeket ATTINY85 (1), 3P 90 fokos hüvely (2) (3), 2P dugófej (4) (5), és forrasztja le a hátlapot.
- A hátoldalon kövessen egy narancssárga vezetéket az ORANGE1 -től az ORANGE2 -ig és forrasztja.
- A hátulján nyomon kell követni egy kék vezetéket a BLUE1 -től a BLUE2 -ig, és forrasztani.
- A hátoldalon nyomjon egy zöld vezetéket a ZÖLD1 -től a ZÖLD2 -ig és forrasztja.
- A hátoldalon kövessen egy csupasz vezetéket az SILVER1 -től az SILVER2 -ig és a forrasztást.
- A hátoldalon kövessen egy csupasz vezetéket az SILVER3 -tól az SILVER4 -ig és a forrasztást.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK1 -től a BLACK2 -ig, és forrasztja.
- A hátoldalon nyomjon egy fekete vezetéket a BLACK3 -tól a BLACK4 -ig, és forrasztja.
- A hátoldalon nyomjon egy piros vezetéket a RED1 és a RED2 között, és forrasztjon.
- A hátoldalon nyomon kövessen egy piros vezetéket a RED3 -tól a RED4 -ig, és forrasztja.
- A hátsó részen nyomon kövessen egy sárga vezetéket a SÁRGA1 -től a SÁRGA2 -ig, és forrasztja.
Az érzékelő most közvetlenül a csapjain keresztül a NYÁK -ra vagy vezetékeken keresztül csatlakoztatható a tűszerződésben szereplő pontokhoz.
4. lépés: Tesztelés
Számos ilyen TÉGLY várhatóan több csomóponton (MCU - ESP8266 vagy ATTINY84) lesz egy környezetben. Ez egy egység teszt: ellenőrzi az UNO kéréseket/válaszokat, amíg az összes adat ki nem kerül, majd figyelmen kívül hagyja az I2C slave -t.
- Töltse fel az UNO kódot az UNO tesztkötegére. Győződjön meg arról, hogy az ADDRESS_SLAVE megfelel a BRICK I2C címének.
- Csatlakoztassa az 5,0 V -ot UNO -n a BRICK VCC -jéhez.
- Győződjön meg arról, hogy az adott csap jumperje be van kapcsolva.
- Csatlakoztassa a GND -t az UNO -n a GND -hez a BRICK -en.
- Csatlakoztassa az UN5 A5 -öt a BRICK SCL -hez.
- Csatlakoztassa az UNO A4 -et a BRICK SDA -hoz.
- Csatlakoztasson egy 4K7 felhúzó ellenállást az SDA-ból a VCC-be.
- Csatlakoztasson egy 4K7 felhúzó ellenállást SCL-ről VCC-re.
- Csatlakoztassa UNO -ját a Dev PC -hez USB -n keresztül.
- Nyissa meg az Arduino konzolt. Válassza a 9600 baud lehetőséget (indítsa újra az UNO -t, és szükség esetén nyissa meg újra a konzolt).
- A tulajdonságneveket és értékeket ki kell nyomtatni a konzolra, majd meg kell ismételni az alvó szót.
Ha a "beállítás" feliratot látja, akkor 3 sor szemét ismétlődik, előfordulhat, hogy az SDA és az SCL vonalak elöl vannak.
I2C Master naplózás I2C slave -ből plotter/metaadat támogatással
#befoglalni |
#defineADDRESS_SLAVE10 |
bool _outputPlotterOnly = hamis; |
bool _confirmMetadata = hamis; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = hamis; |
char _property [2] [24] = {"név", "érték"}; |
voidsetup () { |
Wire.begin (); // csatlakozzon az i2c buszhoz (a cím opcionális a mester számára) |
Sorozat.kezdet (9600); // sorozat indítása a kimenethez |
késleltetés (1000); |
if (! _outputPlotterOnly) { |
Serial.println ("beállítás"); |
Sorozat.println (); |
} |
} |
voidloop () { |
if (_i2cNodeProcessed) { |
if (! _confirmMetadata) {// értesítse a slave -t, hogy megkezdje az érzékelőadatok küldését |
késleltetés (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
késleltetés (100); |
_confirmMetadata = igaz; |
} |
_i2cNodeProcessed = hamis; |
if (! _outputPlotterOnly) { |
Sorozat.println (); |
} |
Visszatérés; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
széncsomag [16]; |
intindex = 0; |
bool isContinueSegment = false; // folytassaSegmentum (a 3.) 1 = több, 0 = utolsó |
míg (Wire.available ()) {// a slave kevesebbet küldhet a kértnél |
char c = Drót.olvasás (); |
csomag [index] = int (c)> -1? c: ''; // cserélje ki az érvénytelen karaktereket szóközökkel |
if (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = igaz; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
ha (int (c) == 48 || int (c) == 86) {// 0 az utolsó tulajdonságon |
_i2cNodeProcessed = igaz; |
// értékek küldése az MQTT -nek |
szünet; |
} |
} |
index ++; |
} |
if (! isContinueSegment) { |
if (! _outputPlotterOnly) { |
Serial.println (csomag); |
} |
strcpy (_property [_packetSegment - 1], csomag); // állítsa be a helyi változót névvel/értékkel |
}más{ |
if (_outputPlotterOnly && _confirmMetadata) { |
if (_i2cNodeProcessed) { |
Serial.println (_tulajdonság [1]); |
}más{ |
Serial.print (_tulajdonság [1]); |
Serial.print (""); |
} |
} |
} |
} |
Tekintse meg a rawuno_i2c_generic_sensor_test_w_plotter_v2.ino szolgáltatást, amelyet a GitHub ❤ üzemeltet
5. lépés: Következő lépések
Az áramkör alapvető elrendezése és a szoftver I2C rétege számos különböző érzékelőhöz kapcsolódik. A kezdéshez a legfontosabb dolog a master és a slave közötti csomagszerződés.
Feldolgoztam/elindítottam egy (3D nyomtatott) csomagban lévő érzékelők hálózatát, amelyek ezt a keretrendszert használják, és az alkatrészek közzétételekor hivatkoznak rá.
Ezt a blokkot az MQ2 ASSIMILATE SENSOR használja.
Ajánlott:
Kattintson a Brick Switch elemre a Makey Makey számára: 4 lépés (képekkel)
Kattintson a Brick Switch for Makey Makey elemre: Ez a 3D nyomtatott kapcsoló lehetővé teszi a felhasználó számára, hogy egy Makey Makey -t "ujjcsúszdá" alakítson. a " kattintáshoz " játékban, vagy jobb/bal nyilak segítségével görgetheti a prezentációkat. Jobb és bal oldali csatlakozók hozzáadása a
IOT123 - D1M BLOCK - 2xAMUX összeszerelés: 7 lépés (képekkel)
IOT123 - D1M BLOCK - 2xAMUX összeszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad a népszerű Wemos D1 Mini SOC/Shields/Clones -hoz. Az ESP8266 chip egyik problémája az, hogy csak egy analóg IO tű áll rendelkezésre. Ez az útmutató bemutatja, hogyan kell összeszerelni a 2xA
IOT123 - D1M BLOCK - RFTXRX Összeszerelés: 8 lépés
IOT123 - D1M BLOCK - RFTXRX összeszerelés: A D1M BLOCKS tapintható tokokat, címkéket, polaritási útmutatókat és kitöréseket ad a népszerű Wemos D1 Mini SOC/Shields/Clones -hoz. Az RF adók/vevők lehetővé teszik az ESP8266 számára a meglévő otthoni/ipari automatizálás elérését. Ez a burkolat 433
IOT123 - ASSZIMILÁLT ÉRZÉKELŐ: MQ2: 4 lépés
IOT123 - ASSIMILATE SENSOR: MQ2: Az ASSIMILATE SENSORS olyan környezeti érzékelők, amelyek hardveres és szoftveres absztrakciós réteggel rendelkeznek, lehetővé téve teljesen új típusok hozzáadását az ASSIMILATE SENSOR HUB -hoz, és a leolvasott kódok hozzáadását az MQTT szerverhez
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 lépés
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: FRISSÍTÉS: Ez a beállítás nagyrészt tudományos vagy a szoftver/tápegység tesztelésének alapja. Még akkor sem, ha a PB5 RESET módban le van tiltva, nem olvassa ki pontosan az értékeket az analogRead használatával: ez az érzékelő leolvasásának fő felhasználási módja. Megvizsgálja az ATTINY84 beállítást