Herzlich Willkommen im einzigen (deutschsprachigem) Picaxe-Forum.

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

Foren Suche

  • 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 ...

  • Kleine Spielerei mit Servo ...Datum04.02.2020 10:49

    Hallo Naubaddi ,

    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.

  • Kleine Spielerei mit Servo ...Datum04.02.2020 00:15
    Thema von BoomBoomMagic im Forum Little small Talk

    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 :

    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
     

    $regfile = "m8def.dat"
    $crystal = 8000000
    $hwstack = 40
    $swstack = 40
    $framesize = 40
     

    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.2 , Rs = Portd.3
    Config Lcd = 16 * 2
    cls
    cursor off
     
    Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
     

    Config Portc.1 = Input
    Config Portc.2 = Input
    config portb = output
    Config Portc.4 = output
    Config Portc.5 = output
     
    dim Merken as byte
    Dim Result As Byte
     
    merken=30
    Portc.1 = 1
    Portc.2 = 1
    locate 1 , 1
    lcd "aktueller Wert :"
    locate 2 , 1
    lcd Merken ; " "
     
    Enable Interrupts
     
    Do
    Result = Encoder(pinc.1 , Pinc.2 , Links , Rechts , 0)
    Loop
    End
     

    Links:
    pulseout portc , 5 , 1000
    decr merken
    if merken<30 then
    merken=30
    endif
    Servo(1) =merken
    locate 2 , 1
    lcd Merken ; " "
    Return
     

    Rechts:
    pulseout portc , 4 , 1000
    incr merken
    if merken>150 then
    merken=150
    endif
    Servo(1) =merken
    locate 2 , 1
    lcd Merken ; " "
    Return
     
     




    Und wozu jetzt das Ganze bitte schön ...?


    öhm .... weil er's kann ?!

  • 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 ....

  • Jetzt muß ich doch mal dumm frägen ...

    Du hast einen Servo-Empfänger ( da kann man jetzt schön einen Servo dran hängen )

    liest das Siganl aus mit nem Atmega ( o-kay) und gibts das dann einem Servo ???

    Wieso nicht gleich den Servo an dem Empfänger ??

  • Das kommt , weil Du ja jetzt mit dem Atmega einen richtigen Mikrocontroller als Hilfsmittel hast und nicht son Krückending wie die Picaxe.
    Der Atmega is ja um Faktor 8 bis 10 x schneller und macht sowas quasi im "Standgas" ;-)
    Da macht das natürlich auch Spaß :-)

  • Ehrlich gesagt , hatte ich noch nie so direkt darauf geachtet.
    Meist nehm ich die nur für das Display, und da ist es relativ egal.
    Bei einer ADC Messung , dann noch mit LED als Anzeige, is so garnix proportional und fällt deshalb weniger auf.
    Ab 10K is des eh egal , kannst auch 100K oder 1M als ADC Poti nehmen .......
    Wenn du so genau den Servo steuern wilst , vielleicht dann nicht nen Poti , sondern einen Spindeltrimmer ?
    Man könnte auch nen Drehencoder nehmen , das wird aber schwierig in der Programmierung für Dich ;-)
    Allerdings hatte ich des auch , 500 Motoren bestellt , sollten 30mA machen , jouuu .... zwischen 20mA und 60mA war die Realität.50% quasi Ausschussware.

  • Fernbedienung mit der PicaxeDatum01.02.2020 14:46
    Foren-Beitrag von BoomBoomMagic im Thema Fernbedienung mit der Picaxe

    Snoopy is cool ;-)

  • PWM als Signal nutzenDatum31.01.2020 12:38
    Foren-Beitrag von BoomBoomMagic im Thema PWM als Signal nutzen

    jupp , exakt :-)

  • PWM als Signal nutzenDatum31.01.2020 09:42
    Foren-Beitrag von BoomBoomMagic im Thema PWM als Signal nutzen

    Hallo Karlsson ,

    im Grunde ja.
    Ich würde da aber noch je Meßleitung parallel einen 1-10µF Elko und ggf. nen 10-100nF Kondensator packen zur Meßstabilität des Signals.

  • Fernbedienung mit der PicaxeDatum29.01.2020 23:58
    Foren-Beitrag von BoomBoomMagic im Thema Fernbedienung mit der Picaxe

    mh .... dann bin ich wohl hier nen Ausserirdischer

    Ich habe schon früher alles was ich bekommen habe erst einmal auseinander genommen - man will ja wissen wie des funktioniert

    Man kann auch die 3:1 Regel nehmen , .... 3x inne Hose gegangen , beim 4. mal halbwegs funktionert.

    Ok, Scherz beiseite.
    Es ist (mir) egal was es ist , Programme , Bauteile , Geräte , ect.,
    grundsätzlich setze ich mich damit auseinander , studiere Anleitungen , suche Info - erst dann erwäge ich nen Lötkolben in die Hand zu nehmen.
    Für mich wäre das also nix , erst auf blauen Dunst zu probieren wie evtl. etwas funktionieren kann , ich muss es dann doch schon genau wissen !
    Allein so ein ISD400xxx z.B. kostet schon an die $50.

    Ich kenn einige die noch mangels Wissen mit alten analogen Bauteilen auf einer Euro-Platine rumbasteln, wobei man das heute auf einer 2cm x 2cm Platine mit nem µC schafft.
    Vll. ist es die Angst vor Neuem ?
    Aber gerade daran wächst man doch und entwickelt sich.
    Immer auf die selbe Stelle treten während die anderen schon Kilometer weiter sind ?

    Diese Seite würde es nicht geben wenn ich nicht den Ergeiz gehabt hätte dutzende an neuen Sachen zu probieren oder Bauteile bis auf den Kern zu erlernen.

  • Fernbedienung mit der PicaxeDatum29.01.2020 23:38
    Foren-Beitrag von BoomBoomMagic im Thema Fernbedienung mit der Picaxe

    Zitat

    BBM, wie ist das mit "... das IR Protokoll von Sony ist Bestandteil der Picaxe" ??



    Ich weiß jetzt nicht ob Revelution Education dem SONY ein paar Euro gezahlt hat das man es nutzen darf ,
    aber die Picaxe hat von je her , seit Anbegin der (Picaxe)Zeitrechnung sowohl das Infrarot Empfangen als auch Senden (IRin + IRout )
    als Bestandteil seines Befehlssatzes enthalten.

    Auf Deutsch :
    Mit der Picaxe kann man Infrarot-Signale senden , als auch Empfangen - ABER nur Sony ! ( das SIRC Protokoll )
    Guck doch mal in meiner deutschen Übersetzung (Menuleiste ) nach : INFRAin / INFRAout / IRin + IRout ....


    Hier ein Bild aus "alten" Tagen :


    und nen bissel Code :

    SENDER

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     

    main:
    if pins>0 then

    infraout 1,pins
    pause 30
    infraout 1,0
    pause 200
    let pins=%00000000

    endif
    goto main
     

     




    EMPÄNGER

    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
     

    main:
     
    infrain2
    if infra>0 then Auswerten

    goto main
     
    '******************************
     
    Auswerten:
     
    if infra=2 and b0=0 then
    high 0
    b0=1
    elseif infra=2 and b0=1 then
    low 0
    b0=0
    endif

    if infra=4 and b1=0 then
    high 1
    b1=1
    elseif infra=4 and b1=1 then
    low 1
    b1=0
    endif
     
    if infra=8 and b2=0 then
    high 2
    b2=1
    elseif infra=8 and b2=1 then
    low 2
    b2=0
    endif
     
    if infra=16 and b3=0 then
    high 4
    b3=1
    elseif infra=16 and b3=1 then
    low 4
    b3=0
    endif
     
    goto main
     
     

  • Grundsätzliche Frage - ModelleisenbahnDatum29.01.2020 17:43

    Ja , man muss sich wohl echt überlegen was man bauen mag.
    2 Gleisig analog , oder 1 Gleisig digital ....
    überhaupt , analog oder digital ...
    denke mit 500 € bist grad mal beim Einsteiger Set :-(

  • Grundsätzliche Frage - ModelleisenbahnDatum28.01.2020 18:41

    da hat man schon die Möglichkeit durch einen Mikrocontroller das etwas "luxioröser" zu gestalten ,
    und dann nimmst nen banales Schiebepoti und regelst des manuell ?

Inhalte des Mitglieds BoomBoomMagic
Beiträge: 528
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