Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

Der Ursprung dieses Forum reicht bis in das Jahr 2008 zurück

Foren Suche

  • ZeitproblemDatum11.02.2020 11:34
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Ich sag mal so ....

    es sieht sehr gut aus.
    Als Rundumlicht auch ziemlich gut einsetzbar.

    Nur, .... mit PWM wie gesagt hat das wenig zu tun , mehr so mit ausglimmen.

    Ich glaub , viele Wissen wohl noch nicht wie so ein PWM überhaupt funktionuiert ?
    Ne simple Schleife runter oder rauf laufen lassen , is noch kein PWM , lediglich .... nen Ausblenden.

    Aber wie gesagt , hier fürn Rundumlicht reicht es alle mal

  • ZeitproblemDatum11.02.2020 01:56
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Ich hab Deinen Code mal eben auf nem Atmel gemacht ,.... cooles Lauflicht , aber auch nicht mehr .
    Mit PWM hat das aber ehrlich so überhaupt nix zu tun.




    Aber warum wie immer dann so ein Roman dafür ??
    Das geht auch mit 2-3 Sätzen ...

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     

    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 30
    $swstack = 30
    $framesize = 30
     
    Config Portb = Output
    Config Portc = Output
    Config Portd = Output
     
    do
    Portd.0=1:portc.5=0:waitms 150
    Portb.0=1:portd.0=0:waitms 150
    Portb.1=1:portb.0=0:waitms 150
    Portc.5=1:portb.1=0:waitms 150
    loop
     
     



  • ZeitproblemDatum11.02.2020 01:02
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Kann man sehen wie man möchte , manchmal ist der Simulator schon recht praktisch

    Auf nötigste reduziert ?
    Kann man so sagen , nur mit PWM hat das so garnichts am Hut.
    Is nen bissel mit Schleife spielen , jo.

    Es ist problemlos machbar bei einer 08M2 mit 4 unabhängigen,
    bei der 14M2 mit 10 unabhängigen ,
    und der 20M2 mit 15 unabhängigen
    PWM 's zu arbeiten.

    Aber das geht nicht , mit einer simplen FOR ... NEXT Schleife , dazu muß man erst einmal den Sinn verstehen

  • ZeitproblemDatum11.02.2020 00:37
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Dieses nervige High and Low anstatt simple 1 und 0 sagen zu können bei einer Picaxe ....
    Wir wollten ja nicht die Bibel abschreiben , sondern ein kleines Rundumlicht zeigen , gelle

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     

    dirsc=%00010111

    symbol LED1=c.0
    symbol LED2=c.1
    symbol LED3=c.2
    symbol LED4=c.4

    symbol W=w1
    symbol Zaehler=w2

    do
    '--------------------
    Zaehler=1
    high LED2
    do

    for W=0 to 400
    if Zaehler=W then
    high LED1
    endif
    next W
    low LED1
    Zaehler=Zaehler+4

    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    high LED3
    do

    for W=0 to 400
    if Zaehler =W then
    high LED2
    end if
    next W
    low LED2

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    high LED4
    do

    for W=0 to 400
    if Zaehler =W then
    high LED3
    end if
    next W
    low LED3

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    high LED1
    do

    for W=0 to 400
    if Zaehler =W then
    high LED4
    end if
    next W
    low LED4

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop
    '----------------------
    loop
    end
     
     

  • ZeitproblemDatum11.02.2020 00:36
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    gibts da auch ein Video zu ??
    Sieht mir so ganz und garnicht ansatzweise nach einem PWM aus ...

  • ZeitproblemDatum10.02.2020 19:48
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    im Simulator läufts .....

  • ZeitproblemDatum10.02.2020 19:21
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    wenn 's denn jetzt so läuft ? ;-)

  • ZeitproblemDatum10.02.2020 19:09
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
     

    #picaxe 08M2
     
    let dirsc=%00010111
     
    symbol LED1 = pinc.0
    symbol LED2 = pinc.1
    symbol LED3 = pinc.2
    symbol LED4 = pinc.4
    symbol Zaehler=W2

    do
    '--------------------
    Zaehler=1
    LED2=1
    do

    for W1=0 to 400
    if Zaehler=W1 then
    LED1=1
    endif
    next W1
    LED1=0
    Zaehler=Zaehler+4

    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    LED3=1
    do

    for W1=0 to 400
    if Zaehler =W1 then
    LED2=1
    end if
    next W1
    LED2=0

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    LED4=1
    do

    for W1=0 to 400
    if Zaehler =W1 then
    LED3=1
    end if
    next W1
    LED3=0

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop

    '----------------------
    Zaehler=1
    LED1=1
    do

    for W1=0 to 400
    if Zaehler =W1 then
    LED4=1
    end if
    next W1
    LED4=0

    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit
    end if

    loop
    '----------------------


    loop
    end
     
     

  • ZeitproblemDatum10.02.2020 18:56
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Hallo karlsson ,

    hab zwar kein Picaxe Board just zur Hand , aber da man das nur 1:1 kopieren brauch , kann ich den Text auch grad für dich kopieren

  • So ein PICAXE kann schon was ;-)Datum10.02.2020 12:37

    . . . .wenn da jetzt noch nen Schaltplan bei wäre ...

  • ZeitproblemDatum10.02.2020 11:34
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    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 ;-)


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     

    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 50
    $swstack = 50
    $framesize = 50
     
    config portc.1=output
    config portc.2=output
    config portc.3=output
    config portc.4=output
     
    LED1 alias portc.1
    LED2 alias portc.2
    LED3 alias portc.3
    LED4 alias portc.4
     
    dim W as word
    dim Zaehler as word
     

    do
    '--------------------
    Zaehler=1
    LED2=1
    do
     
    for W=0 to 400
    if Zaehler=W then
    LED1=1
    endif
    next W
    LED1=0
    Zaehler=Zaehler+4
     
    if Zaehler>=400 then
    exit do
    end if
     
    loop
     
    '----------------------
    Zaehler=1
    LED3=1
    do
     
    for W=0 to 400
    if Zaehler =W then
    LED2=1
    end if
    next W
    LED2=0
     
    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit do
    end if
     
    loop
     
    '----------------------
    Zaehler=1
    LED4=1
    do
     
    for W=0 to 400
    if Zaehler =W then
    LED3=1
    end if
    next W
    LED3=0
     
    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit do
    end if
     
    loop
     
    '----------------------
    Zaehler=1
    LED1=1
    do
     
    for W=0 to 400
    if Zaehler =W then
    LED4=1
    end if
    next W
    LED4=0
     
    Zaehler=Zaehler+4
    if Zaehler>=400 then
    exit do
    end if
     
    loop
    '----------------------
    loop
    end
     
     



    Die Geschwindigkeit kann über :
    Zaehler=Zaehler+4
    eingestellt werden , je nachdem wie schnell der Zaehler hoch zählen soll.

    Die Gesamtgeschwindigkeit hängt hier von ab :
    for W=0 to 400



  • So ein PICAXE kann schon was ;-)Datum10.02.2020 00:05

    ### das ist mir ehrlich gesagt zu viel Text :-( , gibts da auch ne komprimierte Version von :-) ####


    Die Picaxe kann sicherlich schon was , 10 Schalter gleichzeitig an und aus ...
    aber :

    pulsin
    pulsout
    ADC
    Servo
    Timer1
    Timer2
    Display
    InfraRot

    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 .

  • ZeitproblemDatum09.02.2020 18:17
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    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.

  • ZeitproblemDatum09.02.2020 17:29
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    ich finde das unabhängig vom Programmieren so aber viel übersichtlicher

    Man erkennt sofort die wesentlichen Funktionen um was es hier geht, wird nicht zwischen unnötiges Setzen von Variablen oder gleichen abgelenkt.

    Man kann es jetzt noch unwesentlich verkürzen , aber das tut schon fast nix mehr zur Sache .

    ich trau der Picaxe nicht ,...........
    wenn ich eine Operation habe wie :


    If Gänseblümchen = frisch OR Gänseblümchen = HELL then ....


    mache ich das lieber getrennt oder anders , das das eindeutiger wird für den Chip.



    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     

    ; picaxe14m2 ; automatische Compilerauswahl für gedit
    ;
    pause 1000 ; eine Pause für die RC-Elektrik
    ;
    symbol RC_Signal = b0 ; das Signal vom Empfänger
    symbol Blinker = b1 ; Blinker links ein/aus
    symbol Rundumlicht = b3 ; Rundumlicht 4 LEDs
    ;
    Main:
    ;
    pulsin C.4, 1, RC_Signal ; RC-Signal vom Fahrtregler abfragen (Bremslicht)
    Select case RC_Signal
    case 144 to 156
    high c.0
    else
    low c.0
    end select
    ;-------------------------
    ;
    pulsin C.3, 1, RC_Signal ; RC-Signal vom Lenkservo abfragen (Blinker)
    if RC_Signal < 143 then
    Blinker = 1 ; Links
    elseif RC_Signal > 157 then
    Blinker = 2 ; Rechts
    else
    Blinker = 0
    low C.1
    low C.2
    endif
    ;------------------------
    ;
    pulsin B.5, 1, RC_Signal ; RC-Signal vom ??? abfragen (Rundumlicht)
    select case RC_Signal
    case 144 to 156
    Rundumlicht =0
    else
    Rundumlicht =1
    end select
    ;
    goto Main
    ;
    ;
    start1: ; Multitask für die Blinker
    if Blinker = 1 then
    high C.1 : pause 99
    low C.1 : pause 99
    elseif Blinker=2 then
    high C.2 : pause 99
    low C.2 : pause 99
    endif
    goto start1
    ;
    ;
    start2: ; Multitask für das Rundumlicht
    if Rundumlicht = 1 then
    low b.4 : high b.1 : pause 99
    low b.1 : high b.2 : pause 99
    low b.2 : high b.3 : pause 99
    low b.3 : high b.4 : pause 99
    else
    low b.1 ,b.2 , b.3, b.4
    endif
    goto start2
    ;
     
     

  • ZeitproblemDatum09.02.2020 13:19
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    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 .

  • ZeitproblemDatum09.02.2020 11:46
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Moin Leutz ,

    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

  • ZeitproblemDatum08.02.2020 11:13
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     

    dirsb=%00111110
    dirsc=%00000011

    high c.1 'Bremlicht an


    start:
    'Bremslicht

    count C.4, 300,b0 'Radsensor
    if b0 > 0 then
    low c.1
    else
    high c.1
    endif
     
    goto start
     

     

    start1:
    'Blinker

    pulsin C.3,1,b1 'Servosignal
     
    if b1>160 then
    pulsout b.5,60000
    pause 600
    elseif b1<140 then
    pulsout c.0,60000
    pause 600
    endif

    goto start1
     

     

    start2:
    'Rundumkennleuchte


    if pinc.2 = 1 then

    pulsout b.1,7000
    pause 70
    pulsout b.2,7000
    pause 70
    pulsout b.3,7000
    pause 70
    pulsout b.4,7000
    pause 70

    endif

    goto start2
     
     

  • ZeitproblemDatum08.02.2020 09:45
    Foren-Beitrag von BoomBoomMagic im Thema Zeitproblem

    Hallo Karlsson ,

    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

  • PWM als Signal nutzenDatum08.02.2020 09:35
    Foren-Beitrag von BoomBoomMagic im Thema PWM als Signal nutzen

    schade.

    Aber nen bissel viel Magnete
    Hätten da nicht 2 oder max. 4 dicke ausgereicht ?

  • Nr.6 lebt ...Datum04.02.2020 14:13
    Foren-Beitrag von BoomBoomMagic im Thema Nr.6 lebt ...

    Hier noch nen Vorschlag ...

Inhalte des Mitglieds BoomBoomMagic
Beiträge: 480
Ort: Bielefeld
Geschlecht: männlich
Picaxe Editor 5.5.5 Download
Update auf Picaxe Editor 5.5.6 Download
Picaxe Editor 6.x.x.x Download
Manual1.pdf        -      Grundwissen Download
Manual2.pdf        -      Befehle Download
Manual3.pdf        -      Beispiele Download


Press [Backspace] for back to Menu


Counter
Xobor Forum Software ©Xobor.de | Forum erstellen
Datenschutz