Talaan ng mga Nilalaman:
- Hakbang 1: Materyal at Mga Tool
- Hakbang 2: Ihanda ang ATTINY85
- Hakbang 3: Magtipon ng Circuit
- Hakbang 4: Pagsubok
- Hakbang 5: Susunod na Mga Hakbang
Video: IOT123 - I2C MQ2 BRICK: 5 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang IOT123 BRICKS ay mga modular na yunit ng DIY na maaaring mashed sa iba pang mga IOT123 BRICKS, upang magdagdag ng pag-andar sa isang node o naisusuot. Ang mga ito ay batay sa pulgadang parisukat, mga dobleng panig na mga protoboard na may magkakaugnay na mga butas.
Ang isang bilang ng mga BRICKS na ito ay inaasahan na nasa maraming mga node (Master MCUs - ESP8266 o ATTINY84) sa isang site. Ang MCU ay hindi nangangailangan ng paunang kaalaman tungkol sa mga layunin ng sensor o mga pangangailangan ng software. Sinusuri nito ang mga node ng I2C pagkatapos ay humiling ng isang dump ng pag-aari (data ng sensor) mula sa bawat alipin. Ang mga BRICK na ito ay nagbibigay ng 5.0V, 3.3V at isa pang linya ng AUX na napapasadyang.
Ang I2C MQ2 BRICK na ito ay nagtatapon ng 3 mga katangian:
LPG (Mga Bahagi Per Milyon), CO (PPM), SMOKE (PPM)
Ang Sensor na ito ay nagbigay ng isang kagiliw-giliw na senaryo: Kailangan ito ng hindi bababa sa 2 minuto (hanggang sa 5 minuto) upang magpainit, pagkatapos ay kailangan nitong i-calibrate ng 20 segundo bago gamitin. Bilang ang host MCU ay naka-inteset lamang sa pagkuha ng mga pares ng pangalan / halaga (at isang patuloy na mensahe), ipinakilala namin ang isang "PAGHANDA" na pag-aari. Tulad ng pagpapatuloy na mensahe nito ay "1" (higit pa na darating), ang Host MCU ay patuloy na iboboto ang BRICK hanggang sa ito ay handa na. Inirerekumenda rin na "Burn-in" ang MQ2 bago gamitin ibig sabihin iwanan na konektado sa iyong 5V circuit sa loob ng 24 na oras.
Ang mga brick na sensor ng uri ng Keyes ay mai-abstract muna dahil kasama ang mga bitamina (labis na mga sangkap na kinakailangan) na kasama at medyo cheep (bumili ako ng 37 para sa 10AUD). Ang iba pang mga board / circuit ay ipakikilala sa I2C BRICKS.
Ang mga through-hole na katabi ng ATTINY85 ay naiwang hindi nagamit, upang paganahin ang isang programang pogo pin habang ang DIP8 ay solder sa PCB.
Ang isang karagdagang abstraction, na ibinabalot ang BRICKS sa maliliit na silindro na nag-plug sa isang D1M WIFI BLOCK hub, na binobomba ang mga halaga sa isang MQTT server, ay binuo.
Hakbang 1: Materyal at Mga Tool
Mayroong isang buong listahan ng Materyal at Sourcing.
- MQ2 sensor brick (1)
- ATTINY85 20PU (1)
- 1 "Dobleng panig na protoboard (1)
- Lalake Header 90º (3P, 3P)
- Lalaking Header (2P, 2P)
- Jumper Shunt (1)
- Hookup wire (~ 7)
- Panghinang at Bakal (1)
Hakbang 2: Ihanda ang ATTINY85
Kailangan ang AttinyCore mula sa Boards Manager. Sunugin ang bootloader na "EEPROM Nananatili", "8mHZ Panloob" (lahat ng config na ipinakita sa itaas).
Gamitin ang kasama na mapagkukunan; compile at programa sa ATtiny85.
Narito ang GIST:
gist.github.com/IOT-123/4c501046d365d01a60…
Maaari kang makahanap ng higit pang mga detalye sa mga itinuturo na ito:
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…
Pinakamahusay na subukan sa pamamagitan ng breadboard bago magpatuloy.
Kung mayroon kang mga ASSIMILATE SENSORS, siguraduhin na ang address ng alipin ay naiiba sa isang kumbinasyon ng SENSOR / MCU Host ibig sabihin lahat ng mga sensor ng Temperatura ay maaaring magkaroon ng parehong address hangga't mayroon ka lamang isang Temperatura sensor sa isang MCU / node.
Hakbang 3: Magtipon ng Circuit
- Sa harap, ipasok ang mga sangkap na ATTINY85 (1), 3P 90deg male header (2) (3), 2P male header (4) (5), at ang solder ay nasa likuran.
- Sa likuran, subaybayan ang isang orange wire mula ORANGE1 hanggang ORANGE2 at solder.
- Sa likuran, subaybayan ang isang asul na kawad mula BLUE1 hanggang BLUE2 at solder.
- Sa likuran, subaybayan ang isang berdeng kawad mula GREEN1 hanggang GREEN2 at panghinang.
- Sa likuran, subaybayan ang isang hubad na kawad mula sa SILVER1 hanggang sa SILVER2 at panghinang.
- Sa likuran, subaybayan ang isang hubad na kawad mula sa SILVER3 hanggang sa SILVER4 at panghinang.
- Sa likuran, subaybayan ang isang itim na kawad mula BLACK1 hanggang BLACK2 at solder.
- Sa likuran, subaybayan ang isang itim na kawad mula BLACK3 hanggang BLACK4 at solder.
- Sa likuran, subaybayan ang isang pulang kawad mula sa RED1 hanggang RED2 at panghinang.
- Sa likuran, subaybayan ang isang pulang kawad mula sa RED3 hanggang RED4 at panghinang.
- Sa likuran, subaybayan ang isang dilaw na kawad mula sa YELLOW1 hanggang YELLOW2 at panghinang.
Maaari nang direktang konektado ang sensor sa pamamagitan ng mga pin nito sa PCB o sa pamamagitan ng mga wire, sa mga puntong ipinakita sa kontrata ng pin.
Hakbang 4: Pagsubok
Ang isang bilang ng mga BRICKS na ito ay inaasahan na nasa maraming mga node (MCUs - ESP8266 o ATTINY84) sa isang kapaligiran. Ito ay isang pagsubok sa yunit: suriin ang mga kahilingan / tugon ng UNO hanggang sa maalis ang lahat ng data, pagkatapos ay mapabayaan ang alipin ng I2C.
- I-upload ang UNO code sa iyong harness ng pagsubok ng UNO. Tiyaking tumutugma ang ADDRESS_SLAVE sa I2C address ng BRICK.
- Ikonekta ang 5.0V sa UNO sa isang VCC sa BRICK.
- Tiyaking nakabukas ang jumper para sa pin na iyon.
- Ikonekta ang GND sa UNO sa GND sa BRICK.
- Ikonekta ang A5 sa UNO sa SCL sa BRICK.
- Ikonekta ang A4 sa UNO sa SDA sa BRICK.
- Ikonekta ang isang resistor na pull-up na 4K7 mula sa SDA patungong VCC.
- Ikonekta ang isang resistor na pull-up na 4K7 mula sa SCL patungong VCC.
- Ikonekta ang iyong UNO sa iyong Dev PC gamit ang USB.
- Buksan ang Arduino Console. Pumili ng 9600 baud (i-restart ang UNO at muling buksan ang console kung kailangan mo).
- Ang Mga Pangalan ng Ari-arian at mga halaga ay dapat na naka-print sa console isang beses pagkatapos ay ang salitang pagtulog ay inuulit.
Kung nakikita mo ang "pag-set up" pagkatapos ay 3 linya ng basura na paulit-ulit na maaari mong ibalik sa harap ang iyong mga linya ng SDA at SCL.
I2C Master logging mula sa alipin ng I2C na may suporta sa plotter / metadata
# isama |
# tukuyinADDRESS_SLAVE10 |
bool _outputPlotterOnly = false; |
bool _confirmedMetadata = false; |
int _packetSegment = 0; |
bool _i2cNodeProcessed = false; |
char _property [2] [24] = {"pangalan", "halaga"}; |
voidsetup () { |
Wire.begin (); // sumali sa i2c bus (opsyonal sa address para sa master) |
Serial.begin (9600); // simulan ang serial para sa output |
pagkaantala (1000); |
kung (! _outputPlotterOnly) { |
Serial.println ("setup"); |
Serial.println (); |
} |
} |
voidloop () { |
kung (_i2cNodeProcessed) { |
kung (! _confirmedMetadata) {// ipaalam sa alipin upang simulang magpadala ng data ng sensor |
antala (1); |
Wire.beginTransmission (ADDRESS_SLAVE); |
Wire.write (1); |
Wire.endTransmission (); |
pagkaantala (100); |
_confirmedMetadata = totoo; |
} |
_i2cNodeProcessed = false; |
kung (! _outputPlotterOnly) { |
Serial.println (); |
} |
bumalik; |
} |
Wire.requestFrom (ADDRESS_SLAVE, 16); |
_packetSegment ++; |
char packet [16]; |
intindex = 0; |
bool isContinueSegment = false; // continueSegment (the 3rd) 1 = more, 0 = last |
habang (Wire.available ()) {// alipin ay maaaring magpadala ng mas mababa sa hiniling |
char c = Wire.read (); |
packet [index] = int (c)> -1? c: ''; // palitan ang mga hindi wastong char ng mga puwang |
kung (_packetSegment == 3) { |
_packetSegment = 0; |
isContinueSegment = totoo; |
//Serial.println("------------- "); |
//Serial.println(int(c)); |
//Serial.println("------------- "); |
kung (int (c) == 48 || int (c) == 86) {// 0 sa huling pag-aari |
_i2cNodeProcessed = totoo; |
// magpadala ng mga halaga sa MQTT |
pahinga; |
} |
} |
index ++; |
} |
kung (! isContinueSegment) { |
kung (! _outputPlotterOnly) { |
Serial.println (packet); |
} |
strcpy (_property [_packetSegment - 1], packet); // itakda ang lokal na var na may pangalan / halaga |
} iba pa { |
kung (_outputPlotterOnly && _confirmedMetadata) { |
kung (_i2cNodeProcessed) { |
Serial.println (_property [1]); |
} iba pa { |
Serial.print (_property [1]); |
Serial.print (""); |
} |
} |
} |
} |
tingnan ang rawuno_i2c_generic_sensor_test_w_plotter_v2.ino naka-host sa ❤ ng GitHub
Hakbang 5: Susunod na Mga Hakbang
Ang pangunahing layout ng circuit at ang layer ng I2C ng software ay nauugnay sa maraming iba't ibang mga sensor. Ang pangunahing bagay upang makapagsimula kaagad, ay ang packet na kontrata sa pagitan ng master at alipin.
Naitala ko / sinimulan ang isang (naka-print na 3D) na naka-package na network ng mga sensor na gumagamit ng balangkas na ito at mai-link ito habang nai-publish ang mga bahagi.
Ang BLOCK na ito ay ginagamit ng MQ2 ASSIMILATE SENSOR.
Inirerekumendang:
I-click ang Brick Switch para sa Makey Makey: 4 Hakbang (na may Mga Larawan)
I-click ang Brick Switch para sa Makey Makey: Ang naka-print na switch na 3D na ito ay magpapahintulot sa gumagamit na gawing isang " slide ng daliri " para sa isang " click " sa paglalaro o maaaring maging tama / kaliwang arrow upang mag-scroll sa mga pagtatanghal. Ang pagdaragdag ng kanan at kaliwang pag-mount ng terminal para sa
IOT123 - ASSIMILATE SENSOR: MQ2: 4 Hakbang
IOT123 - ASSIMILATE SENSOR: MQ2: ASSIMILATE SENSORS ay mga sensor ng kapaligiran na mayroong isang idinagdag na layer ng hardware at software abstraction, na ginagawang posible para sa ganap na mga bagong uri na maidagdag sa isang ASSIMILATE SENSOR HUB at ang mga pagbasa ay nai-pump sa isang MQTT server nang walang idinagdag na codin
IOT123 - LIR2032 BATTERY BRICK: 4 Hakbang
IOT123 - LIR2032 BATTERY BRICK: Ang IOT123 BRICKS ay mga modular unit ng DIY na maaaring mashed kasama ng iba pang IOT123 BRICKS, upang magdagdag ng pag-andar sa isang node o naisusuot. Nakabatay ang mga ito sa pulgadang parisukat, mga dobleng panig na mga protoboard na magkakaugnay sa pamamagitan ng mga butas. Bagaman ang nagtuturo
IOT123 - 3.3V POWER BRICK: 4 Hakbang
IOT123 - 3.3V POWER BRICK: Ang IOT123 BRICKS ay mga modular na yunit ng DIY na maaaring mashed sa iba pang mga IOT123 BRICKS, upang magdagdag ng pag-andar sa isang node o naisusuot. Nakabatay ang mga ito sa pulgadang parisukat, mga dobleng panig na mga protoboard na magkakaugnay sa pamamagitan ng mga butas. Bagaman ang nagtuturo
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: 4 Hakbang
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: Ang setup na ito ay higit na pang-akademiko o isang batayan para sa pagsubok ng software / power supply. Kahit na ang PB5 ay hindi pinagana bilang RESET, hindi nito binabasa ang mga halaga nang tumpak gamit ang analogRead: ang pangunahing kaso ng paggamit para sa mga pagbabasa ng sensor. Titingnan ba ang pag-setup ng ATTINY84