Ein freundliches Hallo an Euch alle hier. Ich möchte heute mal Eure Hilfe in Anspruch nehmen. Ich baue im Moment gerade an einem Modell-Leuchtturm der natürlich auch ein Leuchtfeuer bekommen soll. Das Leuchtfeuer möchte ich durch 6 Leuchtdioden simulieren. Eine bereits bestehende Schaltung über einen Timer und einen Dekadenzähler funktioniert zwar schon aber das Einfache nacheinander Ein- und Ausschalten sieht natürlich wenig realistisch aus. Bei der Suche nach Alternativen bin ich auf die Möglichkeit der PWM über einen µC gestoßen, die einen Fading-Effekt erzeugen kann. Damit möchte ich ein weiches Überblenden der einzelnen Dioden realisieren. Es soll also wie folgt funktionieren: 1. LED1 -> fade-in; 2. LED1 -> fade-out, LED2 -> fade-in; 3. LED2 -> fade-out, LED3 -> fade-in; 4. …, … Als Zykluszeit für fade-in und fade-out habe ich mir erstmal so ca. 2s ausgedacht. Aber trotz Studium vieler Beiträge bin ich gedanklich bei der Wahl der Methode noch nicht viel weiter. Ich habe, soweit ich bisher gelesen habe die Möglichkeit der Hardware-PWM oder der Software-PWM um die LED's zu faden. Da ich nach Möglichkeit einen vorhandenen ATmega8 verwenden möchte, ist glaube ich die reine HW-PWM wie sie z.B. im Tutorial beschrieben wird bei 6 LED’s nicht so geeignet. In einen Beitrag zum Thema habe ich den Hinweis auf den Einsatz eines Schieberegisters gefunden. Hier der Link: Beitrag "Re: PWM in einem Lauflicht" Die Idee gefällt mir recht gut. Sie beruht doch, so weit ich das verstehe, auf dem Prinzip das durch einen Puls ausgelöst vom µC-Timer (über eine ISR??) ein Signal durch das S-Register geschoben wird und jeweils einen Ausgang schaltet. Ein PWM-Kanal des µC übernimmt dann das Fading für die jeweils aktive LED. Liege ich da richtig? Wenn ich dieses Prinzip für meine Zwecke nutzen kann könnte ich doch auch meinen vorhandenen Dekadenzähler verwenden, oder? Es wäre schön wenn Ihr mir bei meinem Problem weiter helfen könntet. Mit freundlichen Grüßen Wilfried
Cooles Projekt! Wilfried H. schrieb: > [...] > die reine HW-PWM wie sie z.B. im Tutorial beschrieben wird > bei 6 LED’s nicht so geeignet. In einen Beitrag zum Thema habe ich den > Hinweis auf den Einsatz eines Schieberegisters gefunden. > Hier der Link: Beitrag "Re: PWM in einem Lauflicht" > Die Idee gefällt mir recht gut. Sie beruht doch, so weit ich das > verstehe, auf dem Prinzip das durch einen Puls ausgelöst vom µC-Timer > (über eine ISR??) ein Signal durch das S-Register geschoben wird und > jeweils einen Ausgang schaltet. Ein PWM-Kanal des µC übernimmt dann das > Fading für die jeweils aktive LED. Liege ich da richtig? So kann man das bei einem Schieberegister mit Enable-Eingang machen, ja. Da Du aber ja immer nur EINE aktive LED hast, waere ein 3-8-Line-Decoder fuer Dich die bessere Wahl. Was aber mit Schieberegister oder Decoder NICHT funktioniert ist das gleichzeitige Fade-Out einer und Fade-In einer anderen LED. Hier waeren dann 2 Stueck 3-8-Line-Decoder sinnvoll. In jedem Fall muss der enable natuerlich schnell genug schalten koennen und dabei nicht zu viel Leistung verbraten. Die Hardware-PWM ist uebrigens perfekt geeignet! Volker
Da du ja nur 2 von 6 LEDs gleichzeitig faden willst, brauchst du ja theoretisch (und auch praktisch) nur 2 PWM-Kanäle und 3 weitere Outputs. Dazu noch 3 Widerstände und fertig ist die Laube. Ließe sich z.B. sehr günstig mit nem Tiny2313 realisieren, wenn ich grad keinen Denkfehler mache.
In der Codesammlung gibt es ein uraltes Projekt, welches, wenn ich mich recht erinnere, 5 LEDS wunderbar rundum faden kann. Wäre genau das richtige für dich, wenn du nicht auf den 6 LEDs bestehst. Ich geh mal suchen Edit: Das hier Beitrag "AVR-Lauflicht"
L. K. schrieb: > Da du ja nur 2 von 6 LEDs gleichzeitig faden willst, brauchst du ja > theoretisch (und auch praktisch) nur 2 PWM-Kanäle und 3 weitere Outputs. > Dazu noch 3 Widerstände und fertig ist die Laube. Ließe sich z.B. sehr > günstig mit nem Tiny2313 realisieren, wenn ich grad keinen Denkfehler > mache. Mit der von mir vorgeschlagenen Loesung braucht man sogar nur EINE PWM und 3 Outputs... Oder worauf bezog sich das jetzt? Volker
Hatte in meiner ersten Idee nen Denkfehler... Muss grad nochmal darüber nachdenken. Dachte man käme ohne externe ICs aus...
L. K. schrieb: > Hatte in meiner ersten Idee nen Denkfehler... Muss grad nochmal darüber > nachdenken. Dachte man käme ohne externe ICs aus... Ich hatte auch einen Denkfehler: Die Decoder muessen ja abwechselnd weitergeschaltet werden. Man braeuchte also 1xPWM + 6xI/O-Pin fuer bis zu 16 LEDs. ;) Volker
Und da er ja LEDs + Vorwiderstaende + Controller schon zu haben scheint, wuerde meine Loesung mit ca. 58 Cent zu Buche schlagen... Volker
Hier die 0-Cent Lösung: ;-) Sowie ich Wilfried verstanden habe will er gleichzeitig eine LED ausfaden und die nächste einfaden. Hier ne Möglichkeit mit 2 PWM-Kanälen und 6 GPIOs:
1 | ___ LED 1 |
2 | PWM 1 -|___|-o-->|---- Out 1 |
3 | | |
4 | | LED 3 |
5 | o-->|---- Out 3 |
6 | | |
7 | | LED 5 |
8 | '-->|---- Out 5 |
9 | |
10 | ___ LED 2 |
11 | PWM 2 -|___|-o-->|---- Out 2 |
12 | | |
13 | | LED 4 |
14 | o-->|---- Out 4 |
15 | | |
16 | | LED 6 |
17 | '-->|---- Out 6 |
18 | (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de) |
Ist zwar ne ziemlich Pin-Verschwendung, aber meiner Meinung nach sehr einfach zu realisieren. Gruß Ladde
>Mit der von mir vorgeschlagenen Loesung braucht man sogar nur EINE PWM >und 3 Outputs... Wozu noch einen Baustein mehr verbauen, wenn man die Sache auch komplett in einem Controller in Software nachbauen kann?
Noch ein kleiner Nachtrag: Bin mir nicht sicher, ob man mit 8-bit schöne LED-Fades hinbekommt (der Mega8 hat ja nur einen 16-bit-Timer). Macht man das ganze per Software-PWM kann man natürlich jeder LED einen eigenen Kanal spendieren und braucht dann nur noch 6 Pins. Gruß Ladde
STK500-Besitzer schrieb: >>Mit der von mir vorgeschlagenen Loesung braucht man sogar nur EINE PWM >>und 3 Outputs... > > Wozu noch einen Baustein mehr verbauen, wenn man die Sache auch komplett > in einem Controller in Software nachbauen kann? 1.) Um Pins zu sparen. 2.) Um eine PWM zu sparen. 3.) Um das Datensignal der PWM nicht als Spannungsquelle misbrauchen zu muessen. ;) L. K. schrieb: > Noch ein kleiner Nachtrag: Bin mir nicht sicher, ob man mit 8-bit schöne > LED-Fades hinbekommt (der Mega8 hat ja nur einen 16-bit-Timer). Ich bin mir sicher dass man auch mit einem 8-Bit-Timer schoene Fades hinbekommt. Aber koennte man nicht eine 16-Bit-PWM auch invertiert auf einem zweiten Port ausgeben? Bei der Decoder-Geschichte wuerde jeweils einer der Decoder ja auch nur invertieren. Volker
Darf ich eure Aufmerksamkeit noch einmal auf Beitrag "AVR-Lauflicht" richten. Da werkelt der kleinste Tiny, den es gab, und macht ein schönes Rundumlicht. Ganz ohne Timer, ganz ohne HW-PWM. Dort ist auch ein Video. Und die Beschränkung auf 5 LED existiert einzig und alleine aus dem Grund, weil der Kleine nicht mehr Outputpins hat. Da sowieso ein Mega8 vorhanden ist, macht man dann zu den 5 LED am PortB noch 5 LED am PortC dazu und ändert das Programm so um, dass alles was an B ausgegeben wird auch auf C ausgegeben wird und hat dann sogar seine 2 umlaufenden Lichtpunkte, wie es bei einem Leuchtturm sein muss. Und das bei 10 Led im Vollkreis. In 10 Minuten ist die Schose fertig aufgebaut und programmiert.
L. K. schrieb: > Noch ein kleiner Nachtrag: Bin mir nicht sicher, ob man mit 8-bit schöne > LED-Fades hinbekommt (der Mega8 hat ja nur einen 16-bit-Timer). Zufall, gestern abend habe ich 8-Bit HW-PWM mit 2 LEDs ausprobiert (#). Das sah IMHO schon recht ansprechend aus. Ich kann mir gut ein Leuchtturmmodell damit vorstellen. #) Beitrag "Zwischen 2 LEDs faden"
Karl heinz Buchegger schrieb: > Darf ich eure Aufmerksamkeit noch einmal auf > Beitrag "AVR-Lauflicht" > richten. Noch besser! Besonders die geschickte Montage der SMD-LEDs gefällt mir. Rolf, wo bleibt das "versprochene" Video vom Modellhubi :)
Habe mir grad nochmal den Beitrag "AVR-Lauflicht" angesehen und versucht, den asm-Code zu verstehen. Programmiere zwar selber auch meist asm, aber grad fehlt mir noch der Überblick.. Sehe ich es richtig, dass immer nur eine LED eingefadet wird, dann "ruckartig" ausgeschaltet wird und die nächste eingefadet wird? Hab mir auch das Video zu gemüte geführt, aber das hat mich auch nicht schlauer gemacht. Frage mich ob mit dem vorgestellten Code auch die geforderten 2 Sekunden Fade-Zeit hinzubekommen sind, das Blau- (bzw. Rot-)Licht "dreht" sich ja ziemlich schnell... Vielleicht irre ich mich aber auch; dann wärs schön, wenn jemand etwas Licht ins dunkel bringen könnte (wenns nicht zu off-topic wird). Gruß Ladde
L. K. schrieb: > Habe mir grad nochmal den Beitrag "AVR-Lauflicht" angesehen und > versucht, den asm-Code zu verstehen. Programmiere zwar selber auch meist > asm, aber grad fehlt mir noch der Überblick.. Der Code ist auch ziemlich trickreich. War das erste Stück AVR-Assemblercode den ich zu Gesicht bekommen habe. > Sehe ich es richtig, dass immer nur eine LED eingefadet wird, dann > "ruckartig" ausgeschaltet wird und die nächste eingefadet wird? Ne. da wird nichts ruckartig ausgeschaltet. Während die nächste LED aufdimmt, dimmt die vorhergehende ab. Es werden 2 Werte in 2 Registern zurechtgelegt. Bei dem einen ist die eine LED an, beim anderen die andere. Und dann wird wie wild umgeschaltet, wobei sich des Zeitverhältnis zwischen den jeweiligen On Zeiten immer mehr zum 2. Wert verschiebt. -> Die 'PWM' der ersten LED wird immer kleiner, die der 2.ten LED immer größer. Ist sie voll aufgedimmt, dann werden die Bitmuster weitergeschoben zur nächsten LED-Kombination und alles fängt von vorne an. > schlauer gemacht. Frage mich ob mit dem vorgestellten Code auch die > geforderten 2 Sekunden Fade-Zeit hinzubekommen sind, das Blau- (bzw. > Rot-)Licht "dreht" sich ja ziemlich schnell... Wenn Rolf nicht mehr da ist, versuch ich das im Code zu finden. Aber wie gesagt, ist ganz schön trickreich :-)
Karl heinz Buchegger schrieb: > Wenn Rolf nicht mehr da ist, versuch ich das im Code zu finden. Aber wie > gesagt, ist ganz schön trickreich :-) Das einfachste ist es den DELAY Wert hochzuschrauben. Wenn das dann immer noch nicht reicht, müsste man vor dem Umschalten zur nächsten Led ganz unten noch eine kleine Warteschleife einfügen. Das wäre die einfachste Lösung. Die LEDs faden dann zwar immer noch in einer bestimmten Zeit von einer zur nächsten aber der Zustand 'voll Leuchten' wird dann etwas länger gehalten. Will man die tatsächliche Umfade Zeit noch verlängern, wirds ein wenig komplizierter, da müsste man in die LOOP eingreifen und zwar so, dass das eigentliche PWM-Umschalten nicht langsamer wird. Dreh und Angelpunkt ist dort der inc OUTER, der nicht bei jedem Durchlauf erfolgen darf sondern nur zb bei jedem 2ten oder 3ten mal (also auch einen zusätzlichen Zähler zwischenschalten)
Hallo Leute, Ihr legt Euch ja richtig ins Zeug für mich, danke, danke, danke schon mal. Mit so viel und so schneller Hilfe hatte ich gar nicht gerechnet. Ich glaube ich fange mal mit der Variante von Karl Heinz an. Der einzige Haken ist die fehlende 6te LED. Die müsste ich doch aber nur einfach hinzufügen können. Denn Pin’s habe ich doch noch frei am Port B. Das Programm muß natürlich angepasst werden. Richtig Karl Heinz? Auf Grund der Bauform des Turms, er ist sechseckig, bin ich nun erstmal auf 6 LED’s festgelegt und einfach umbauen läst er sich nun nicht mehr. Das Programm ist zwar in Assembler geschrieben, aber obwohl ich aus der PC-Programmierung komme ist es mit meinen C-Kenntnissen es auch nicht weit her. Ich werde es einfach erstmal ausprobieren. Ich hoffe ich darf mich nochmals bei Euch melden wenn es irgendwo klemmt. Ich werde aber dem Forum auf jeden Fall erhalten bleiben denn das ist garantiert nicht das letzte µC Projekt. Ich hab da schon wieder was im Hinterkopf, aber dazu später mehr erstmal muss das hier fertig werden. Ich möchte Eure Diskussion aber hierdurch nicht abwürgen ich kann ja nur lernen Dadurch. Also weitere Vorschläge durchaus erwünscht. Viele Grüße Wilfried
Wilfried H. schrieb: > ist die fehlende 6te LED. Die müsste ich doch aber nur einfach > hinzufügen können. Ja. Kann man. > Denn Pin’s habe ich doch noch frei am Port B. Das Programm muß natürlich > angepasst werden. Richtig Karl Heinz? richtig. Ist aber an sich kein Problem. Unangenehmer wird es, wenn du die Geschwindigkeit ändern willst.
Die Geschwindigkeit muß auch ändern Karl Heiz. Wenn ich nicht ganz das erreiche was ich wollte ist das auch ok. Aber der Drive im Video ist wirklich zu schnell. Das mit der längeren 100% Phase je LED wäre schon ganz ok. Aber erstmal willich es so aufbauen wie es ist und dann versuch ich am Programm rum zu schrauben. Wilfried
Wilfried H. schrieb: > ganz ok. Aber erstmal willich es so aufbauen wie es ist und dann versuch > ich am Programm rum zu schrauben. Den Mega8 kannst du prinzipiell programmieren? (Also AVR-Studio, Programmer etc. läuft alles)
Hier ist das Pgm für 6 LED am PortB eines Mega8 (jungfäulich, also kein Quarz, 1Mhz Takt)
1 | .include "m8def.inc" |
2 | |
3 | .def TEMP = r16 |
4 | .def STORE = r17 ; contains port value for the current LED |
5 | .def STORE2 = r18 ; contains port value for the next LED |
6 | .def OUTER = r19 ; fading counter |
7 | .def INNER = r20 ; PWM counter |
8 | |
9 | .equ DELAY = 150 |
10 | |
11 | ; I/O setup |
12 | ; ========= |
13 | ldi TEMP, 0x3F ; switch PB0..PB5 to output |
14 | out DDRB, TEMP |
15 | |
16 | ldi STORE, 0x3E ; load start value (LED0 on) |
17 | ldi STORE2, 0x3D ; load next value (LED1 on) |
18 | |
19 | LOOP: |
20 | inc INNER ; increment the inner counter |
21 | cpi INNER, DELAY ; have we reached the maximum value? |
22 | brne GO_ON ; if yes, increment the outer one |
23 | |
24 | clr INNER ; reset inner counter |
25 | inc OUTER ; increment outer counter |
26 | cpi OUTER, DELAY |
27 | breq NEXT_PHASE ; if it overflows, go to the next LED |
28 | |
29 | GO_ON: |
30 | cp INNER, OUTER ; inner > outer? |
31 | brsh THIS_LED ; if yes, the current LED needs to be on |
32 | |
33 | out PORTB, STORE2 ; else the next one |
34 | rjmp LOOP ; and start over |
35 | |
36 | THIS_LED: |
37 | out PORTB, STORE ; switch on current LED |
38 | rjmp LOOP ; and start over |
39 | |
40 | NEXT_PHASE: |
41 | clr OUTER ; reset counter |
42 | mov STORE, STORE2 ; next LED |
43 | |
44 | lsl STORE2 ; shift current value |
45 | ori STORE2, 1 ; the lsl makes the lsb 0, we need a 1 |
46 | sbrs STORE2, 6 ; do we need to wrap around? |
47 | ldi STORE2, 0x3E ; if yes, load the initial value |
48 | andi STORE2, 0x3F ; mask bit 6 to 7 |
49 | |
50 | rjmp LOOP ; and start over |
wenns zu schnell läuft, versuch erst mal DELAY hochzusetzen. Bis 255 kannst du gehen.
Karl heinz Buchegger schrieb: > Den Mega8 kannst du prinzipiell programmieren? > (Also AVR-Studio, Programmer etc. läuft alles) Ja Karl Heinz, läuft aller einwandfrei. Testbord ist ein Selbstbau. Habe auch schon öfter mal ein C-Program aus den Tutorials nachvollzogen und getestet.
Man karl Heinz Du bist ja Spitze. Dake für das Programm. Probiere es heute abend gleich mal aus. Melde mich dann wieder. Wilfried
Hallo Karl Heinz, "Bingo!!!" das war eine Punktlandung. Hat alles auf Anhieb geklappt funktioniert prima, nur die Geschwindigkeit ist mir noch zu. "Delay" hab ich aber schon auf 255 hoch gesetzt. Du erwähntest weiter oben mal eine zweite Warteschleife wodurch die 100% Helligkeit länger hält. Ich glaube das würde meinem gewünschten Effekt sogar noch näher kommen. Wo müsste ich die denn genau einbauen? Wird sie vielleicht so erzeugt - .equ DELAY_2= 50 - oder wie? Dann auch noch eine Frage zu Vorwiderständen. Du hast in deinem Schaltung für das Rundumlicht nur einen Widerstand von 150 Ohm für alle 5 LED. Sind das Low-Current LED's. Ich verwende normale weiße 5mm LED's, reicht da auch nur ein entsprechender Widerstand oder brauch ich für jede LED einen. Wilfried
die delay routine muss ein weiteres mal verschachtelt werden, ja. ein widersdtand reicht, weiße leds haben aber ca 3.6v, beachten! Klaus.
Hallo Klaus, d.h. ich muß den passenden Widerstand für weiße wählen und reicht nur R, ok. Nur da mit der zweiten Warteschleife habe ich noch nicht geschnallt. Wo wird sie eingebaut
Wilfried H. schrieb: > Nur da mit der zweiten Warteschleife habe ich noch nicht geschnallt. Wo > wird sie eingebaut Es gibt ja, wie gesagt, zwei Moeglichkeiten. Entweder man verlangsamt das Ganze oder baut eine Wartezeit ein, wenn gerade eine LED auf 100% ist. Ersteres ist durch die Software-PWM nach unten hin begrenzt, irgendwann ist das Auge nicht mehr traege genug und Du siehst die LEDs blinken. > [...] Du erwähntest weiter oben mal eine > zweite Warteschleife wodurch die 100% Helligkeit länger hält. Ich glaube > das würde meinem gewünschten Effekt sogar noch näher kommen. Wo müsste > ich die denn genau einbauen? Ich weiss nicht so richtig, ob sie Deinem gewuenschten Effekt naeher kommen wuerde, weil die "fluessige Bewegung" ja fuer einen Moment angehalten wuerde. Und im echten Leuchtturm dreht sich das Leuchtfeuer ja gleichmaessig. Aber probieren geht ja bekanntlich ueber studieren. Die Warteschleife muesste dann in "NEXT_PHASE" vor das rjmp. Vor der Warteschleife muss aber nochmal STORE auf PORTB geschrieben werden. Ich schreibe Dir das ausnahmsweise mal eben zurecht... Volker
Hier der Code:
1 | .include "m8def.inc" |
2 | |
3 | .def TEMP = r16 |
4 | .def STORE = r17 ; contains port value for the current LED |
5 | .def STORE2 = r18 ; contains port value for the next LED |
6 | .def OUTER = r19 ; fading counter |
7 | .def INNER = r20 ; PWM counter |
8 | |
9 | .equ DELAY = 255 |
10 | .equ WARTE1= 255 ; additional delay at LED=100% |
11 | .equ WARTE2= 127 ; delay is approx.: |
12 | .equ WARTE3= 1 ; WARTE1 * WARTE2 * WARTE3 |
13 | |
14 | ; I/O setup |
15 | ; ========= |
16 | ldi TEMP, 0x3F ; switch PB0..PB5 to output |
17 | out DDRB, TEMP |
18 | |
19 | ldi STORE, 0x3E ; load start value (LED0 on) |
20 | ldi STORE2, 0x3D ; load next value (LED1 on) |
21 | |
22 | LOOP: |
23 | inc INNER ; increment the inner counter |
24 | cpi INNER, DELAY ; have we reached the maximum value? |
25 | brne GO_ON ; if yes, increment the outer one |
26 | |
27 | clr INNER ; reset inner counter |
28 | inc OUTER ; increment outer counter |
29 | cpi OUTER, DELAY |
30 | breq NEXT_PHASE ; if it overflows, go to the next LED |
31 | |
32 | GO_ON: |
33 | cp INNER, OUTER ; inner > outer? |
34 | brsh THIS_LED ; if yes, the current LED needs to be on |
35 | |
36 | out PORTB, STORE2 ; else the next one |
37 | rjmp LOOP ; and start over |
38 | |
39 | THIS_LED: |
40 | out PORTB, STORE ; switch on current LED |
41 | rjmp LOOP ; and start over |
42 | |
43 | NEXT_PHASE: |
44 | mov STORE, STORE2 ; next LED |
45 | lsl STORE2 ; shift current value |
46 | ori STORE2, 1 ; the lsl makes the lsb 0, we need a 1 |
47 | sbrs STORE2, 6 ; do we need to wrap around? |
48 | ldi STORE2, 0x3E ; if yes, load the initial value |
49 | andi STORE2, 0x3F ; mask bit 6 to 7 |
50 | |
51 | out PORTB, STORE ; show before wait |
52 | ldi OUTER, WARTE1 |
53 | OUT_LOOP: |
54 | ldi INNER, WARTE2 |
55 | INN_LOOP: |
56 | ldi TEMP, WARTE3 |
57 | TMP_LOOP: |
58 | dec TEMP |
59 | brne TMP_LOOP |
60 | dec INNER |
61 | brne INN_LOOP |
62 | dec OUTER |
63 | brne OUT_LOOP |
64 | |
65 | clr OUTER ; reset counter |
66 | |
67 | rjmp LOOP ; and start over |
Ich habe Dir 3 Stellschrauben eingebaut: WARTE1, WARTE2 und WARTE3. Die Wartezeit ist in etwa das Produkt aus allen dreien. Jede der Konstanten kann einen Wert von 1-255 bekommen. (Im Prinzip auch 0, das entspraeche dann aber 256!) Kann das leider gerade nicht praktisch testen, habe das also "blind" geschrieben. Lass mich wissen, ob's funktioniert! Volker
Hallo Volker, das ist ja echt super nett von Dir. Recht herzlichen Dank dafür. Ich kann das Script aber auch erst heute abend ausprobieren, melde mich dann aber ganz bestimmt. Ich habe mich gestern abend selber auch bemüht eine Lösung zu erarbeiten bin aber bisher an meinem Unvermögen was Assembler angeht gescheitert. Ich habe aber beim Suchen nach Erklärungen ein gutes PDF gefunden das AVR-Assembler gut und verständlich beschreibt und somit kann ich so nach und nach verstehen was in dem Programm passiert. Ich verstehe zwar ein bissel was von Softwareentwicklung bin aber leider schon einige Jahre raus aus dem Geschäft und mit Assembler oder gar Mikrocontrollern hatte ich noch nie etwas zu tun. Ich hoffe aber das ich mich da doch ein wenig auf Hobbybasis einarbeiten kann. Also Volker hab nochmals herzlichen Dank für Deine Hilfe. Bis dann Wilfried
Hallo, so Volker, ich habe Dein Skript jetzt ausprobiert und ich muss sagen es funktioniert wunderbar. Ich konnte die Geschwindigkeit gut an meine Vorstellung anpassen. Jetzt kann ich alles zusammenbauen und in den Leuchtturm einbauen. Ich möchte mich noch einmal bei allen für die freundliche Hilfe bedanken. Viele Grüße Wilfried
Sehr schoen! Und Bild oder Video wollen wir dann demnaechst auch noch sehen! ;) Volker
Aber NICHT vergessen, denn DAS bist du Volker schuldig! Normaler Weise holt man hier eher den Flammenwerfer raus, anstatt irgend einem Noob was fertiges zu programmieren :) Denn frohes Leuchten! Klaus.
Moin, tja wie das immer so ist... Ich wollte auch gerade ein Leuchtturm umbauen, und da kam mir der Code gerade recht. Widerstand und Tiny13 hatte ich alles noch da, also schnell zusammengesteckt und siehe da, nach einigem Spielen mit den Timern ist das Ergebnis gut. UND ein Video habe ich auch gedreht, allerdings nur Steckbrett style ;-) Und danke Volker für den Code! Hat mir sehr geholfen und ein haufen zeit gespart. Meine Assembler Zeiten sind schon seit Jahren vorbei, ich programmiere wenn dann noch in C ;-) Link zum Video: https://youtu.be/Dll5saQOx48 Gruß Daniel
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.