Led durch Farbsensor steuern

Hallo,
Ich brauche Unterstützung, ich möchte, dass ein Farbsensor eine Farbe erkennt und zu jeder (Rot, Gelb oder grün) eine bestimmte Zeit eine LED Leuchten lässt.

Ist es möglich (über eine SD Karte oä), dass umso länger man die Farbe nicht gescannt hat, desto länger leuchtet die LED. Dazu müsste ja der arduino auf eine Art Datenbank zugreifen und auch wissen wie spät es ist.

Freue mich über jede Hilfe,
Auch gerne ganze Skripte!
Mfg Passi

Soll die Zeitinfo über das Reboot des Arduinos hinaus erhalten bleiben? Um welche Zeiträume geht es und wie genau soll die Zeit sein?

Gruß Tommy

Geht es evtl. etwas ausführlicher ?
Was für ein Sensor ?
Was für Leds ?
Was für Cardreader ?
Und was für Arduino ?

Achja....Sketch solltest du schon selbst schreiben, aber wir helfen dabei, wenn du uns die Informationen lieferst.

@Tommy
Ja am besten, es geht so um 2 Minuten Abstände.

Da gäbe es noch als Alternative zur SD den FRAM.

Gruß Tommy

Edit: Wenn Du unter 100.000 Schreibzyklen bleibst, kannst Du auch den internen EEPROM nehmen, falls Dein unbekannter Arduino einen hat.

Hey Dieter,
Also farbsensor würde ich den hier nehmen:

Und einfache Standard Leds .

Ich kenne mich nicht so aus und muss wissen, ob das überhaupt möglich ist.

Mfg

Ja, grundsätzlich ist das möglich. Auch mit deinem verlinkten Sensor.

Über die Genauigkeit kann ich leider nichts sagen.

Und wenn du einen Arduino verwendest, gibt es dafür sogar eine Library.

@Tommy
Okay habe ich noch nie gehört, sieht aber gut aus. Das Problem ist, dass die Zeit eben weiter erfasst werden muss und zu zb Rot dazugerechnet werden soll.

@Dieter
Das ist sehr gut zu hören, die Genauigkeit ist nicht so wichtig (also jetzt nicht im Millisekunden Bereich)

Wie heißt dann die Libary?
Würde einen Arduino Uno verwenden, das müsste ja passen.

Passi27:
Das Problem ist, dass die Zeit eben weiter erfasst werden muss und zu zb Rot dazugerechnet werden soll.

Aber nur während der UNO an ist. SOnst kann keiner was erfassen. Wenn Dir Sekunden als Genauigkeit genügt, kannst Du das auch ohne RTC machen. Wenn die Farbe wieder kommt, soll ja wohl die Zeit wieder zurück gesetzt werden.

Was machst Du eigentlich bei Mischfarben?

Gruß Tommy

Danke für die Antwort,
Sekunden wären ok, wie geht es denn dann?

Mein größtes Problem ist die Programmierung der Datenbank oder wie man das nennen darf. Also dass er weiß welche Farbe welche Werte hat und wann zurückgesetzt wurde.
Also die Zeiterfassung braucht ja nicht viel Strom, vielleicht könnte man das extern versorgen. Ja die Farbe soll dann zurückgesetzt werden, kenn mich nicht so aus, ist alles schon etwas her.
Mischfarben Plane ich nicht ein
Mfg

Zu den Zeiträumen hast Du ja noch nichts gesagt. Was ist denn die maximal mögliche Zeit (in Sekunden), die eine Farbe nicht vorkommt?
Das kannst nur Du wissen.

Gruß Tommy

Passi27:
@Dieter
Das ist sehr gut zu hören, die Genauigkeit ist nicht so wichtig (also jetzt nicht im Millisekunden Bereich)

Wie heißt dann die Libary?
Würde einen Arduino Uno verwenden, das müsste ja passen.

Library oder auch Bibliothek ist ein Stück Software, welche dir das Programmieren für das entsprechende Teil vereinfachen soll.
Die meisten Libraries liefern sogar Beispiele mit, die es dir sogar noch einfacher machen.
Für den Sensor gibt es unter anderem diese Library .

Moin,

bis hierher lese ich von dem Vorhaben nur relativ wirres Zeug, so dass sich zumindest bei mir noch kein Bild darüber bildet was du GENAU machen willst. So kann dir aber auch niemand helfen dein Problem zu lösen.
Ich vermute du brauchst überhaupt keine Datenbank, sondern musst dir nur eine Zeit merken.

Schraib doch mal genau auf, was dein Ziel ist. Also nicht wie das umsetzbar ist. Das sagen wor dir dann schon und geben dir Tipps was du dafür brauchst und wie du das anstellst, sondern was deine Idee ist.

Wo kommt die Farbe her?
Sind das Farbkarten, oder Farben von Äpfeln odereiner Ampel?
Nach welchen Regeln soll dann was daraus gemacht werden?
Und welche Ausgabe möchtest du haben?

@Dieter
Vielen Dank für die Erklärung!
@Tommy
Also denke so 500 Sekunden, ist alles noch nicht fest. Geh momentant nur um die Planung ...

themanfrommoon:
Moin,

bis hierher lese ich von dem Vorhaben nur relativ wirres Zeug, so dass sich zumindest bei mir noch kein Bild darüber bildet was du GENAU machen willst. So kann dir aber auch niemand helfen dein Problem zu lösen.
Ich vermute du brauchst überhaupt keine Datenbank, sondern musst dir nur eine Zeit merken.

Schraib doch mal genau auf, was dein Ziel ist. Also nicht wie das umsetzbar ist. Das sagen wor dir dann schon und geben dir Tipps was du dafür brauchst und wie du das anstellst, sondern was deine Idee ist.

Wo kommt die Farbe her?
Sind das Farbkarten, oder Farben von Äpfeln odereiner Ampel?
Nach welchen Regeln soll dann was daraus gemacht werden?
Und welche Ausgabe möchtest du haben?

Also ich möchte für ein Schulprojekt mit einem Gerät anzeigen lassen, wann ich das letzte Mal gegossen habe, also als Versuchsaufbau sind dann eben 2 Blumentöpfe in 2 unterschiedlichen Farben und dann zeigt die LED an, wie lange nicht gegossen wurde.

Hoffe das hilft etwas
Mfg

Also solltest Du mit unsigned int hinkommen. Das sind dann 6 Byte, die Du speichern musst.
Aller wieviel Zeit erfolgt eine Abtastung? SD halte ich für Verschwendung, da die allein für den Sektorpuffer 512 Byte RAM braucht.

Zum FRAM noch eine Info: Der verliert seinen Inhalt auch ohne Strom nicht, ist schneller, als ein EEPROM und hat 1014 Schreibzyklen und kann über I2C (oder SPI) angeschlossen werden.
Ich habe für die I2C-Varianten mal eine Lib gebaut.

Gruß Tommy

Also ich möchte für ein Schulprojekt mit einem Gerät anzeigen lassen, wann ich das letzte Mal gegossen habe, also als Versuchsaufbau sind dann eben 2 Blumentöpfe in 2 unterschiedlichen Farben und dann zeigt die LED an, wie lange nicht gegossen wurde.

Achso!
Das heisst über die Farbe kodierst du die Adresse, und zu jeder Adresse gibt es einen Timer, in dem der letzte Gießvorgang gespeichert ist.
Das soll aber nur eine Demo sein und keinen praktischen Einsatzzweck haben.
Wie oft wird die Demo denn laufen? Vermutlich weniger als 1000 Mal?
Und das Lesegerät wird zwischendurch auch mal ausgeschaltet und die Uhr soll trotzdem weiterlaufen?

Dann reicht doch das Eprom, aber du brauchst ne Uhr und das Datum, also entweder eine RTC oder Zeit von nem NTP Server online lesen.

Also bitte mal weiter spezifizieren!

@tommy
Okay das klingt echt gut, vielen Dank !

@moon
Genau also zu Showzwecken soll es halt funktionieren und ja wahrscheinlich nicht mehr als 1000 Mal.
Ja also über nen Server ist zu kompliziert denk ich ?

Passi27:
@tommy
Okay das klingt echt gut, vielen Dank !

Die Frage ignorierst Du wieder.

Gruß Tommy