WSAL19564 – AS7341 Spectral Color Sensor
Erscheinungsbild
Dokumentationshinweis: Diese technische Dokumentation wurde aus einer archivierten Lieferantenquelle neu formuliert. Technische Angaben und Befehle müssen vor der Verwendung mit der Produktversion und den Herstellerunterlagen abgeglichen werden.
Zusammenfassung
Der AS7341-Spektralfarbsensor von Waveshare nutzt den AS7341-Chip mit 8 sichtbaren Spektralkanälen, einem Nahinfrarotkanal und einem Filterlos-Kanal. Er kommuniziert über I2C (Adresse 0x39), bietet 6 unabhängige 16-Bit-ADCs für parallele Datenverarbeitung und zwei Helligkeitsregulierbare LEDs als Ausleuchtung bei schwachem Licht.
Zugeordnete Produkte bei JW Tech
Technische Übersicht
- Kernchip: AS7341-DLGM, ein 11-Kanal-IC für Spektrumerkennung und Farbanpassung; spektrale Antwort etwa 350–1000 nm.
- Sechs Kanäle werden über unabhängige ADCs parallel verarbeitet; die übrigen Kanäle werden über einen Multiplexer (SMUX) abgefragt.
- I2C-Geräteadresse des AS7341 ist 0x39 (siehe Datenblatt, Seite 21).
- Betriebsspannung: 3,3 V oder 5 V; Betriebsstrom ca. 20 mA (LED aus) bzw. 70 mA (LED an).
- Abmessungen: 30,5 mm × 23 mm; Befestigungslochung 2,0 mm.
- Pinbelegung: 1 VCC, 2 GND, 3 SDA, 4 SCL, 5 INT (Unterbrechungs-Ausgang), 6 GPIO (Allzweck-E/A).
- Zwei hochhelle LEDs dienen als Ausleuchtung im dunklen Umgebungslicht; Helligkeit programmierbar.
- Ein dedizierter Kanal detektiert Flackern des Umgebungslichts bei 100 Hz oder 120 Hz; Integrationszeit und Verstärkung sind anpassbar.
- SYNS-Modus: Messungen werden durch einen fallenden Flankenimpuls am GPIO-Pin ausgelöst; der GPIO ist standardmäßig nicht direkt verbunden.
- Spektralunterbrechung: obere/untere Schwellwerte programmierbar; der auslösende Kanal kann zwischen CH0–CH4 gewählt werden.
- Verfügbare Demoprojekte: Getdata, Getflicker, Syns, INT, pinINT, Clear – jeweils für Arduino, STM32 und Raspberry Pi.
Befehle und Beispiele – vor Ausführung prüfen:
AS7341_EnableLED(true); // LED Enable
AS7341_ControlLed(false,10);//Turn on or off the LED and set the brightness of the LED
while(!AS7341_MeasureComplete()); // Jump out of this loop when GPIO receives a valid signal.
AS7341_SetInterruptPersistence(0); // Set the sensitivity of spectrum interruption
AS7341_SetSpectralThresholdChannel(4); //Set the channel to detect interrupts
Hinweise und Versionsgrenzen
- Beim SYNS-Test muss der GPIO-Pin kurzzeitig auf Hochpegel gezogen und dann freigegeben werden, um eine fallende Flanke zu erzeugen; der Pin ist serienmäßig nicht dauerhaft verbunden.
- Bei Problemen mit nullwerten im Seriendatenstrom: Prüfen Sie die Hardwareverbindung, insbesondere dass SDA und SCL nicht vertauscht sind; nach dem Trennen und Neustart neu verbinden.
- Die Demo wurde auf NUCLEO-F103RB (STM32RBT6) und OpenH743I-C (STM32H743IIT6) verifiziert; bei Migration auf andere Boards müssen Pinbelegung und Konfiguration angepasst werden.
- Die I2C-Adresse 0x39 stammt aus dem Datenblatt; bei Adresskonflikten im Bus muss die Adresse ggf. angepasst werden – dies erfordert manuelle Bestätigung.
- Die Demo verwendet seriellen Port 2 (PA2, PA3) mit 115200 Baud, 8 Datenbits, 1 Stopbit, keine Parität; Abweichungen erfordern Anpassung der Konfiguration.
Quelle und Revisionsnachweis
- AS7341 Spectral Color Sensor - Waveshare Wiki
- Quellrevision: 99320
- Erfasst: 2026-09-01T04:30:33+00:00
- SHA-256:
20004dabc0dcf9167b9b8f07d19483c73a96510a19dee81232fa9979bb20f488