Zum Hauptinhalt springen

Schnellstart

Verbinden Sie das Breakout mit einem Qwiic-Kabel mit Ihrem Controller, installieren Sie die Bibliothek und führen Sie das erste Beispiel aus. Das Beispiel wird mit der Voreinstellung für ein anderes Gas ausgeliefert. In Schritt 3 steht, welchen Namen Sie ändern müssen, um Ammoniak in ppm zu messen. Das Board antwortet auf der I2C-Adresse 0x30, bis Sie seinen ADDRESS-Schalter verstellen.

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

1. Breakout-Board verbinden​

Mit Qwiic entfällt das Löten: Stecken Sie ein Ende eines Qwiic-Kabels in Ihren Controller und das andere in einen der beiden Qwiic Connectors am Breakout. Das Kabel führt 3,3 V, GND und die I2C-Leitungen.

NULA DeepSleepSoldered Electrochemical NH3 Gas Sensor Breakout (Qwiic)
Qwiic ConnectorQwiic Connector
Schaltplan: Das NULA DeepSleep ist über ein Qwiic-Kabel mit dem Soldered Electrochemical NH3 Gas Sensor Breakout (Qwiic) verbunden

Das Board arbeitet ausschließlich mit 3,3 V und hat keinen Spannungsregler. Die Stiftleiste und beide Qwiic Connectors teilen sich diese eine 3,3-V-Versorgung, speisen Sie sie daher niemals mit 5 V.

Ohne Qwiic: Verdrahtung mit Jumper-Kabeln​

Das Board ist nicht Steckbrett-kompatibel, verbinden Sie es daher mit Jumper-Kabeln an den Pins der Stiftleiste. Verbinden Sie das Paar SDA1/SCL1 der Stiftleiste, also denselben Bus, den die Qwiic Connectors führen, mit den I2C-Pins Ihres Controllers. Lassen Sie SDA2/SCL2 unbeschaltet: Dieses Paar ist der interne Bus des Boards zwischen dem ATtiny404, dem Analog-Frontend und dem ADC.

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

2. Bibliothek installieren​

Installieren Sie Electrochemical Gas Sensor Soldered aus dem GitHub-Repository als .ZIP-Bibliothek. Die ZIP-Datei enthält die Bibliothek im aktuellen Stand des main-Branches, nicht eines festen Commits. Diese Seiten wurden gegen den Commit c4df54b geprüft, den der folgende Link öffnet.

🔗Electrochemical Gas Sensor Soldered

Geprüfte 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 ZIP herunterladen. Fügen Sie die Datei dann in der Arduino IDE über Sketch → Bibliothek einbinden → .ZIP-Bibliothek hinzufügen... hinzu.

3. Erstes Beispiel ausführen​

Dies ist das Beispiel bridgeBoard der Bibliothek, geschrieben für die ATtiny404-Bridge dieses Boards. Es erstellt den Sensor auf der Adresse 0x30, startet ihn und gibt alle 2,5 Sekunden einen Messwert aus. Wenn Sie den ADDRESS-Schalter verstellt haben, antwortet das Board stattdessen auf dieser Adresse (0x30 bis 0x37).

Das Beispiel erstellt den Sensor mit SENSOR_CO, der Voreinstellung der Bibliothek für Kohlenmonoxid. SENSOR_NH3 ist die Voreinstellung der Bibliothek für die SGX-4NH3-Zelle auf diesem Board, und die ppm-Umrechnung verwendet die Empfindlichkeit der Voreinstellung: 70 nA/ppm für SENSOR_CO, 40 nA/ppm für SENSOR_NH3. So wie es ausgeliefert wird, sind die Messwerte des Beispiels daher keine Ammoniak-ppm. Um Ammoniak zu messen, ändern Sie in der Zeile, die den Sensor erstellt, SENSOR_CO in SENSOR_NH3.

Die Kommentare im Beispiel sagen, die Adresse werde mit Jumpern auf der Rückseite des Boards gesetzt. Bei diesem Board wird die Adresse mit dem ADDRESS-Schalter mit drei Stellungen gesetzt. Die in den Kommentaren genannten 0x49/0x4A/0x4B sind ADS1115-Adressen, keine Adressen, auf denen dieses Board antwortet. Wo die Kommentare sagen, LMPEN sei fest mit GND verbunden: Bei diesem Board zieht ein 10-kΩ-Widerstand es auf GND, lassen Sie es unbeschaltet.

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. Ergebnis prüfen​

Öffnen Sie den Seriellen 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!

Danach folgt alle 2,5 Sekunden eine Zeile, die mit Sensor reading: beginnt, mit der Konzentration in ppm auf fünf Nachkommastellen. Die Bibliothek meldet nie eine negative Konzentration: Ein Ergebnis unter null wird als 0 ausgegeben.

Wenn stattdessen ERROR: Can't init the sensor! Check connections and jumper address! erscheint, hat das Board nicht auf der Adresse im Sketch geantwortet.

5. Wenn es nicht funktioniert​

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