Archiv verlassen und diese Seite im Standarddesign anzeigen : Fließender Übergang von Kathoden mit mega8?!?!
Hallo Leute!!
Ich programmiere ja mit Mega8...
So nun hat mich mein Freund gefragt, ob ich ihm etwas proggen könnte, wo er auf nen Taster drückt, und dann Kathoden langsam von der einen Farbe (rot) in die andere Farbe (grün) wechseln..
Wir haben uns gedacht, dass man des evtl. mit nem Optocopler machen könnte, doch ich weiß den programm code net....
Also ich denk mal A/D wandler, doch den versteh ich nicht so richtig......
Vielleicht kann mir ja jemand von eich weiterhelfen!!!
MFG
NRG ](*,)
bluebrother
18.07.2005, 10:10
Kathoden langsam von der einen Farbe (rot) in die andere Farbe (grün) wechseln
was soll das genau sein? Ich kann mir da drunter nix vorstellen. Meinst du vielleicht ne Dual-LED?
ne.......... wenn man an eine kaltlichtkathode die vom pc............ weniger strom dran tut, dann werden die dunkler..............
du könntest die LED zwischen einem normalen portpin und einem PWM-port anschließen.
dann gibt es zwei fälle:
a) grüne LED -> pin auf low, pwm regelt leuchtstärke
b) rote LED -> pin auf high, pwm mit invertiertem tastverhältnis (also 0 = volle leistung, 255 = aus)
ahja also wenn ich den port als eingang definiere, dann is er low.... und dann kann ich des mithilfe von pwm machen oder hab ich da was falsch verstanden?! *gg*
MFG
NRG O:)
du schließt die LED zwischen zwei portpins an. wenn nun einer von ihnen auf high und der andere auf low gelegt wird, liegt zwischen ihnen eine spannung für die LED an. dabei lässt sich die polung verändern, sodass zwischen den farben umgeschaltet werden kann.
der PWM.port schaltet schnell zwischen high und low hin und her. dabei ergibt sich dann, dass er mal dasselbe potential hat wie der zweite portpin, dann ist die spannung null, mal ein unterschiedliches potential also spannung. duirch das schnelle umschalten kommt an der LED nur noch ein teil der normalen energie an, sodass sie weniger hell leuchtet...
Ähm Leute...
er will CCFLs (http://www1.conrad.de/scripts/wgate/zcop_b2c/!?perform_special_action=Produktdetail&product_show_id=581757) dimmen und keine LEDs
ja egal ich schließ ja einfach nen optokopler an dann passt die sache..... is scho ok. mit leds
aber des von ueweg check ich irgendwie net! *gg*
also ich hab hier mal einen code gefunden, mit dem die led heller und dunkler wird wenn man an dem poti dreht........ könnt ich des evtl. umschreiben, dass es ohne poti geht, sondern automatisch???
' Poti über ADW einlesen und über PWM ausgeben
' der Ausgang ist OC1A
' Poti an Channel5 (PortC5), LED an PortB1 (OC1A)
' laut Oszi ca. 3.333kHz
$crystal = 8000000
$regfile = "m8def.dat"
Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Off
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Portb = 255
Start Adc
Dim W As Word , Channel As Byte
Compare1a = 100
Channel = 5
Do
W = Getadc(channel)
Pwm1a = W
Loop
End
MFG
Nrg
wegen den übergang von rot nach grün dachte ich an LEDs... dickes missverständnis ;)
also sind grün und rot in getrennten röhren, die einzeln angesteuert werden?
dann kommt jeden röhre an eine eigenen PWM, damit sie regelbar ist... natürlich über nen transistor plus evtl optokoppler...
ja genau ! jetzt sama beisamen! :wink:
Nur mein problem is dass ich es irgendwie nicht schaffe diese pwm steuerung zu schreiben. ich hab mir gedacht dass es evtl. so gehen könnte:
' Poti über ADW einlesen und über PWM ausgeben
' der Ausgang ist OC1A
' Poti an Channel5 (PortC5), LED an PortB1 (OC1A)
' laut Oszi ca. 3.333kHz
$crystal = 8000000
$regfile = "m8def.dat"
Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Off
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Portb = 255
Start Adc
Dim W As Word , Channel As Byte
Compare1a = 100
Channel = 5
Do
for i=0 to 255 scale 10
W = i
Pwm1a = W
Loop
End
nur des funzt irgendwie nicht so recht...........
MFG
NRg :-$
michaelb
18.07.2005, 16:00
kannste mal deine Schaltung posten? Au mir ist aufgefallen dass dein Poti an Portd.5 dran ist und das Channel 4 ist da wir bei den Ports mit 0 anfangen beim zählen, stimmt doch, oder? Leuchtet deine LED überhaupt?
Gruß Michi
wiea moanst jetzt des??? was soll ich posten???????? Bzw. wie! :-b
egal: ich stell mal meine frage antwort..........
wie kann ich das programm ändern, dass die led hell wird, dann bissl wartet und dann dunkler wird?? des würde mir schon ziemlich helfen!
MFG
Nrg
michaelb
18.07.2005, 20:48
Hi NRG,
ich mein deine Schaltung posten! Du hast das Poti doch zwischen V+ und GND angeschlossen und das mittlere Bein an den Analogport des Atmega8 angeschlossen, oder? Und mit dem Channel hab mich geirrt sorry!
Ich glaub ich den Bug in deinem Programm gefunden!
Schreib mal statt:
Do
for i=0 to 255 scale 10
W = i
Pwm1a = W
Loop
diesen hier
for i=0 to 255 step 5
W = i
Pwm1a = W
next
und außerdem musst du doch den Schleifenzähler i deklarieren.
Gruß Michi
aso........ du meinst die schaltung mitm poti!!! Ja die war ja nur dazu da um mein problem zu schildern........... aba wennstes unbedingt willst.... *gg*
aber mein prob is ja dass ich des poti weglassen will und des ganze voll automatisch machen will!!! =P~
Also dass es bei knopfdruck automatisch langsam runterdimmt bis se aus is die led...........
Im anhang ist die schaltung die ich mir vorgestellt habe für diese CCFL Röhren. An 8 und 7 kommt dann die Röhre dran....
vielleicht weiß jemand wie ich das programm ohne das poti schreiben könnte?!?! :-b
weil so wie von michaelb geschrieben:
dim i as word
for i=1 to 255 step 5
w=i
pwm1a=w
next i
funktioniert es nicht da bleibt die led so wie se war............
MFG
Nrg
michaelb
19.07.2005, 14:38
Hi NRG,
bei deiner Schaltung seh ich gerade dass du deine LED Falsch rum angeschlossen hast! Der Kathodenstrich der LED muss an GND! Das kann der Grund sein dass deine LED überhaupt nicht leuchtet!
Gruß Michi
Aso! *gg* sry des hab ich im schaltplan nur so gemacht........... :-b
MFG
NRG ](*,)
michaelb
20.07.2005, 14:50
Hi,
wenn das der Fehler gewesen wäre wäre es ja zu leicht gewesen!
Gruß Michi
hehe! schon! aber ich hab glaube ich einen code gefunden, mit dem es funzen könnte:
Dim I As byte
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Do
For I = 0 To 255 step 1
Compare1a = I
Compare1b = I
Waitms 200
Next I
Loop
MFG
NRG
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.