Seite 1 von 1

Vergleich zweier Ausgaben von einem Farbsensor

Verfasst: Sonntag 21. Mai 2023, 08:36
von Schlangenmensch
Hallo liebe Forummitglieder,

ich habe für meinen Pico ein kleines Programm erstellt mit dem ich anhand eines Farbsenors Farben von Oberflächen erkennen möchte.

Das ganze funktioniert soweit auch ganz gut. Was mich nun aber interessiert, ist die Ausgabe vom Programm bzw. wie diese von Python gelesen wird "(2,2,3,4)".

Wenn ich dem Programm zum Beispiel eine if farb >= (2,2,3,4) Bedingung hinzufüge, würden hier dann die ganze Zahlenreihe verglichen oder ist die Bedingung auch dann erfüllt wenn nur eine der Zahlen grösser ist.

Code: Alles auswählen

from machine import Pin
from machine import SoftI2C
from tcs34725 import TCS34725
from time import sleep

i2c_bus = SoftI2C(scl=Pin(17), sda=Pin(16))
tcs = TCS34725(i2c_bus)

while True:
	
	farb = tcs.read('raw')
	
	print(farb)
	sleep(1)
Ich hoffe ich konnte mein Anliegen einigermassen beschreiben.

Re: Vergleich zweier Ausgaben von einem Farbsensor

Verfasst: Sonntag 21. Mai 2023, 08:42
von __deets__
Das ist lexikographisch sortiert. Es wird paarweise von links nach rechts verglichen, und sobald die Bedingung erfuellt ist, war es das.

Es gibt verschiedene Abstandsmasse fuer Farben, die du benutzen kannst. Bei gut uenterscheidbaren Farben zB einfach in HSV wandeln, und bei ausreichenden SV Anteilen den Abstand zu H bestimmen mit einer Vergleichsfarbe.

Re: Vergleich zweier Ausgaben von einem Farbsensor

Verfasst: Sonntag 21. Mai 2023, 08:54
von Schlangenmensch
Vielen Dank für die schnelle Antwort.

Zu verstehen wie die Werte vom Programm gelesen werden hilft mir schonmal enorm weiter. Mit dem Umwandeln der Farben muß ich mich dann zuerst noch beschäftigen.

Wünsche noch einen schönen Sonntag.