Skip to main content

Brzi početak

Povežite pločicu s kontrolerom pomoću Qwiic kabela, instalirajte biblioteku i pokrenite njezin prvi primjer. Primjer se isporučuje s postavkom za drugi plin, pa korak 3 navodi koji naziv treba promijeniti da biste očitavali amonijak u ppm. Pločica odgovara na I2C adresi 0x30 dok ne pomaknete njezinu sklopku ADDRESS.

Programirate kontroler spojen na ovu pločicu. Sama pločica se ne programira.

1. Povežite pločicu​

Qwiic znači bez lemljenja: jedan kraj Qwiic kabela utaknite u kontroler, a drugi u bilo koji Qwiic konektor na pločici. Kabel prenosi 3,3 V, GND i I2C linije.

NULA DeepSleepSoldered Electrochemical NH3 Gas Sensor Breakout (Qwiic)
Qwiic konektorQwiic konektor
Dijagram ožičenja: NULA DeepSleep povezan sa Soldered Electrochemical NH3 Gas Sensor Breakout (Qwiic) Qwiic kabelom

Pločica radi isključivo na 3,3 V i nema regulator. Header i oba Qwiic konektora dijele to isto napajanje od 3,3 V, zato ga nikada ne napajajte s 5 V.

Bez Qwiica: ožičenje jumper žicama​

Pločica nije kompatibilna s eksperimentalnom pločicom, stoga je jumper žicama spojite na pinove headera. Par SDA1/SCL1 na headeru, istu sabirnicu koju nose Qwiic konektori, spojite na I2C pinove kontrolera. Par SDA2/SCL2 ostavite nespojen: to je vlastita sabirnica pločice između ATtiny404, analognog ulaznog stupnja i ADC-a.

NULA DeepSleepSoldered Electrochemical NH3 Gas Sensor Breakout (Qwiic)
GNDGND
3V33V3
IO8SDA1
IO9SCL1
Dijagram ožičenja: NULA DeepSleep povezan sa Soldered Electrochemical NH3 Gas Sensor Breakout (Qwiic): GND na GND, 3V3 na 3V3, IO8 na SDA1, IO9 na SCL1

2. Instalirajte biblioteku​

Instalirajte Electrochemical Gas Sensor Soldered iz njezina GitHub repozitorija kao .ZIP biblioteku. ZIP sadrži biblioteku onakvu kakva je danas u grani main, a ne fiksni commit. Ove su stranice provjerene prema commitu c4df54b, koji otvara poveznica u nastavku.

🔗Electrochemical Gas Sensor Soldered

Provjerena Arduino biblioteka na commitu c4df54b

→

Savjet: preuzimanje s GitHuba. Na GitHub stranici biblioteke kliknite zeleni gumb Code i odaberite Download ZIP, zatim ga dodajte u Arduino IDE putem Sketch → Include Library → Add .ZIP Library....

3. Pokrenite prvi primjer​

Ovo je primjer bridgeBoard iz biblioteke, napisan za ATtiny404 most na ovoj pločici. Stvara senzor na adresi 0x30, pokreće ga i ispisuje očitanje svakih 2,5 sekunde. Ako ste pomaknuli sklopku ADDRESS, pločica umjesto toga odgovara na toj adresi (od 0x30 do 0x37).

Primjer stvara senzor s postavkom SENSOR_CO, bibliotečnom postavkom za ugljikov monoksid. SENSOR_NH3 je postavka biblioteke za ćeliju SGX-4NH3 na ovoj pločici, a pretvorba u ppm koristi osjetljivost iz postavke: 70 nA/ppm za SENSOR_CO, 40 nA/ppm za SENSOR_NH3. Zato očitanja iz primjera, onakvog kakav se isporučuje, nisu ppm amonijaka. Da biste očitavali amonijak, promijenite SENSOR_CO u SENSOR_NH3 u retku koji stvara senzor.

Komentari u primjeru kažu da se adresa postavlja jumperima na poleđini pločice. Na ovoj se pločici adresa postavlja sklopkom ADDRESS s tri položaja. Adrese 0x49/0x4A/0x4B koje komentari spominju adrese su ADS1115, a ne adrese na kojima ova pločica odgovara. Tamo gdje komentari kažu da je LMPEN čvrsto spojen na GND, na ovoj ga pločici na GND povlači otpornik od 10 kΩ: ostavite ga nespojenim.

Select Board
bridgeBoard.ino
/**
**************************************************
*
* @file bridgeBoard.ino
* @brief See how to init a sensor on the new ATtiny404 bridge board revision,
*
* To successfully run the sketch:
* - Set the desired address using the jumpers on the back of the board
* (address = 0x30 + jumper offset, giving a range of 0x30-0x37)
* - Run the sketch and open serial monitor at 115200 baud!
*
* Note: on this board revision, LMPEN is hardwired to GND, so there's
* no configPin argument to pass - the constructor's third argument
* is ignored whenever the address falls in the bridge range (0x30-0x37).
*
* @authors @ soldered.com
***************************************************/

// Include the required library
#include "Electrochemical-Gas-Sensor-SOLDERED.h"

// Any additional boards on the same bus just need a different jumper setting
// (0x30-0x37), same as twoSensors.ino does for legacy boards with 0x49/0x4A/0x4B.
ElectrochemicalGasSensor sensor(SENSOR_CO, 0x30);

void setup()
{
Serial.begin(115200); // For debugging

// Init the breakout
if (!sensor.begin())
{
// Can't init? Notify the user and go to infinite loop
Serial.println("ERROR: Can't init the sensor! Check connections and jumper address!");
while (true)
delay(100);
}

Serial.println("Sensor initialized successfully!");
}

void loop()
{
// Make the reading
double reading = sensor.getPPM();

// If PPB is more relevant for your sensor, you can use:
// double reading = sensor.getPPB();

// Print the reading with 5 digits of precision
Serial.print("Sensor reading: ");
Serial.print(reading, 5);
Serial.println(" PPM");

// Wait a bit before reading again
delay(2500);
}

4. Provjerite rezultat​

Otvorite Serijski monitor na 115200 baud. Kada pločica odgovori, vidjet ćete:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
Sensor initialized successfully!

Nakon toga svakih 2,5 sekunde slijedi redak koji počinje s Sensor reading:, s koncentracijom u ppm na pet decimala. Biblioteka nikada ne javlja negativnu koncentraciju: rezultat ispod nule ispisuje se kao 0.

Ako umjesto toga vidite ERROR: Can't init the sensor! Check connections and jumper address!, pločica nije odgovorila na adresi navedenoj u skici.

5. Ako ne radi​

Nastavite s Rješavanjem problema i nakon svake promjene ponovno pokrenite ovaj najmanji primjer.