Zum Hauptinhalt springen

Schnellstart

Verbinden Sie das Breakout über Qwiic, installieren Sie die Bibliothek und führen Sie ein Beispiel aus, das alle 2,5 Sekunden eine Gaskonzentration in PPM ausgibt. In Schritt 3 sehen Sie, wie Sie es für die H2S-Zelle dieses Boards einrichten. Das Board antwortet werkseitig unter der I2C-Adresse 0x30.

Sie programmieren den Controller, der mit diesem Breakout verbunden ist. Das Breakout selbst wird nicht geflasht.

1. Das Breakout-Board anschließen​

Stecken Sie ein Qwiic-Kabel in einen der beiden Qwiic-Connectoren am Breakout und in den Qwiic-Connector an Ihrem Controller. Beide Connectoren führen denselben I2C-Bus und dieselbe 3,3-V-Versorgung.

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

Ohne Qwiic: Verdrahtung auf dem Steckbrett​

Verwenden Sie stattdessen die obere Stiftleiste. Versorgen Sie das Board nur mit 3,3 V: Es hat keinen Spannungsregler.

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

2. Die Bibliothek installieren​

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

🔗Electrochemical Gas Sensor Soldered

Verifizierte Arduino-Bibliothek bei 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​

Dies ist das Beispiel bridgeBoard der Bibliothek, das mit dem Board unter 0x30 kommuniziert. Es ist mit SENSOR_CO geschrieben, dem Kohlenmonoxid-Preset der Bibliothek, daher sind seine PPM-Werte keine H2S-Werte.

Stellen Sie es nicht unverändert auf das Preset SENSOR_H2S der Bibliothek um. Dieses Preset ist für die Zelle SGX-4H2S-100 mit einer Empfindlichkeit von 1200 nA pro ppm geschrieben. Dieses Board trägt die Zelle SGX-4H2S-300, deren Datenblatt ein Ausgangssignal von 460 ± 140 nA pro ppm angibt. Mit SENSOR_H2S fällt der Messwert daher etwa 2,6-mal zu niedrig aus.

Geben Sie der Bibliothek stattdessen einen benutzerdefinierten Sensortyp: die Einstellungen von SENSOR_H2S mit der Empfindlichkeit des SGX-4H2S-300, 460 nA pro ppm. Fügen Sie ihn oberhalb der Zeile ein, die sensor erzeugt, und übergeben Sie ihn anstelle von SENSOR_CO:

const sensorType SENSOR_CUSTOM = {
460.0F, // nanoAmperesPerPPM
0, // internalZeroCalibration
ADS_GAIN_4_096V, // adsGain
TIA_GAIN_7_KOHM, // TIA_GAIN_IN_KOHMS
RLOAD_10_OHM, // RLOAD
REF_EXTERNAL, // REF_SOURCE
INTERNAL_ZERO_20_PERCENT, // INTERNAL_ZERO
BIAS_SIGN_POSITIVE, // BIAS_SIGN
BIAS_0_PERCENT, // BIAS
FET_SHORT_DISABLED, // FET_SHORT
OP_MODE_3LEAD_AMP_CELL, // OP_MODE
};

ElectrochemicalGasSensor sensor(SENSOR_CUSTOM, 0x30);

Es folgt das unveränderte Beispiel.

Select Board
bridgeBoard.ino
// Include the required library
#include "Electrochemical-Gas-Sensor-SOLDERED.h"

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

Vollständiges Beispiel öffnen

4. Das Ergebnis prüfen​

Öffnen Sie den Serial Monitor mit 115200 Baud. Wenn das Board antwortet, sehen Sie:

Serial MonitorAutoscrollShow timestampNewline115200 baud
Message (Enter to send message to the board)
Sensor initialized successfully!
Sensor reading: 0.00217 PPM
Sensor reading: 0.00213 PPM
Sensor reading: 0.00216 PPM
Sensor reading: 0.00220 PPM

Alle 2,5 Sekunden folgt eine neue Zeile Sensor reading: mit der Konzentration in PPM auf fünf Dezimalstellen. Die obigen Werte sind ein Beispiel von einem Board auf unserem Prüfstand; Ihre hängen vom Gas in der Umgebung des Sensors und vom Sensortyp ab, den Ihr Sketch verwendet. Die Bibliothek meldet nie einen Wert unter null: Stattdessen gibt sie 0 zurück, daher ist 0.00000 ein normaler Messwert.

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

5. Wenn es nicht funktioniert​

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