- Labornetzteil AliExpress         
Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 38

Thema: kleines Problem bei IR abfrage

  1. #21
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    34
    Beiträge
    718
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Juhu, lag ja noch nichtmal soo falsch
    Da ich mich nochnicht soo lang mit AVRs beschäftige ist das alles nicht ganz einfach für mich.

    Alsu muss ich jetzt erstma gucken wie ich das mit dem Vorteiler in Bascom mache, und dann gucken was CTC ist.
    Das Togglebit muss ich ja auch jedesmal noch ändern.
    Man man ist garnicht so einfach.

    Ein Codebeispiel wäre echt sehr hilfreich, dürften ja eig. nur ein paar Zeilen sein.
    Aber ich such trotzdem mal weiter!

  2. #22
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Der Blink-test:
    Code:
    $regfile = ""
    $crystal = 9600000
    Config Timer0 = Timer, Prescale = 8
    
    Led3 Alias Portc.2
    
    Config Led3 = Output
    
    On Timer0 Timer_irq
    
    Const Timervorgabe = 256-33 ' ;-)
    
    Enable Timer0
    Enable Interrupts
    
    'Hier ist die Programmhauptschleife
    Do
    'Hier könnte Ihr Hauptprogramm stehen
    Loop
    
    Timer_irq:
       Timer0 = Timervorgabe
       Toggle Led3
    Return
    Habe das jetzt nur schnell zusammenkopiert (ungetestet), oben nur noch die richtige .DAT-Datei einbauen, und den richtigen AusgangsPort angeben, dann sollte das mit dem 36kHz Blinken funktionieren.

    Edit:
    Timerwert Stimmte ja garnicht, ist aber jetzt ausgebessert

  3. #23
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    34
    Beiträge
    718
    Das haste bestimmt getestet gibts zu
    Funktioniert, die LED geht ganz schnell an und aus, danke!

    Jetzt muss ich in der Sub immer die Bits ausgeben (mit ner If abfrage und einer Laufvariablen, damit ich nicht immer das gleiche ausgebe).

    Ich geh jetzt erstmal schalfen, bin total müde, ich setzt mich morgen mal dran!
    Hab noch son eine Frage zum Timer. Return setzt den µC ja immer wieder an die letzt bearbeitete Stelle im Hauptprogramm zurück, aber kann ich diese Stelle auch irgentwie vorgeben?
    Das ich ihn z.b. vor eine IF abfrage stelle (wegen meinen verschiedenen Programmen beim Lauflicht).
    Ich wollte den IR Emfang per Interrupt lösen (wenn er RC5 identifiziert), aber er soll dann halt direkt das akt. Programm beenden, und nicht noch erst bis es einmal durch ist.

    Naja ich hoffe ihr versteht was ich auszudrücken versuche.

    Dankeschön

  4. #24
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hab das nicht probiert, ehrlich [-X

    kannst Du das mal probieren, dann geht das geblinke automatisch, da ich keinen T13 da hab, und es sich für den Mega8 so nicht kompilieren lässt, kann ich das auch nicht testen

    Die LED muss dann aber an PortB0 sein, da das er OC0A Ausgang ist !

    Code:
    $regfile = "Attiny13.dat"                                   ' the used chip
    $crystal = 9600000
    
    Config Portb.0 = Output
    
    Config Timer0 = Pwm , Prescaler = 8 , Compare A = Toggle , Clear Timer = 1
    
    Ocr0a = 33
    
    Do
    
    Loop
    
    End
    Wenn das klappt, muss man nur noch mit Start/Stop Timer0 den Timer ein-/ausschalten, je nachdem ob man High oder Low ausgeben will.

    Evtl. noch mit Deinem Oszi messen ob es auch 36kHz sind, also der Abstand der Flanken ca. 28µs hat, so wie letztens in deinem Bild oben.

    PS:
    kannst Du deine grossen Bilder oben entfernen, und evtl. nur den Link dahin angeben, das verzieht sonst das schöne RN-Layout !

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Hallo, schön, das es klappt, vielleicht ein Tip von mir,anstatt den Timer ein und auszuschalten, würde ich die Katode der Diode an einem Freiem Pin hängen und in der Interruptroutine ein und ausschalten(natürlich nicht bei jeden Überlauf, sonderen nach jedem 32) je nachdem ob die LED High oder LOW sein muß, ich hoffe Ihr versteht was ich meine...

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  6. #26
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Beim ASURO ist es auch so gemacht mit der IR LED, zwischen TxD und OC2.

    Wenn er die Leistung der LED ausnutzen will, muss er aber noch etwas an elektronic dazu bauen.



    Kann er aber machen wie ein Dachdecker, oder wie das hier heisst

  7. #27
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    34
    Beiträge
    718
    So ich hab den Code mal probiert, das Oskar zeigt aber nur einen senkrechten Strich na mit "leichten" Lücken.
    Warum er nicht vertical ist versteh ich auch nicht.

    Oder soll die Led jetzt mit der anderen Seite noch an Tsd?.
    Zurzeit hab ich die Anode per Widerstand an Vcc, und die Kathode per Transistor gegen GND.

    Muss ich den Timer nicht noch starten?

  8. #28
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Die Schaltung sollte zum ausprobieren der Frequenz schon passen, erst später evtl. den 2. Pin auch an den AVR.
    Hast Du das mit dem Start Timer auch gemacht ?

  9. #29
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    34
    Beiträge
    718
    ne nur so wie du es oben gepostet hast!

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    34
    Beiträge
    718
    Sorry ich hab es grad 2 Stunden versucht, aber ich bekomm den Aufbau einfach nicht hin.
    Sagen wir mal der Timer überäuft, die Subroutine setzt den Port auf 1, dann läuft er wieder über, und ich setzte den Port wieder 0 oder?

    Und mit dem Hauptprogramm frag ich noch per Endlosschleife ab, ob die Sendetaste gedrück wurde, der als Bedingung mit der Subroutine zum senden verknüft wird.

    Und zusätzlich brauch ich ja auch noch ein Sleep Modus damit die Batterie nicht direkt leer ist.

Seite 3 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad