Ein Ausdruck des Beitrags mit 23 Antworten ergibt bei 3 Antworten pro Seite ca. 8 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 39.92 Gramm Papier.
-- Veröffentlicht durch nubbi am 11:18 am 23. Okt. 2005
habe schon seit über nem monat 300€ vonner stadt ausstehend, aber die sch**** bürokraten kommen einfach nich mit meiner kohle rüber. deshalb is im moment stillstand. das programm ist fertig, funzt auch so weit inner simulation, aber testen kann ichs noch net, da ich weder µC noch passende LEDs habe im Moment :( melde mich, sobald es neues gibt!
-- Veröffentlicht durch insider99 am 10:14 am 23. Okt. 2005
und wie schauts jetzt aus? irgentwas neues
-- Veröffentlicht durch nubbi am 23:23 am 3. Okt. 2005
über einen monat später gibts das erste update ^^ könnte ja sein, dass irgendjemand über google nach was ähnlichem sucht =) hier der bisherige quellcode in avr-assembler:
Code .include "tn2313def.inc" .def temp = r16 .def temp2 = r17 .def pwm_r = r21 .def pwm_g = r22 .def pwm_b = r23 ; Eigene Flags zur Vereinfachung des Farbübergangs bei Farbänderung .def flags = r24 .equ r_reached = 0 .equ g_reached = 1 .equ b_reached = 2 .equ wait_length = 50; ; Interrupt Vectors .org 0x00; Reset rjmp init; Initroutine aufrufen pwm_activate: ldi temp, (1<<PB2) | (1<<PB3) | (1<<PB4); PB2-4 (OCnx) als out DDRB, temp; Ausgang deklarieren ret; -> PWM-Signal pwm_deactivate: ldi temp, 0x00; PB2-4 (OCnx) als out DDRB, temp; Eingang deklarieren ret; -> Kein PWM-Signal pwm_setvalues: out OCR0A, pwm_r; Compare-Register auf out OCR0B, pwm_g; entsprechende Werte out OCR1AL, pwm_b; setzen ret changecolor: push temp; Temp sichern change_loop: ; ------[rot]------- in temp, OCR0A; OCR0A in temp laden cp temp, pwm_r; temp mit pwm_r vergleichen breq set_r_reached; wenn temp = pwm_r mit gruen weiter brlo inc_r; wenn temp < pwm_r OCR0A erhöhen dec_r: dec temp; temp verringern und in OCR0A speichern out OCR0A, temp rjmp change_g; inc-Routine skippen inc_r: inc temp; temp erhöhen und in OCR0A speichern out OCR0A, temp; ------[/rot]------- change_g:; ------[gruen]------ in temp, OCR0B; OCR0B in temp laden cp temp, pwm_g; temp mit pwm_g vergleichen breq set_g_reached; wenn temp = pwm_g mit blau weiter brlo inc_g; wenn temp < pwm_g OCR0B erhöhen dec_g: dec temp; temp verringern und in OCR0B speichern out OCR0B, temp rjmp change_b; inc-Routine skippen inc_g: inc temp; temp erhöhen und in OCR0B speichern out OCR0B, temp; ------[/gruen]------ change_b:; -------[blau]------- in temp, OCR1AL; OCR1AL in temp laden cp temp, pwm_b; temp mit pwm_b vergleichen breq set_b_reached; wenn temp = pwm_b warten brlo inc_b; wenn temp < pwm_b OCR1AL erhöhen dec_b: dec temp; temp verringern und in OCR1AL speichern out OCR1AL, temp rjmp check_if_all_reached; inc-Routine skippen inc_b: inc temp; temp erhöhen und in OCR1AL speichern out OCR1AL, temp; -------[/blau]------ check_if_all_reached: sbrs flags, r_reached; wenn x_reached = false, check abbrechen rjmp check_negative; und nächsten Durchlauf starten sbrs flags, g_reached rjmp check_negative sbrs flags, b_reached rjmp check_negative ldi flags, 0x00; Statusbits wieder auf false setzen. ret; Routine verlassen check_negative: rjmp wait_long rjmp change_loop init: ldi temp, (1<<CS00); TCNT0 Prescaler = 1 out TCCR0B, temp ldi temp, (1<<CS10) | (1<<WGM12); TCNT1 Prescaler = 1 out TCCR1B, temp; TCNT1 TOP = 0x00FF ldi temp, (1<<COM0A0) | (1<<COM0B0) | (1<<WGM00) | (1<<WGM01); Fast PWM/Set OC0A@Top out TCCR0A, temp; Fast PWM/Set OC0B@Top out TCCR1A, temp; Fast PWM/Set OC1A@Top ldi pwm_r, 0xFF; Alle Farbwerte auf ldi pwm_g, 0xFF; 0xFF setzen ldi pwm_b, 0xFF; -> weiß rjmp pwm_activate; PWM aktivieren infinite_loop:; Endlosschleife, wenn nop; nichts zu tun ist rjmp infinite_loop; NOP damit nichts wegoptimiert wird wait_long: push temp; Temp sichern ldi temp, 0x00; Temp als Zählervariable benutzen wlloop: rjmp wait_short; 2. Warteroutine aufrufen inc temp; Zähler erhöhen cpi temp, wait_length; Checken ob temp < wait_length brlo wlloop; wenn ja, zurück springen pop temp; Temp wiederherstellen ret; Routine verlassen wait_short: push temp; Temp sichern ldi temp, 0x00; Temp als Zählervariable benutzen wsloop: inc temp; Zähler erhöhen cpi temp, wait_length; Checken ob temp < wait_length brlo wsloop; wenn ja, zurück springen pop temp; Temp wiederherstellen ret; Routine verlassen set_r_reached: ldi temp, (1<<r_reached); r_reached-bit in temp laden or flags, temp; flags mit temp verodern rjmp change_g; zur change_g-Routine springen set_g_reached: ldi temp, (1<<r_reached); g_reached-bit in temp laden or flags, temp; flags mit temp verodern rjmp change_b; zur change_b-Routine springen set_b_reached: ldi temp, (1<<b_reached); b_reached-bit in temp laden or flags, temp; flags mit temp verodern rjmp check_if_all_reached; zur Check-Routine springen
| Eine Kommunikation zwischen PC und Controller ist noch nicht implementiert, folgt aber in den nächsten Stunden!
-- Veröffentlicht durch nubbi am 20:12 am 26. Aug. 2005
Dann bekomm ich aber keine gleichmäßige Ausleuchtung hin =/ Außer ich beleuchte nur eine Wand... Andere Frage, was benutze ich am besten als Diffusor? (Geändert von nubbi um 20:30 am Aug. 26, 2005)
-- Veröffentlicht durch Marodeur am 19:51 am 26. Aug. 2005
Musste mal bei ebay fragen. Aber 500 ultrahelle sind auch für ein großes Zimmer mehr als ausreichend. Ich würd sagen 100-200 sollten schon ausreichen.
-- Veröffentlicht durch nubbi am 19:40 am 26. Aug. 2005
Habe mir jetzt überlegt, in die "Stufe" einen trüben Plexiglasboden als Diffusor zu machen und die LEDs seitlich darüber leuchten zu lassen, als quasi senkrecht zur Wand. Hoffe mal, dass das so funktioniert. Kennt jemand eine Möglichkeit, sehr günstig LEDs zu bekommen? Und damit mein ich günstiger als 20Cent/Stück, denke, ich werde für das ganze Zimmer um die 500 pro Farbe benötigen :/ nubbi
-- Veröffentlicht durch nubbi am 19:03 am 22. Aug. 2005
naja, der code der µCs ist ja relativ kurz und somit recht schnell erledigt, zumal man das ja alles vorher am PC simulieren kann. Die Software für die Farbübergänge kann man ja am PC mit ner anständigen Hochsprache programmieren, somit auch kein großer Aufwand. Viel mehr graust mir vor der Löterei :ugly:
-- Veröffentlicht durch maxpayne am 18:50 am 22. Aug. 2005
wird bestimmt sehenswert! vorallem, wenn das tatsächlich mit weichen übergängen machbar ist. sowas sollte ja sicher schon riegenwo fertig sein. ich kann mir nur vorstellen, dass es wochen dauert, soetwas selbst zu schreiben. :blubb: also dann: pimp ur room! :lol:
-- Veröffentlicht durch Modding Henus am 22:58 am 20. Aug. 2005
Ich stell mir das Sau cool vor....sieht bestimmt Hammermäßig aus....
-- Veröffentlicht durch Marodeur am 20:56 am 20. Aug. 2005
Och, den Abstrahlwinkel kann man ja auch anpassen. Einfach oben abschleifen und neu polieren. Da hatte ich auch mal n Tutorial zu, is aber in meiner Linksammlung verschütt gegangen...:(.
-- Veröffentlicht durch nubbi am 16:43 am 20. Aug. 2005
ja, 60 auf 4 meter sind auch wesentlich zu wenig. da hatte ich schon mehr im sinn :)
-- Veröffentlicht durch MisterFQ am 16:40 am 20. Aug. 2005
@nubbi. die 60 strahlen wie du vorhast nur die wand hoch... das sie oben noch die weiße decke mit anstrahlen. das ganze ist nur an einer wand etwa so auf 4 meter breite. ist nicht viel. aber wenn du das noch verteilst is das gar nichts mehr. ich schätez perönlich so die leuchtkraft auf das was eine 20-40 watt birne schafft. der abstarhlwinkel ist nicht so arf groß hab keine technischen daten von den dingern mehr. (Geändert von MisterFQ um 16:41 am Aug. 20, 2005)
-- Veröffentlicht durch nubbi am 18:34 am 19. Aug. 2005
ich seh's gerade... die dimmbaren EVGs sind aber ziemlich teuer =/ (Geändert von nubbi um 18:34 am Aug. 19, 2005)
-- Veröffentlicht durch AssassinWarlord am 18:00 am 19. Aug. 2005
leuchtstoffröhren lassen sich dimmen (siehe neue schulische einrichtungen :D ). Kaltlichtkathoden aber irgendwie nicht, wenn man da dimmt, leuchtet nur noch ein teil der leuchte :noidea: schaut dan aus wie so ne pegelanzeige wen man etwas mehr spannung draufjagt und mal wieder weniger...
-- Veröffentlicht durch nubbi am 15:27 am 19. Aug. 2005
auf welchem raum hast du denn die 60 weißen LEDs? Habe mir jetzt überlegt, einfach jeden cm eine LED runterleuchten zu lassen und dann R, G und B einfach abzuwechseln. evtl auch zweireihig, wenn das so nicht reicht. #ädit: leuchtstoffröhren kann man nicht dimmen :( (Geändert von nubbi um 17:12 am Aug. 19, 2005)
-- Veröffentlicht durch MisterFQ am 14:29 am 19. Aug. 2005
die luxeon leds hab ich hier in einem lichthaus schon gesehen, aber die machen dein projekt garantier nicht billiger :thumb: wie gesagt probier doch mal so röhren.. die gibts bis zu nem meter zwanig länge. dann brauchste auch weniger controler. und es wird billiger.
-- Veröffentlicht durch nubbi am 14:13 am 19. Aug. 2005
bin auch zu dem schluss gekommen, dass 6 LEDs pro einheit wesentlich zu wenig sind. dann muss halt noch ein transistor hinter den µC und es kommen ein paar mehr dran :biglol: #ädit: vielleicht kommen auch die LuxeonLEDs zum einsatz, aber da binnich mir noch nich sicher, ob die ihren preis wert sind. (Geändert von nubbi um 14:18 am Aug. 19, 2005)
-- Veröffentlicht durch MisterFQ am 13:38 am 19. Aug. 2005
mir stellt sich grad nur die frage ob das hell genug ist... wenn du an jeden controler 6 leds machen willst und das mit 50 ist das nicht viel. grad mal 100 leds für jede farbe. ich hab als hintergrung beleuchtung an meinem bett immoment 60 weise leds. und selbst wenn ich sie eine weiße fläche anstrahlen lasse reicht das grad mal um nachts wenn man pissen muss nicht auf die fresse zufallen. ich würde die hier vorschlagen einen anderen weg zu gehen. kauf dir am besten aus dem carsytling bereich ein paar led röhren (so unterbodenbeleuchtung nur nicht aus neon) . und versuch diese halt dann komplett nachzuregeln. dann sieht man den effekt auch ;)
-- Veröffentlicht durch SirBlade am 11:34 am 19. Aug. 2005
aber 50 platinen ätzen dauert n bischen was. :)
-- Veröffentlicht durch nubbi am 23:43 am 18. Aug. 2005
dankeschön :) mein problem ist im moment nur: wo bekomme ich relativ günstig 128 solcher mikrocontroller her :lol: direkt von Atmel? Bei Reichelt kostet einer 1.65€, da wär ich schon bei 200 Schleifchen nur für die Controller. Denke zwar, dass es auch mit ~50 Controllern gut aussehen müsste (128 ist auf Grund der 7-Bit-Adressierung des I²C-Protokolls das theoretische Maximum), aber ich will sie trotzdem günstiger bekommen :lol: Platinen muss ich auch noch ätzen, das kann ich unter Umständen in der Schule machen :blubb:
-- Veröffentlicht durch The Papst am 23:32 am 18. Aug. 2005
So seh ich das aber auch. Da is meine Deskunterbodenbeleuchtung ja richtig billig gegen.
-- Veröffentlicht durch BurnoutHerbert am 21:50 am 18. Aug. 2005
:godlike::godlike::godlike::godlike::godlike::godlike::godlike::godlike:
-- Veröffentlicht durch nubbi am 16:35 am 18. Aug. 2005
Da ich bald umziehe und mir etwas für das "Styling" meines Zimmers ausdenken musste, bin ich auf folgende Idee gekommen: Oben, wo die Decke auf die Wand trifft, mache ich einmal um den ganzen Raum so ne Art Stufe rein. also nich so: I I I I___________ sondern halt so: I I I___ I I________ In diese Stufe kommen haufenweise "LED-Module", die aus jeweils 6 LEDs bestehen (2 rote, 2 grüne, 2 blaue) und an der Wand herunterleuchten. Jedes Modul bekommt einen Mikrocontroller ATTiny2313, was es mir ermöglicht, jede Farbe unabhängig von der anderen zu steuern und somit _jeden_ beliebigen Farbton zu erzeugen. Zusätzlich gibt es einen Master-Controller, der am PC angeschlossen wird und über I²C mit den Slave-Controllern kommuniziert, ihnen also mitteilt, welche Farbe sie darstellen und wann sie zu dieser wechseln sollen. Geplante Features der Software sind: - automatische Farbverläufe, man sagt z.b. die eine Ecke soll blau leuchten, die andere rot und die software berechnet automatisch die Farben für die Module, die dazwischen liegen. - Wenn einem Slave-Controller mitgeteilt wird, die Farbe zu wechseln, soll nicht von jetzt auf gleich gewechselt werden, sondern die Farbe soll langsam in die andere übergehen. - Eventuell kleine Spielereien/Effekte. zB. leuchten alle Module blau und eines leuchtet rot und "wandert" um den Raum oder sowas :) Kostenaufwand: Schätzungsweise 150€ Zeitaufwand: Unbezahlbar ;) Was haltet ihr davon? Habt ihr vielleicht noch Verbesserungsvorschläge oder konstruktive Kritik? Habe das mal ins Modding-Forum gestellt, weil ich denke, dass Schaltungen dieser Art sicherlich für einige hier interessant sein dürften! Sollten einige Lust bekommen, etwas ähnliches zu bauen, bin ich gerne bereit meine Erkenntnisse und meinen Code mit anderen zu teilen! Fotos gibt's natürlich, sobald erste Ergebnisse vorliegen :lol: nubbi #ädit: ich weiß, dass ich nicht der erste bin, der eine solche Idee hatte. Man suche bei google nach "Moodlight" und werde fündig. Kaufpreis 375 Schleifen für ein 50x50cm großes Panel ;) Gut, es ist ne Fernbedienung dabei, aber die kann ich auch haben, wenn ich die Schaltung am PC habe :) (Geändert von nubbi um 16:39 am Aug. 18, 2005)
|