-         

Ergebnis 1 bis 5 von 5

Thema: IR-Signal für Canon DSLR erzeugen

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556

    IR-Signal für Canon DSLR erzeugen

    Anzeige

    Ich habe beim Stöbern gerade gefunden, wie einfach die Canon DSLR`s per IR ausgelöst werden :



    Ich weiss jetzt aber leider nicht genau, wie ich die obigen Signale auf nur einem Pin ausgeben kann - ich könnte zwar einfach per Interruptroutine ein 38Khz-Signal erzeugen und dann zusammen mit einem externen UND-Glied und einem weiteren Pin das Zeitsignal erzeugen...aber das geht doch auch bestimmt ganz einfach intern im MC...RC5 z.B. macht ja nix anders.

    ...nur stehe ich diesbezüglich gerade auf dem Schlauch.

    Edit : Dieser Ansatz klappt leider nicht
    Code:
    $regfile = "m8def.dat"                                      'Chip definieren
    $crystal = 16000000                                         'Quarzfrequenz definieren
    
    Config Timer0 = Timer , Prescale = 1                 '38Khz
    On Timer0 Timer_irq
    Const Timervorgabe = 34
    Enable Timer0
    Enable Interrupts
    
    Config Pind.7 = Output
    Rc1 Alias Portd.7
    Dim Signal As Bit
    
    
    Do
       Wait 5                                      'Auslöseverzögerung
       Rc1 = Signal                             '38 Khz
       Waitus 400                                'für 400µs
       Rc1 = 0
       Waitms 5.5                                '5,5ms Signal 0
       Rc1 = Signal                              'danach wieder 38Khz
       Waitus 400                                 'für 400µs
       Rc1 = 0                                     'wieder 0 
    Loop
    End
    
    Timer_irq:
    Timer0 = Timervorgabe
    Toggle Signal                         'erzeuge 38 Khz Signalbit
    Return
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Ich glaube, der denkfehler liegt hier:

    Code:
    RC1 = Signal
    Waitus 400
    Auch wenn die IRQ das Signal-Bit regelmäßig toggelt - RC1 wird nur ein einiges mal mit Signal gleichgesetzt, und dann für 400 µs aber nicht mehr!

    Du brauchst also eine Funktion, die auch weiterläuft, wenn der Controller gerade in der Wait-Phase hängt - z.B. PWM.[/code]

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    ...habe mir soetwas Ähnliches schon gedacht, konnte es aber leider nicht mit einem Oszi messen...werde es es dann halt doch mal etwas komplizierter mit einem logischen Gatter probieren.

    Danke !
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    werde es es dann halt doch mal etwas komplizierter mit einem logischen Gatter probieren.
    Na, na, na... das tut dem Mega8 aber auch vielleicht ´n bisschen weh...

    Ich würd´s mal so probieren:

    Code:
    $regfile = m8def.dat
    $Crystal = 16000000
    
    Config Pind.7 = Output
    
    Config timer0=timer, prescale=1
    On timer0 timer_IRQ
    Enable interrupts
    
    Do
    Enable timer0    'ISR wird freigegeben, 38kHz-Signal startet...
    waitus 400        '...für 400 µs...
    disable timer0   'und stoppt wieder.
    portd.7=0        'Ausgangspin noch schnel resetten...
    waitus 5500   '...und nach 5,5ms Pause ab in die nächste Runde.
    Loop
    
    
    Timer_IRQ:
    Timer0 = 34
    Toggle Portd.7
    return
    Gruß & Co,

    Daniel

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    47
    Beiträge
    2.556
    ...prinzipiell wohl so genau richtig - nur leider klappt es nicht...muss mir echt mal `n Oszi leihen und messen, was rauskommt.
    Danke an Alle, die uns bei der erfolgreichen 1.000€-Aktion der IngDiba unterstützt haben! | https://www.hackerspace-bremen.de | http://www.pixelklecks.de |

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •