PIC 16F84A mit TCS230 ansteuern

Persönliche Seite #728747
Lesenswert?

des ding wandelt licht in eine frequenz um
also wirst du schonmal einen frequenzzähler benötigen (schau mal bei 
sprut)

und als weiteren tip empfehle ich das studium des datenblatts und die 
suche nach app-notes

ich weiss jetzt net wie gross der code für den frequenzzähler is aber
könnte eng werden je nach dem wieviel schnickschnack du noch auf dem 
display anzeigen lassen willst (300 worte code für display)
#744016
Lesenswert?

Also, Schritt für Schritt:

o Du hast MPLAB?

o Willst Du in Assembler oder C oder... programmieren?

o Hast Du einen Programmer oder Debugger?

o Welchen?

o Nochmals: muss es der PIC16F84A sein? Weshalb?

o Mit welchen PICs hast Du Dich in den letzten drei Jahren beschäftigt?

o Was hast Du damit gemacht?

o Hast Du das Datenblatt des PIC16F84A studiert?

o Ist Dir klar, wie der Sensor angesteuert werden muss?
Gast #907556
Lesenswert?

Also ich würde den Tnread gerne noch fortführen.

Allerdings verwende ich keinen PIC 16F84A (will auch nichts ausgeben) 
sondern ATMEGA8, das Programm soll in C geschrieben werden

1. "Wie muss ich ein und Ausgänge setzen?"

Datenblatt sagt folgendes:
S0 und S1 zum Frequenz teilen, 100% -> beide High
MIt S2 und S3 wählst du den Farbfilter, beide High wäre dann die Reihe 
Dioden mit dem roten Farbfilter.

negierten OE auf Masse, Rest dürfte Klar sein

2. Das Programm in C

Hier hab ich auch meine Probleme und hätte mir Hilfe erhofft. Timer ist 
mir aus dem Datenblatt natürlich ein Begriff, habe aber keine Ahnung wie 
ich  ihn als Counter nutze, ansteuere oder das richtige register wähle.
Das Programm als Structogramm ist eiglich ganz einfach. Timer Starten 
bei der postiven Flanke und stoppen bei der negativen. (oder Impulse auf 
gewisste Zeit, bzw. benötigte Zeit auf bestimmte Anzahl von impulsen)
#911168
Lesenswert?

16bit Timer frei laufen lassen und Capture-Input verwenden, mit 
Interrupt oder ohne je nach Geschmack. Die Differenz zweier aufeinander 
folgender Capture Werte berechnen, und fertig ist die Frequenz (naja, 
der Kehrwert davon).

Den Frequenzbereich vom Sensor und/oder den Prescaler vom Timer so 
wählen, dass die Zeit zwischen den Captures auch bei maximaler Frequenz 
nicht zu klein und damit ungenau wird, aber am anderen Ende der Skala 
auch nicht den Zählbereich des Timers überschreitet. Will man 
gleichermassen Mondlicht und Sonneneinstrahlung rauskriegen, muss man 
ggf. Frequenzbereich oder Prescaler bedarfsgemäss umschalten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren