Obsah:
- Krok 1: Materiál a nástroje
- Krok 2: Připravte ATTINY85
- Krok 3: Sestavte obvod
- Krok 4: Testování
- Krok 5: Další kroky
Video: IOT123 - I2C MQ2 BRICK: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
IOT123 BRICKS jsou DIY modulární jednotky, které lze kombinovat s jinými IOT123 BRICKS a přidat tak funkčnost uzlu nebo nositelnost. Jsou založeny na palcových čtvercových, oboustranných protoboardech propojených průchozími otvory.
Očekává se, že řada těchto BRICKS bude na více uzlech (Master MCU - ESP8266 nebo ATTINY84) na webu. MCU nepotřebuje žádné předchozí znalosti o účelu senzorů ani softwarových potřebách. Prohledává uzly I2C a poté požaduje od každého podřízeného zařízení výpis stavu (data ze senzoru). Tyto BRICKS dodávají 5,0 V, 3,3 V a další linku AUX, kterou lze přizpůsobit.
Tento I2C MQ2 BRICK ukládá 3 vlastnosti:
LPG (části na milion), CO (PPM), SMOKE (PPM)
Tento senzor poskytl zajímavý scénář: K zahřátí potřebuje nejméně 2 minuty (až 5 minut), poté je třeba před použitím 20 sekund kalibrovat. Protože hostitelský MCU je pouze zaměřen na získávání párů název/hodnota (a zprávy o pokračování), zavedli jsme vlastnost „PŘIPRAVIT“. Protože jeho zpráva o pokračování je „1“(další budou k dispozici), hostitelský MCU bude pokračovat v dotazování BRICK, dokud nebude připraven. Také se doporučuje MQ2 před použitím „vypálit“, tj. Nechat připojený k vašemu 5V obvodu 24 hodin.
Senzorové cihly typu Keyes budou nejprve odebrány, protože přicházejí s vitamíny (potřebné další komponenty) a jsou relativně levné (koupil jsem 37 za 10AUD). Na I2C BRICKS budou představeny další desky/obvody.
Průchozí otvory sousedící s ATTINY85 zůstaly nevyužité, aby umožnily programátor pinů pogo, zatímco je DIP8 připájen k desce plošných spojů.
Vyvíjí se další abstrakce, balení BRICKS do malých válců, které se zapojují do rozbočovače D1M WIFI BLOCK, čerpající hodnoty na server MQTT.
Krok 1: Materiál a nástroje
K dispozici je úplný seznam materiálu a zdrojů.
- Cihla senzoru MQ2 (1)
- ATTINY85 20PU (1)
- 1 "oboustranný protoboard (1)
- Záhlaví 90 ° (3P, 3P)
- Zástrčka (2P, 2P)
- Jumper Shunt (1)
- Propojovací vodič (~ 7)
- Pájka a železo (1)
Krok 2: Připravte ATTINY85
Je potřeba AttinyCore od Správce desek. Vypálit zavaděč „EEPROM zachován“, „8 mHZ interní“(veškerá konfigurace zobrazena výše).
Použijte přiložený zdroj; zkompilovat a naprogramovat na ATtiny85.
GIST je zde:
gist.github.com/IOT-123/4c501046d365d01a60…
Více podrobností najdete v těchto pokynech:
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…
Před pokračováním je nejlepší otestovat pomocí prkénka.
Pokud máte existující ASSIMILOVANÉ SENZORY, ujistěte se, že adresa slave je v kombinaci SENSOR/MCU Host odlišná, tj. Všechny teplotní senzory mohou mít stejnou adresu, pokud máte pouze jeden teplotní senzor na MCU/uzlu.
Krok 3: Sestavte obvod
- Na přední stranu vložte součásti ATTINY85 (1), 3P 90deg zástrčky (2) (3), 2P zástrčky (4) (5) a pájku na zadní straně.
- Na zadní straně sledujte oranžový vodič z ORANGE1 na ORANGE2 a pájejte.
- Na zadní straně sledujte modrý vodič z BLUE1 na BLUE2 a pájejte.
- Na zadní straně sledujte zelený vodič od ZELENÉ1 do ZELENÉ2 a pájejte.
- Na zadní straně sledujte holý vodič od SILVER1 do SILVER2 a pájejte.
- Na zadní straně sledujte holý drát od SILVER3 do SILVER4 a pájejte.
- Na zadní straně sledujte černý vodič z BLACK1 na BLACK2 a pájejte.
- Na zadní straně sledujte černý vodič z BLACK3 na BLACK4 a pájejte.
- Na zadní straně sledujte červený vodič z RED1 na RED2 a pájejte.
- Na zadní straně sledujte červený vodič z RED3 na RED4 a pájejte.
- Na zadní straně sledujte žlutý vodič od ŽLUTÉ1 k ŽLUTÉ2 a pájejte.
Senzor lze nyní připojit přímo přes jeho piny na desku plošných spojů nebo pomocí vodičů k bodům uvedeným ve smlouvě o kolíku.
Krok 4: Testování
Očekává se, že řada těchto BRICKS bude na více uzlech (MCU - ESP8266 nebo ATTINY84) v prostředí. Toto je jednotkový test: kontroluje požadavky/odpovědi UNO, dokud nejsou uložena všechna data, a poté ignoruje slave I2C.
- Nahrajte kód UNO do svého testovacího postroje UNO. Zajistěte, aby se adresa ADDRESS_SLAVE shodovala s adresou BRICK I2C.
- Připojte 5,0 V na UNO k VCC na BRICK.
- Zajistěte, aby byla propojka pro tento kolík zapnutá.
- Připojte GND na UNO k GND na BRICK.
- Připojte A5 na UNO k SCL na BRICK.
- Připojte A4 na UNO k SDA na BRICK.
- Připojte stahovací odpor 4K7 z SDA do VCC.
- Připojte stahovací odpor 4K7 z SCL do VCC.
- Připojte svůj UNO k vašemu Dev PC pomocí USB.
- Otevřete konzolu Arduino. Vyberte 9600 baudů (restartujte UNO a v případě potřeby znovu otevřete konzolu).
- Jména a hodnoty vlastností by měly být vytištěny na konzole jednou, poté se slovo spánek opakuje.
Pokud uvidíte „nastavení“, pak se opakují 3 řádky odpadků, můžete mít řádky SDA a SCL zepředu dopředu.
Protokolování I2C Master z I2C slave s podporou plotru/metadat
#zahrnout |
#defineADDRESS_SLAVE10 |
bool _outputPlotterOnly = false; |
bool _confirmedMetadata = false; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = false; |
char _property [2] [24] = {"jméno", "hodnota"}; |
voidsetup () { |
Wire.begin (); // připojení k sběrnici i2c (adresa volitelná pro master) |
Serial.begin (9600); // spuštění sériového výstupu |
zpoždění (1000); |
if (! _outputPlotterOnly) { |
Serial.println ("nastavení"); |
Serial.println (); |
} |
} |
voidloop () { |
if (_i2cNodeProcessed) { |
if (! _confirmedMetadata) {// dejte otrokovi vědět, aby začal odesílat data senzoru |
zpoždění (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
zpoždění (100); |
_confirmedMetadata = true; |
} |
_i2cNodeProcessed = false; |
if (! _outputPlotterOnly) { |
Serial.println (); |
} |
vrátit se; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
char paket [16]; |
intindex = 0; |
bool isContinueSegment = false; // continueSegment (3.) 1 = více, 0 = poslední |
while (Wire.available ()) {// slave může odeslat méně, než je požadováno |
char c = Wire.read (); |
paket [index] = int (c)> -1? c: ''; // nahraďte neplatné znaky mezerami |
if (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = true; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
if (int (c) == 48 || int (c) == 86) {// 0 na poslední vlastnosti |
_i2cNodeProcessed = true; |
// odeslání hodnot na MQTT |
přestávka; |
} |
} |
index ++; |
} |
if (! isContinueSegment) { |
if (! _outputPlotterOnly) { |
Serial.println (paket); |
} |
strcpy (_property [_packetSegment - 1], paket); // nastavení lokálního var s názvem/hodnotou |
}jiný{ |
if (_outputPlotterOnly && _confirmedMetadata) { |
if (_i2cNodeProcessed) { |
Serial.println (_property [1]); |
}jiný{ |
Serial.print (_property [1]); |
Serial.print (""); |
} |
} |
} |
} |
zobrazit rawuno_i2c_generic_sensor_test_w_plotter_v2.ino hostované s ❤ od GitHub
Krok 5: Další kroky
Základní uspořádání obvodu a vrstva I2C softwaru je spojena s mnoha různými senzory. Hlavní věc, kterou je třeba začít správně, je paketová smlouva mezi pánem a otrokem.
Navrhl/spustil (3D vytištěnou) zabalenou síť senzorů, které používají tento rámec, a budou na něj odkazovat, jakmile budou publikovány části.
Tento BLOK používá asimilovaný snímač MQ2.
Doporučuje:
Arduino Brick Color Sorter Project: 5 kroků
Arduino Brick Color Sorter Project: V tomto Arduino tutoriálu se naučíme, jak detekovat barvy mé cihly pomocí Arduina a barevného senzoru TCS3200. Další podrobnosti si můžete přečíst níže v písemném tutoriálu. Materiály: Arduino Leonardo x 1TCS3200 x 1 Mnoho kartonu180 servo
IOT123 - ASIMILAČNÍ SNÍMAČ: MQ2: 4 kroky
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS jsou senzory prostředí, které mají přidanou vrstvu abstrakce hardwaru a softwaru, což umožňuje přidání zcela nových typů do rozbočovače ASSIMILATE SENSOR HUB a načítání naměřených hodnot na server MQTT bez přidání codinu
IOT123 - LIR2032 BATTERY BRICK: 4 kroky
IOT123 - LIR2032 BATTERY BRICK: IOT123 BRICKS jsou modulární jednotky DIY, které lze kombinovat s jinými IOT123 BRICKS a přidávat tak funkce do uzlu nebo nositelné. Jsou založeny na palcových čtvercových, oboustranných protoboardech s propojenými průchozími otvory. Ačkoli instrukce
IOT123 - 3,3V NAPÁJECÍ BRICK: 4 kroky
IOT123 - 3,3 V POWER BRICK: IOT123 BRICKS jsou modulární jednotky DIY, které lze kombinovat s jinými IOT123 BRICKS a přidat tak funkčnost uzlu nebo nositelnost. Jsou založeny na palcových čtvercových, oboustranných protoboardech s propojenými průchozími otvory. Ačkoli instrukce
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 kroky
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: Toto nastavení je z velké části akademické nebo je základem pro testování softwaru/napájecího zdroje. I když je PB5 deaktivován jako RESET, nečte hodnoty přesně pomocí analogRead: hlavní případ použití pro čtení ze senzorů. Nahlédne do nastavení ATTINY84