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.
- Arduino
- MicroPython
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 DeepSleep | Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) |
|---|---|
| Qwiic konektor | Qwiic konektor |
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 DeepSleep | Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) |
|---|---|
| GND | GND |
| 3V3 | 3V3 |
| IO8 | SDA1 |
| IO9 | 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).
/**
**************************************************
*
* @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. 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:
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.
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 DeepSleep | Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) |
|---|---|
| Qwiic konektor | Qwiic konektor |
Primjer modula otvara I2C sabirnicu 0 sa SCL na pinu 22 i SDA na pinu 21.
Promijenite te brojeve pinova u primjeru ako se Qwiic konektor vašeg kontrolera
ili pinovi koje spajate nalaze drugdje.
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 na pin koji koristite kao sda,
SCL1 na pin koji koristite kao scl.
| NULA DeepSleep | Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) |
|---|---|
| GND | GND |
| 3V3 | 3V3 |
| IO8 | SDA1 |
| IO9 | 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 modul
Nakon instalacije paketa mpremote instalirajte biblioteku na svoju pločicu sljedećom naredbom:
mpremote mip install github:SolderedElectronics/Soldered-ElectrochemicalGasSensor-MicroPython-Library
Ili, ako koristite Windows:
python -m mpremote mip install github:SolderedElectronics/Soldered-ElectrochemicalGasSensor-MicroPython-Library
Biblioteka je navedena i na mim.
Ove stranice opisuju modul u commitu 623e1e6. Gornja naredba ne navodi nijedan commit, pa instalira repozitorij u stanju u kojem je na dan kad je pokrenete.
🔗MicroPython biblioteka Electrochemical Gas Sensor
Izvorni kod modula u commitu 623e1e6, verziji koju opisuju ove stranice
Savjet: preuzimanje s GitHuba. Bez mpremote otvorite .py
datoteku modula na GitHubu i kliknite Download raw file, zatim je otvorite u Thonnyju i pomoću
File → Save as... → MicroPython device kopirajte na pločicu. Ova
biblioteka treba sve tri datoteke: ElectrochemicalGasSensor.py, ads1115.py i
lmp91000.py.
3. Pokrenite prvi primjer
Ovo je primjer modula electrochemical-bridgeBoard.py. On stvara
senzor na adresi 0x30, zadanoj adresi pločice, i ispisuje očitanje svakih 2,5 s.
Primjer koristi SENSOR_O3, predložak modula za ćeliju za ozon. Modul
pretvara struju ćelije u ppm pomoću postavki osjetljivosti i pojačanja iz predloška,
pa prije pokretanja promijenite SENSOR_O3 u SENSOR_CL2 na oba mjesta: u retku
import i u retku koji stvara senzor.
from ElectrochemicalGasSensor import ElectrochemicalGasSensor, SENSOR_CL2
sensor = ElectrochemicalGasSensor(SENSOR_CL2, i2c, adc_addr=0x30)
Komentar u primjeru 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).
Isti komentar kaže 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).
# FILE: electrochemical-bridgeBoard.py
# AUTHOR: Fran Fodor @ Soldered
# BRIEF: Single sensor PPM reading example for the ATtiny404 bridge board revision,
# which allows daisy-chaining multiple boards on one I2C bus.
# LAST UPDATED: 2026-07-23
# Connecting diagram:
#
# Qwiic------------------------>Qwiic
#
# Note: on this board revision, LMPEN is hardwired to GND, so there's no
# config_pin to set - it's ignored whenever adc_addr falls in the bridge
# range (0x30-0x37). Set the desired address using the jumpers on the back
# of the board before powering it on.
from machine import I2C, Pin
import time
from ElectrochemicalGasSensor import ElectrochemicalGasSensor, SENSOR_O3
# Initialize I2C
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
# (address = 0x30 + jumper offset, giving a range of 0x30-0x37).
# Any additional boards on the same bus just need a different jumper
# setting, same as twoSensors.py does for legacy boards with 0x49/0x4A/0x4B.
sensor = ElectrochemicalGasSensor(SENSOR_O3, i2c, adc_addr=0x30)
# -------------------------------------------------------------------------
# Setup
# -------------------------------------------------------------------------
print("Electrochemical Gas Sensor - ATtiny Bridge Board Example")
if not sensor.begin():
print("ERROR: Can't init the sensor! Check connections and jumper address!")
while True:
time.sleep_ms(100)
print("Sensor initialized successfully!")
# -------------------------------------------------------------------------
# Main loop
# -------------------------------------------------------------------------
while True:
reading = sensor.getPPM()
# If PPB is more relevant for your sensor, use:
# reading = sensor.getPPB()
print("Sensor reading: {:.5f} PPM".format(reading))
time.sleep_ms(2500)
🔗Otvorite cijeli primjer
Examples/electrochemical-bridgeBoard.py u commitu 623e1e6
4. Provjerite rezultat
Kad se pločica javi, shell prikazuje naslovni redak primjera i
Sensor initialized successfully!, a zatim svakih 2,5 s redak: Sensor reading: ,
koncentraciju klora u ppm s pet decimala i PPM. Modul
svaki rezultat manji od nule prijavljuje kao 0. Mjerenje na ovoj pločici u čistom zraku ispisalo je:
Electrochemical Gas Sensor - ATtiny Bridge Board Example
Sensor initialized successfully!
Sensor reading: 0.00125 PPM
Sensor reading: 0.00124 PPM
Sensor reading: 0.00125 PPM
Sensor reading: 0.00133 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.