Zum Hauptinhalt springen

Schnellstart

Verbinden Sie das Breakout über Qwiic, installieren Sie die Bibliothek und geben Sie die Chlorkonzentration in ppm aus.

Sie programmieren den Controller, der mit diesem Breakout verbunden ist. Das Breakout selbst wird nicht geflasht: Sein ATtiny404 wird mit Werksfirmware geliefert.

Das Board läuft ausschließlich mit 3,3 V. Es hat keinen Regler, daher teilen sich die 3V3-Pins der Stiftleiste und beide Qwiic-Connectoren eine 3,3-V-Versorgung, die jeden Chip direkt speist. Schließen Sie keine 5 V daran an.

1. Das Breakout-Board verbinden​

Stecken Sie ein Qwiic-Kabel in einen der beiden Qwiic-Connectoren am Board und in den Qwiic- Connector Ihres Controllers. Jeder Qwiic-Connector führt 3V3, GND und den Haupt-I2C-Bus des Boards, sodass das eine Kabel das Board mit Strom versorgt und es anbindet.

NULA DeepSleepSoldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic)
Qwiic-ConnectorQwiic-Connector
Schaltplan: das NULA DeepSleep, über ein Qwiic-Kabel mit dem Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) verbunden

Ohne Qwiic: Verdrahtung auf dem Steckbrett​

Das Board ist nicht steckbrettkompatibel und lässt sich daher nicht in ein Steckbrett einstecken. Löten Sie die mitgelieferten Stiftleisten an und verbinden Sie die vier Pins der linken Hälfte der oberen Stiftleiste mit Jumperkabeln mit Ihrem Controller. SDA1 und SCL1 sind derselbe Bus wie an den Qwiic-Connectoren.

NULA DeepSleepSoldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic)
GNDGND
3V33V3
IO8SDA1
IO9SCL1
Schaltplan: das NULA DeepSleep, mit dem Soldered Electrochemical Cl2 Gas Sensor Breakout (Qwiic) verbunden: GND mit GND, 3V3 mit 3V3, IO8 mit SDA1, IO9 mit SCL1

SDA2 und SCL2 an derselben Stiftleiste sind der interne Bus des Boards zwischen dem ATtiny404, dem LMP91000 und dem ADS1115. Verbinden Sie Ihren Controller mit SDA1 und SCL1 (oder über Qwiic), niemals mit SDA2 und SCL2.

2. Die Bibliothek installieren​

Installieren Sie Electrochemical Gas Sensor Soldered aus dem zugehörigen GitHub-Repository.

🔗Arduino-Bibliothek Electrochemical Gas Sensor

Verifizierte Arduino-Bibliothek am Commit c4df54b

→

Tipp: Download von GitHub. Klicken Sie auf der GitHub-Seite der Bibliothek auf die grüne Schaltfläche Code und wählen Sie Download ZIP. Fügen Sie die Datei dann in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.

3. Das erste Beispiel ausführen​

Öffnen Sie bridgeBoard aus den Beispielen der Bibliothek. Es erstellt den Sensor an der Adresse 0x30, der Standardadresse des Boards, gibt Sensor initialized successfully! aus, sobald das Board antwortet, und gibt danach alle 2,5 s einen Messwert aus.

Das Beispiel erstellt den Sensor mit SENSOR_CO, der Voreinstellung der Bibliothek für die Kohlenmonoxid-Zelle. Die Bibliothek rechnet den Zellenstrom mit den Empfindlichkeits- und Verstärkungseinstellungen der Voreinstellung in ppm um. Ändern Sie daher vor dem Hochladen diese Zeile auf die Chlor-Voreinstellung dieses Boards:

ElectrochemicalGasSensor sensor(SENSOR_CL2, 0x30);

Der Kommentar am Anfang der Datei sagt, dass die Adresse mit den Jumpern auf der Rückseite des Boards eingestellt wird. Bei diesem Board stellt der ADDRESS-Schalter auf der Oberseite die Adresse ein, und sie ist standardmäßig 0x30, die Adresse, die das Beispiel verwendet (siehe Hardware-Details).

Der Kommentar am Anfang sagt außerdem, dass LMPEN fest mit GND verbunden ist. Bei diesem Board hält ein 10-kΩ- Widerstand LMPEN auf Low und es ist mit dem ATtiny404 verbunden, sodass Sie es unbeschaltet lassen (siehe Hardware-Details).

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

Das vollständige Beispiel öffnen

4. Das Ergebnis prüfen​

Öffnen Sie den Seriellen Monitor mit 115200 Baud. Wenn das Board antwortet, gibt es Sensor initialized successfully! aus, danach alle 2,5 s eine Zeile: Sensor reading: , die Chlorkonzentration in ppm mit fünf Nachkommastellen und PPM. Die Bibliothek meldet jedes Ergebnis unter null als 0. Ein Durchlauf mit diesem Board in sauberer Luft gab Folgendes aus:

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

Wenn stattdessen ERROR: Can't init the sensor! Check connections and jumper address! erscheint, hat das Board an 0x30 nicht geantwortet.

5. Wenn es nicht funktioniert​

Fahren Sie mit der Fehlerbehebung fort und wiederholen Sie dieses kleinste Beispiel nach jeder Änderung.