ዝርዝር ሁኔታ:
ቪዲዮ: IOT123 - I2C MQ2 BRICK: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
IOT123 BRICKS በመስቀለኛ መንገድ ወይም በሚለብስ ተግባር ላይ ለመጨመር ከሌሎች IOT123 BRICKS ጋር ሊደባለቁ የሚችሉ DIY ሞዱል አሃዶች ናቸው። እነሱ በ ኢንች ካሬ ፣ ባለ ሁለት ጎን ፕሮቶቦርዶች ቀዳዳዎች በኩል እርስ በእርስ የተገናኙ ናቸው።
የእነዚህ BRICKS ብዛት በአንድ ጣቢያ ላይ በበርካታ መስቀሎች (ማስተር MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚሆን ይጠበቃል። MCU ስለ ዳሳሾች ዓላማ ወይም የሶፍትዌር ፍላጎቶች ቅድመ ዕውቀት አያስፈልገውም። ለ I2C አንጓዎች ይቃኛል ከዚያም ከእያንዳንዱ ባሪያ የንብረት መጣል (ዳሳሽ መረጃ) ይጠይቃል። እነዚህ BRICKs 5.0V ፣ 3.3V እና ሊበጅ የሚችል ሌላ የ AUX መስመር ይሰጣሉ።
ይህ I2C MQ2 BRICK 3 ንብረቶችን ይጥላል-
LPG (ክፍሎች በአንድ ሚሊዮን) ፣ CO (PPM) ፣ ጭስ (PPM)።
ይህ ዳሳሽ አንድ አስደሳች ሁኔታ አቅርቧል -ለማሞቅ ቢያንስ 2 ደቂቃዎች (እስከ 5 ደቂቃዎች) ይፈልጋል ፣ ከዚያ ከመጠቀምዎ በፊት ለ 20 ሰከንዶች መለካት ይፈልጋል። አስተናጋጁ MCU የስም/እሴት ጥንድ (እና ቀጣይ መልእክት) በማግኘት ላይ ብቻ የተጠመደ እንደመሆኑ ፣ “ቅድመ ዝግጅት” ንብረት አስተዋውቀናል። ቀጣይ መልዕክቱ “1” (የበለጠ የሚመጣ) እንደመሆኑ አስተናጋጁ MCU ዝግጁ እስኪሆን ድረስ ጡቡን መስጠቱን ይቀጥላል። እንዲሁም ከመጠቀምዎ በፊት MQ2 ን “ማቃጠል” ይመከራል ፣ ማለትም ከ 5 ቪ ወረዳዎ ጋር ተገናኝተው ለ 24 ሰዓታት ይተዉ።
የቪታሚኖች (ተጨማሪ ክፍሎች ያስፈልጋሉ) ተካትተው በአንፃራዊነት ቼፕ ስለሆኑ የ Keyes ዓይነት ዳሳሽ ጡቦች በመጀመሪያ ረቂቅ ይሆናሉ (37 ለ 10AUD ገዛሁ)። ሌሎች ቦርዶች/ወረዳዎች ከ I2C BRICKS ጋር ይተዋወቃሉ።
DIP8 ወደ ፒሲቢ በሚሸጥበት ጊዜ የፖጎ ፒን ፕሮግራም አዘጋጅን ለማንቃት ከ ATTINY85 አቅራቢያ ያሉት ቀዳዳዎች ጥቅም ላይ አልዋሉም።
አንድ ተጨማሪ ረቂቅ ፣ እሴቶቹን ወደ MQTT አገልጋይ በማፍሰስ በ D1M WIFI BLOCK ማዕከል ውስጥ በሚሰኩ ትናንሽ ሲሊንደሮች ውስጥ BRICKS ን በማሸግ ላይ እየተገነባ ነው።
ደረጃ 1 - ቁሳቁስ እና መሣሪያዎች
ሙሉ የቁሳቁስ እና የመረጃ ምንጭ ዝርዝር አለ።
- MQ2 ዳሳሽ ጡብ (1)
- ATTINY85 20PU (1)
- 1 "ባለ ሁለት ጎን ፕሮቶቦር (1)
- ወንድ ራስጌ 90º (3 ፒ ፣ 3 ፒ)
- ወንድ ራስጌ (2 ፒ ፣ 2 ፒ)
- Jumper Shunt (1)
- የሚገጣጠም ሽቦ (~ 7)
- ብረት እና ብረት (1)
ደረጃ 2 ATTINY85 ን ያዘጋጁ
AttinyCore ከቦርዶች ሥራ አስኪያጅ ያስፈልጋል። የማስነሻ ጫloadውን “EEPROM እንደያዘ” ፣ “8mHZ ውስጣዊ” (ከላይ የሚታየው ሁሉም ውቅር) ያቃጥሉ።
የተካተተውን ምንጭ ይጠቀሙ; አሰባሰብ እና ፕሮግራም ወደ ATtiny85።
GIST እዚህ አለ
gist.github.com/IOT-123/4c501046d365d01a60…
በእነዚህ አስተማሪዎች ውስጥ ተጨማሪ ዝርዝሮችን ማግኘት ይችላሉ-
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/ እንዴት-በፕሮግራም-AT…
www.instructables.com/id/ እንዴት-በፕሮግራም-th…
www.instructables.com/id/Programming-the-A…
www.instructables.com/id/Programming-an-At…
ከመቀጠልዎ በፊት በዳቦ ሰሌዳ በኩል መሞከር የተሻለ ነው።
ነባር ASSIMILATE SENSORS ካሉዎት ፣ በ MCU/node ላይ አንድ የሙቀት ዳሳሽ እስኪያገኙ ድረስ የባሪያ አድራሻው በ SENSOR/MCU አስተናጋጅ ጥምረት ላይ የተለየ መሆኑን ያረጋግጡ።
ደረጃ 3 ወረዳውን ይሰብስቡ
- ከፊት ለፊት ፣ አካላቶቹን ATTINY85 (1) ፣ 3P 90deg ወንድ ራስጌዎች (2) (3) ፣ 2 ፒ ወንድ ራስጌዎች (4) (5) ፣ እና በጀርባው ላይ አጥፋው።
- ከኋላዎ ፣ የብርቱካን ሽቦን ከ ORANGE1 ወደ ORANGE2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ሰማያዊ ሽቦን ከ BLUE1 ወደ BLUE2 እና በሻጩ ይከታተሉ።
- ከኋላ ፣ አረንጓዴ ሽቦን ከ GREEN1 እስከ GREEN2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ከ SILVER1 እስከ SILVER2 እና በሻጩ ላይ ባዶ ሽቦን ይከታተሉ።
- ከኋላው ፣ ከ SILVER3 እስከ SILVER4 እና solder ድረስ ባዶ ሽቦን ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK1 ወደ BLACK2 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ጥቁር ሽቦን ከ BLACK3 እስከ BLACK4 እና solder ይከታተሉ።
- ከኋላው ፣ ቀይ ሽቦን ከ RED1 ወደ RED2 እና በሻጩ ይከታተሉ።
- ከኋላዎ ፣ ቀይ ሽቦን ከ RED3 ወደ RED4 እና በሻጩ ይከታተሉ።
- ከኋላው ፣ ቢጫ ሽቦን ከ YELLOW1 እስከ YELLOW2 እና solder ይከታተሉ።
አነፍናፊው አሁን በፒን ኮንትራቱ ላይ ወደሚታዩት ነጥቦች በቀጥታ በፒሲቢው ወይም በሽቦዎች በኩል ሊገናኝ ይችላል።
ደረጃ 4: ሙከራ
ከእነዚህ ውስጥ በርካታ ቁጥቋጦዎች በአንድ አካባቢ ውስጥ በበርካታ መስቀሎች (MCUs - ESP8266 ወይም ATTINY84) ላይ እንደሚገኙ ይጠበቃል። ይህ የአሃድ ሙከራ ነው - ሁሉም መረጃዎች እስኪጣሉ ድረስ የ UNO ጥያቄዎችን/ምላሾችን ይፈትሻል ፣ ከዚያ የ I2C ባሪያን ችላ ይላል።
- የ UNO ኮዱን ወደ የእርስዎ UNO የሙከራ ማሰሪያ ይስቀሉ። ADDRESS_SLAVE ከ BRICK I2C አድራሻ ጋር የሚዛመድ መሆኑን ያረጋግጡ።
- 5.0V በ UNO ላይ ከ VCC ጋር በብሪክ ላይ ያገናኙ።
- ለዚያ ፒን መበራቱን ያረጋግጡ።
- GND ን ከ UNO ወደ GND በብሪክ ላይ ያገናኙ።
- A5 ን በ UNO ላይ ከ SCL ጋር በብሪክ ላይ ያገናኙ።
- A4 ን በ UNO ላይ ከ SDA ጋር በብሪክ ላይ ያገናኙ።
- የ 4K7 መጎተቻ ተከላካይ ከ SDA ወደ VCC ያገናኙ።
- የ 4K7 መጎተቻ ተከላካይ ከ SCL ወደ VCC ያገናኙ።
- በዩኤስቢ የእርስዎን UNO ከእርስዎ Dev PC ጋር ያገናኙ።
- የ Arduino Console ን ይክፈቱ። 9600 baud ን ይምረጡ (UNO ን እንደገና ያስጀምሩ እና ካስፈለገዎት ኮንሶሉን እንደገና ይክፈቱ)።
- የእንቅልፍ ቃል ከተደጋገመ የንብረቱ ስሞች እና እሴቶች አንዴ ወደ ኮንሶሉ መታተም አለባቸው።
“ማዋቀር” ካዩ ከዚያ 3 የቆሻሻ መስመሮች ተደጋግመው የእርስዎን SDA እና SCL መስመሮች ወደ ፊት መልሰው ሊይዙዎት ይችላሉ።
I2C ማስተር ከ I2C ባሪያ በንድፍ/ሜታዳታ ድጋፍ።
#ያካትቱ |
#ADDRESS_SLAVE10 ን ይግለጹ |
bool _outputPlotterOnly = ሐሰት; |
bool _confirmedMetadata = ሐሰት; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = ሐሰት; |
char _property [2] [24] = {"name", "value"}; |
voidsetup () { |
Wire.begin (); // i2c አውቶቡስን ይቀላቀሉ (አድራሻ ለጌታ አማራጭ) |
Serial.begin (9600); // ለውጤት ተከታታይን ይጀምሩ |
መዘግየት (1000); |
ከሆነ (! _outputPlotterOnly) { |
Serial.println ("ማዋቀር"); |
Serial.println (); |
} |
} |
voidloop () { |
ከሆነ (_i2cNodeProcessed) { |
ከሆነ (! _confirmedMetadata) {// የአነፍናፊ ውሂብ መላክ ለመጀመር ባሪያው ያሳውቀው |
መዘግየት (1); |
Wire.begin ማስተላለፊያ (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
መዘግየት (100); |
_confirmedMetadata = እውነት; |
} |
_i2cNodeProcessed = ሐሰት; |
ከሆነ (! _outputPlotterOnly) { |
Serial.println (); |
} |
መመለስ; |
} |
Wire.requestFrom ከ (ADDRESS_SLAVE ፣ 16); |
_packetSegment ++; |
የቻር ፓኬት [16]; |
ኢንቲንዴክስ = 0; |
bool isContinueSegment = false; // continueSegment (the 3rd) 1 = more, 0 = last |
(Wire.available ()) {// ባሪያ ከተጠየቀው ያነሰ ሊልክ ይችላል |
char c = Wire.read (); |
ፓኬት [መረጃ ጠቋሚ] = int (ሐ)> -1? ሐ: ''; // ልክ ያልሆኑ chars ን በቦታዎች ይተኩ |
ከሆነ (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = እውነት; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
ከሆነ (int (c) == 48 || int (c) == 86) {// 0 በመጨረሻው ንብረት ላይ |
_i2cNodeProcessed = እውነት; |
// እሴቶችን ወደ MQTT ይላኩ |
ሰበር; |
} |
} |
ኢንዴክስ ++; |
} |
ከሆነ (! isContinueSegment) { |
ከሆነ (! _outputPlotterOnly) { |
Serial.println (ፓኬት); |
} |
strcpy (_property [_packetSegment - 1], packet); // ከስም/እሴት ጋር አካባቢያዊ var ን ያዘጋጁ |
} ሌላ { |
ከሆነ (_outputPlotterOnly && _confirmedMetadata) { |
ከሆነ (_i2cNodeProcessed) { |
Serial.println (_property [1]); |
} ሌላ { |
Serial.print (_property [1]); |
Serial.print (""); |
} |
} |
} |
} |
በ GitHub የተስተናገደ rawuno_i2c_generic_sensor_test_w_plotter_v2.ino ን ይመልከቱ
ደረጃ 5: ቀጣይ እርምጃዎች
የወረዳው መሰረታዊ አቀማመጥ እና የሶፍትዌሩ I2C ንብርብር ከብዙ የተለያዩ ዳሳሾች ጋር ተዛማጅ ነው። ለመጀመር መብት ለማግኘት ዋናው ነገር ፣ በጌታ እና በባሪያ መካከል ያለው የፓኬት ውል ነው።
ይህንን ማዕቀፍ የሚጠቀሙ እና ክፍሎች በሚታተሙበት ጊዜ ከእሱ ጋር የሚያገናኙትን (3 ዲ የታተመ) የታሸገ የሰንሰሮች አውታር አውጥቻለሁ/ጀምሬያለሁ።
ይህ BLOCK በ MQ2 ASSIMILATE SENSOR ይጠቀማል።
የሚመከር:
500 LED-Pixel RGB-Brick: 9 ደረጃዎች (ከስዕሎች ጋር)
500 LED-Pixel RGB-Brick: ከጥቂት ጊዜ በፊት ከእነዚህ የ WS2812 LED ዎች ጋር 10x10 LED-Coffetable እሠራለሁ ፣ ግን የድሮ ትምህርት ቤት ጨዋታን እባብ ከእሱ ጋር በተገናኘ ስማርትፎን መጫወት ቢቻል እንኳን ፣ የበለጠ ነገር እፈልጋለሁ ልዩ። ስለዚህ ጥቂት ተጨማሪ ሊድዎችን በላዩ ላይ ለማድረግ ወሰንኩ ፣
IOT123 - D1M BLOCK - 2xAMUX ስብሰባ 7 ደረጃዎች (ከስዕሎች ጋር)
IOT123 - D1M BLOCK - 2xAMUX ስብሰባ: D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መሰባበርን ያክላሉ። ከ ESP8266 ቺፕ ጋር ካሉት ችግሮች አንዱ የሚገኘው አንድ የአናሎግ አይኦ ፒን ብቻ ነው። ይህ አስተማሪ 2xA እንዴት እንደሚሰበሰብ ያሳያል
IOT123 - D1M BLOCK - RFTXRX ስብሰባ: 8 ደረጃዎች
IOT123 - D1M BLOCK - RFTXRX ስብሰባ - D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መሰባበርን ያክሉ። የ RF አስተላላፊዎች/ተቀባዮች ESP8266 ነባር የቤት/የኢንዱስትሪ አውቶማቲክን እንዲደርስ ይፈቅዳሉ። ይህ መያዣ ለ 433
IOT123 - D1M BLOCK - GY521 ጉባኤ 8 ደረጃዎች
IOT123 - D1M BLOCK - GY521 ስብሰባ - D1M ብሎኮች ለታዋቂው ዌሞስ D1 Mini SOC/ጋሻዎች/ክሎኖች ንክኪ ጉዳዮችን ፣ መለያዎችን ፣ የዋልታ መመሪያዎችን እና መለያየቶችን ያክላሉ። ይህ የ D1M BLOCK በ Wemos D1 Mini እና በ GY-521 ሞዱል መካከል ቀላል ግንኙነትን ይሰጣል (አድራሻው እና ማቋረጫ ፒኖቹ ሊጣበቁ ይችላሉ
IOT123 - አስገዳጅ ዳሳሽ - MQ2: 4 ደረጃዎች
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSOR የተጨመሩ የሃርድዌር እና የሶፍትዌር ረቂቅ ንብርብር ያላቸው የአከባቢ ዳሳሾች ናቸው ፣ ይህም ሙሉ በሙሉ አዲስ ዓይነቶች ወደ ASSIMILATE SENSOR HUB እንዲታከሉ እና ንባቦቹ ያለተጨማሪ ኮድ ወደ MQTT አገልጋይ እንዲገቡ ያደርጋቸዋል።