Obwohl diese RC Bastelei so garnicht mein Thema ist ( mir fehlt die Herrausforderung dabei ) , hab ich mich noch mal kurz mit dem Rundumlicht beschäftigt.
Karlsson , wir hatten das Thema ja schon bereits damals mit dem Leuchtturm , weißt noch ?
Da Du ja sowieso einen extra Chip nehmen willst ..... Ich fand das bei dem Rundumlicht etwas unnatürlich wenn da nur abwechselnd 4 Leds angehen. Drum habe ich ein wenig SOFT-PWM eingebracht , so das wenn die nächste LED leuchtet , die vorherige langsam abdimmt. ( schlieren Effekt )
Ich hab das allerdings für einen Atmel gemacht , weil ich grad kein Picaxe Board angeschlossen habe , aber Naubaddi kann das sicher just für die Picaxe ummodeln , gelle ;-)
alles zusammen ist da dann schon Science Fiction , während der Atmega noch am überlegen is dafür wach zu werden oder das eher im Tiefschlaf zu erledigt ;-) Welchen "Hund" willste auch schon mit 250Khz Taktfrequenz "von der Roste" holen ;-) Dennoch kann er ein paar langsame Routinen schon hinbekommen .
Du sollst Dir hier weder einen anderen Stil angewöhnen , noch Deine Eselsbrücken missen.
Nur etwas ....pfff....wie sag ich's jetzt am besten ..... sinniger ?!
Beispiel :
If Variable xxx = 1 then Variable nnn =5 endif
If Variable nnn =5 then ' mach was ... endif
Diese doppelt gemoppelt ....... kann einen schon bissel kirre machen
Natürlich kann eine Picaxe einen Bereich Abfragen. Das ist nicht das Problem. Das Problem sind die erweiterten Abfragen mit zusätzlichen Operatoren : OR , XOR , AND , XAND
Du meinst z.B.
If Käsekuchen <100 OR Käsekuchen >150 then
wenn der aber des so interpretiert
If Käsekuche < 100 or Käsekuchen >150 then
is ja etwas völlig anderes ... Man kann so eine Picaxe ( die weder Fliesskomma , noch Text kann ) nicht mit anderen echten Mikrocontroller oder gar einer PC Programmiersprache auf eine Stufe setzen.
Ich hab nicht gesagt das das RC-Signal popelig ist , sondern die Funktion , die es zu programmieren gilt.
Wobei das unabhängig von der Schwierigkeit oder dem Timing ist.
Ich hatte mir den Spaß gemacht und mal Deinen Code bissel ... mh .... "entlastet" und nur das wesentliche gelassen , jo , da war das schon übersichtlicher mit 10 Sätzen ca. Da hab ich dann auch langsam den Sinn des Codes verstanden , vorher sah ich nur Text ...Text ...Text ...
aber wie gesagt , ich hab so überhaupt nix mit sowas am Hut , ist überhaupt nicht mein Interessensgebiet, insofern würd ich sagen , mach das weiterhin so wie Du es gewohnt bist .
also , .... ich will mich da nicht reinhängen , aber .... mir sind die Codes alle zu Ballasthaltig , zu Schwerlastig Vielleicht denk ich zu logisch ......
Ich habe doch nur EINE simple popelige Schleife , nämlich : was ist das Servosignal (pulsin) Mehr interessiert mich doch erstmal überhaupt nicht .
Dann , je nach dem , ob Blinker links oder Blinker rechts oder Warnblinker setze ich passende Variablen.
Die entsprechenden Blinkfunktionen stehen in verschiedenen Task und werden über die entsprechenden Variablen aktiviert. fertig !
If .... IF .... IF ... IF .... Variable A= , Variable B = , Variable C= , Variable D = , Variabel e= , ...... Übersichtlich geht echt anders meiner Meinung nach
ich denke auch , wenn Du jeder Funktion einen Task spendest , könnte das mit ner Picaxe besser gehen. So arbeitest du ja nur alles nacheinander ab , bis auf das Rundlicht.
Naubaddi's Code ist mir leider viiiiiiiiiiel zu lang , will doch nicht erst die Bibel lesen für 2-3 Funktionen , da steig ich nicht wirklich durch was da passieren soll oder kann oder tut ... aber scheint ja zu funktionieren
ich kann mir eigentlich nicht vorstellen das es der Drehencoder selbst ist .. je nach Encoder hat der nen Ring mit 15,20,30,40 Kontakten , auf dem ein weiterer geschliffen wird . Na gut, fast wie nen Poti , könnte vll. doch sein .... aber Encoder gibts wie Sand am Meer Der wäre für 3€ austauschbar - falls man noch Radio haben will im Auto.
Sinn macht weder Poti , noch Encoder mit Servo , das ist klar , sind halt dumme Spielereien Wobei , wenn ich den Decoder an meinen Arm befestige , bewegt sich nen Servo 1:1 mit z.B.
Heute habe ich mal den Spaß gemacht und einen Servo mittel Drehencoder laufen lassen. Zusätzlich wird wie bekannt das Ganze auf einem alphanumerischen Display (16x2) angezeigt und über PinC.4+5 die Drehrichtung als Impuls detektiert.
Wen's interessiert , hier der einfache Code dazu :
mh ... na wenn denn dann schon sinnlose Übungen machst , dann mach doch mal die Herausforderung Drehencoder anstatt Poti und Servo ;-) .... könnte man ja mal gebrauchen ....