Skip to main content

Brzi početak

Povežite pločicu preko Qwiic konektora, instalirajte biblioteku i ispišite koncentraciju klora u ppm.

Programirate kontroler spojen na ovu pločicu. Sama pločica se ne programira: njezin ATtiny404 dolazi s tvorničkim firmwareom.

Pločica radi isključivo na 3,3 V. Nema regulator, pa 3V3 pinovi headera i oba Qwiic konektora dijele isto napajanje od 3,3 V koje izravno napaja svaki čip. Ne spajajte na nju 5 V.

1. Povežite pločicu​

Spojite Qwiic kabel na bilo koji Qwiic konektor na pločici i na Qwiic konektor na svojem kontroleru. Svaki Qwiic konektor vodi 3V3, GND i glavnu I2C sabirnicu pločice, pa jedan kabel napaja pločicu i povezuje je.

NULA DeepSleepSoldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic)
Qwiic konektorQwiic konektor
Shema spajanja: NULA DeepSleep povezan sa Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) Qwiic kabelom

Bez Qwiica: spajanje na eksperimentalnoj pločici​

Pločica nije kompatibilna s eksperimentalnom pločicom, pa se ne može utaknuti u nju. Zalemite priložene pin headere i četiri pina lijeve polovice gornjeg headera spojite na kontroler pomoću jumper žica. SDA1 i SCL1 su ista sabirnica kao i Qwiic konektori.

NULA DeepSleepSoldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic)
GNDGND
3V33V3
IO8SDA1
IO9SCL1
Shema spajanja: NULA DeepSleep povezan sa Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic): GND na GND, 3V3 na 3V3, IO8 na SDA1, IO9 na SCL1

SDA2 i SCL2 na istom headeru su unutarnja sabirnica pločice između ATtiny404, LMP91000 i ADS1115. Kontroler spajajte na SDA1 i SCL1 (ili Qwiic), nikada na SDA2 i SCL2.

2. Instalirajte biblioteku​

Instalirajte Electrochemical Gas Sensor Soldered iz njezina GitHub repozitorija.

🔗Arduino biblioteka Electrochemical Gas Sensor

Provjerena Arduino biblioteka u commitu c4df54b

→

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

3. Pokrenite prvi primjer​

Otvorite bridgeBoard iz primjera biblioteke. On stvara senzor na adresi 0x30, zadanoj adresi pločice, ispisuje Sensor initialized successfully! čim se pločica javi, a zatim ispisuje očitanje svakih 2,5 s.

Primjer stvara senzor pomoću SENSOR_CO, predloška biblioteke za ćeliju za ugljikov monoksid. Biblioteka pretvara struju ćelije u ppm pomoću postavki osjetljivosti i pojačanja iz predloška, pa prije učitavanja promijenite taj redak u predložak za klor za ovu pločicu:

ElectrochemicalGasSensor sensor(SENSOR_CL2, 0x30);

Komentar u zaglavlju kaže da se adresa postavlja jumperima na poleđini pločice. Na ovoj pločici adresu postavlja preklopnik ADDRESS na gornjoj strani, a zadano je 0x30, adresa koju primjer koristi (vidi Detalji o hardveru).

Komentar u zaglavlju kaže i da je LMPEN ožičen na GND. Na ovoj pločici otpornik od 10 kΩ drži LMPEN na niskoj razini i spojen je na ATtiny404, pa ga ostavite nespojenim (vidi Detalji o hardveru).

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);
}

Otvorite cijeli primjer

4. Provjerite rezultat​

Otvorite Serijski monitor na 115200 baud. Kad se pločica javi, ispisuje Sensor initialized successfully!, a zatim svakih 2,5 s redak: Sensor reading: , koncentraciju klora u ppm s pet decimala i PPM. Biblioteka svaki rezultat manji od nule prijavljuje kao 0. Mjerenje na ovoj pločici u čistom zraku ispisalo je:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
Sensor initialized successfully!
Sensor reading: 0.00124 PPM
Sensor reading: 0.00122 PPM
Sensor reading: 0.00132 PPM
Sensor reading: 0.00137 PPM

Ako umjesto toga vidite ERROR: Can't init the sensor! Check connections and jumper address!, pločica se nije javila na adresi 0x30.

5. Ako ne radi​

Nastavite s Otklanjanjem poteškoća i nakon svake promjene ponovno pokrenite ovaj najmanji primjer.