Forum: Mikrocontroller und Digitale Elektronik Programm für bestimmte Spannung und LED lichter


von Markus (Gast)


Lesenswert?

Servus Leute,

ich wollte für ne Platine die an PORT.A und PORT.B LEDs besitzt eine 
Spannungsanzeige machen und zwar mit C.
Ab 5V sollen an PORT.B 2LEDs leuchten egal welche.

Wie könnte ich das jetzt z.b. am einfachsten programmieren? :-)


Ich bedanke mich mal schon im vorraus für eure Hilfe :D
Falls es wichtig sein sollte das ist eine PIC platine die ich mir 
angefertigt habe

von MaWin (Gast)


Lesenswert?

> Falls es wichtig sein sollte
> das ist eine PIC platine die ich mir angefertigt habe

Ab 5V geht der Prozessor bzw. sein Analogeingang
kaputt, das ist alles.

von Pascal K. (zerb)


Lesenswert?

Hallo,

schau mal hier auf sprut. Eventuell hilft dir das weiter.
http://sprut.de/electronic/pic/programm/adc/adc.html

ABER wie gesagt wurde ab mehr als 5V ist dein PIC beschädigt. Evtl. bei 
maximal 12V: 4k7 mit 10k (dazwischen 4k7 auf Masse) an + vom OP, - vom 
OP auf Ausgang. = Impedanzwandler = 0 bis 12V sind nun ca. 0-5V (eher 
6V) halt Widerstände anpassen. Ausgang an µC. Sollte funktionieren.

von Markus (Gast)


Lesenswert?

Ach ich Depp bin auf die falsche Taste gekommen 3V tschuldigung wegem 
fehler :D

von Pascal K. (zerb)


Lesenswert?

Na dann vergiss einfach die OP Schaltung und schau dir das von sprut an 
:).

Edit: Sorry du hattest ja garnicht gesagt ob .c oder .asm ...

Gruß

von Markus (Gast)


Lesenswert?

ja am besten wäre .c aber .asm wäre auch ok^^  hättest du noch eins für 
.c oder .asm?

von Pascal K. (zerb)


Lesenswert?

Nochmal als Verständnisfrage. Möchtest du das erst ab 3V zwei LEDs 
leuchten und vorher nichts ?

von Markus (Gast)


Lesenswert?

Ja eig wollte ich es so machen das ab 0-2v 2 leds an port a leuchten und 
ab 3 v an port b 2 leds leuchten.

von Pascal K. (zerb)


Lesenswert?

Hoffe ich denke nun richtig :):

Du nimmst als Referenzspannung 5V:

5V/256-1 Bit Auflösung = 19,60 mV
=>
deine z.B. 3V ab wann es leuchten soll/19,60mV => 153,06 => 99h

Also musst du lediglich später im Programm abfragen ob 99h schon 
erreicht ist und dann die LEDs an PORT B einschalten.

Gleiches auch für PORT A.

Ist es egal ob die LEDs gleichzeitig leuchten oder sollen ab 3V die zwei 
an PORT A ausgehen ?

EDIT: Das wäre eigtl ideal für dich! 
http://sprut.de/electronic/pic/programm/st/st.html

Gruß!

von Markus (Gast)


Lesenswert?

Ab 3V sollten die zwei Leds an PORT.A ausgehen.

Wie sollte ich des Programm schreiben dafür in .c oder .asm hättest du 
da für mich ein bsp vllt.?

Danke für deine Hilfe! :)

von Pascal K. (zerb)


Lesenswert?

Kein Problem. Der Link oben ist eigtl. ziemlich gut für deine Anwendung 
gedacht.

Du musst erstmal deine Schwellen ausrechnen (99h als Bsp.) und diese 
musst du dann per subwf von der LED ein oder ausschaltgröße abziehen. 
Anschließend das Carry Bit abfragen ob 0 oder 1 und was er nun mit 
welchen LEDs anstellen soll.

Das andere drumherum wäre eben den ADC initalisieren sowie deine Ports 
etc. am besten mal ein bisschen durch das .asm Beispiel von sprut lesen.

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.