mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Infrarotemfpänger


Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

Ich habe eben einen Infrarotempfänger (TSOP 1738) an PB03 meines Attinys 
angeschlossen und noch eine LED an PB01.

Den Infrarotempfänger habe ich mit seinem OUT Pin an PB03 rangesteckt 
und die Versorgungspannung entziehe ich aus meinem Netzteil 5V 450mA 
(womit ich auch die Attiny Platine betreibe). Ich habe noch an dem 
Infrarotempfänger nur einen 4.7 uF Kondensator an Masse und + dran 
gemacht.

Und habe dieses Programm:
$regfile = "attiny2313.dat"
$crystal = 12000000

Config Rc5 = Pinb.3
Enable Interrupts



Dim Address As Byte
Dim Command As Byte

Do
  Getrc5(address , Command)

  If Address < 255 Then
  Command = Command And &B10111111

  If Address = 1 Then

          Toggle Portb.0

      End If

  End If

Loop

drauf gepackt. Wenn ich jetzt mit meiner Fernbedienung irgendwas drücke, 
passiert nichts... die LED soll ja leuchten.

Ich benutze einen 12 MHZ Quarz. Woran kann es liegen ?

MfG,

Tugrul Ö.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Woran kann es liegen ?

Deine Fernbedienung liefert kein RC5-Code.

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Es ist eine Universalfernbedienung. Welche Fernbedienungen liefern den 
RC5 Code ?

Danke

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> Hallo.
>
> Es ist eine Universalfernbedienung. Welche Fernbedienungen liefern den
> RC5 Code ?

Die Wenigsten...

>
> Danke

...

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi ihr beiden,

Gibt es den überhaupt eine Möglichkeit zu überprüfen ob irgendwas an 
Signal ankommt ? Wenn ja wie müsst ich das machen ?

Danke.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Teste doch einfach, ob der IR-Empfänger überhaupt etwas empfängt. 
Einfach den Controller ohne den RC5-Schnickschnack auf den Eingang 
reagieren lassen.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> Hi ihr beiden,
>
> Gibt es den überhaupt eine Möglichkeit zu überprüfen ob irgendwas an
> Signal ankommt ? Wenn ja wie müsst ich das machen ?
>

Gib doch einfach die Werte adress und/oder command an einem Port aus.

> Danke.

...

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde es mit einem Oszi versuchen :)

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rahul, da liegt mein Problem.


Ich würd das so machen:

$regfile = "attiny2313.dat"
$crystal = 12000000

Dim test As Byte

Config Pinb.3 = Input

Do

test = Pinb.3

If test <> 0 Then
Toggle Pinb.0
End If

Loop


Ich teste das mal jetzt !

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich würd das so machen:

Waum machst du es nicht?

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So habs getestet,


Jetzt leuchtet die LED durchgehend,aber schwach... wieso ?

Bekommt der Infrarotempfänger die ganze Zeit ein Signal ? Von anderen 
Lichtquellen oder wie ?
Manchmal leuchtet sie ganz hell und manchmal nicht so hell, wie in 
diesem Fall. Jetzt leuchtet sie andauernd aber nur schwach.

Hmmm...

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert die Fernbedienung denn noch?

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja klar, das ist meine Universalfernbedienung für mein Fernseher.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aber schwach... wieso ?

Weil dein Auge zu träge ist, den ständigen Wechsel zwischen "an" und 
"aus" zu bemerken.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber das erklärt noch nicht wieso sie schwach Leuchtet, nur wieso er es 
als "schwach" wahrnimmt.

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich habe echt keine Ahnung und bin so sagen wir mal kurz
> vorm durchdrehen..

Dagegen hilft: Sich mit den Grundlagen beschäftigen und sich
nicht von der scheinbaren Einfachheit von Bascom blenden
lassen.

> auch wenn ich den Output stecker des TSOP 1738 von PB3 entferne,
> leuchtet die LED schwach...

Das bedeutet, dass dein Input Pin Signale auffängt. Wenn
ein an sonsten unbeschalteter Eingang Signale einfängt,
dann heist das mit 99% Sicherheit: Du hast keine Pullup
Widerstände aktiviert.

Wie gesagt: Leg erst mal Bascom beiseite, hol dir
AVRStudio und arbeite damit mal das Tutorial durch.
Danach verstehst du viel besser was in der Hardware abgeht.
Und dann kannst du dein heiss geliebtes Bascom auch
vernünftig benutzen.

Bascom ist nicht schlecht. Dank vorgefertigter Module
kriegt man schnell was auf die Reihe. Wenn man weiss
was man tut und was in der Maschine abgeht. Wenn man
das nicht weiss, dann gehts einem so wie dir.



Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, du hast mit meinem Namen geschrieben ? ^^.

Wie aktiviere ich den die Pull Up wiederstände ?

Ich werde mal AVRStudio durchnehmen... danke.

MfG
Tugrul Ö

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> Hallo, du hast mit meinem Namen geschrieben ? ^^.

Das finde ich auch lustig... ;-) Ich war's aber nicht, obwohl der Text 
von mir sein könnte, ich denke nämlich genauso.

>
> Wie aktiviere ich den die Pull Up wiederstände ?

Das steht alles groß und breit im Datenblatt des AVRs.

>
> Ich werde mal AVRStudio durchnehmen... danke.

Mach das, fang aber klein an, sonst bist Du sofort überfordert.

>
> MfG
> Tugrul Ö

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> Hallo, du hast mit meinem Namen geschrieben ? ^^.

Uuups. Tut mir leid. Wie ist das den passiert?

>
> Wie aktiviere ich den die Pull Up wiederstände ?

Da sind sie wieder. Oh diese Schmerzen.
röchel, röchel, röchel
Hand...
röchel, röchel
...buch,
röchel, röchel
F1 -
röchel
Hilfe
röchel


Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aua...

Gruß in die Berge...

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hannes Lux wrote:
> Tugrul Ö. wrote:
>> Hallo, du hast mit meinem Namen geschrieben ? ^^.
>
> Das finde ich auch lustig... ;-) Ich war's aber nicht, obwohl der Text
> von mir sein könnte, ich denke nämlich genauso.

Ich wars.
Ich hab seit ein paar Tagen Admin-Status. Bei jedem
Posting sind da jetzt noch ein paar Dinge mehr die
ich tun kann. Mein motorisches Gedächtnis muss sich erst
daran gewöhnen, dass sich die 'Knöpfe' verschoben haben.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich hab seit ein paar Tagen Admin-Status.

Will ich auch!
(Nee, eigentlich nicht.)

>Mein motorisches Gedächtnis muss sich erst daran gewöhnen, dass sich >die 
'Knöpfe' verschoben haben.
Hoffentlich nur die des Forums...

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achja: Zum Thema "Bascom oder nicht" halte ich mich raus.

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Fresse... im Datenblatt hab nichts gefunden !.

SOWEIT ich weiß, wird der doch interne Pull UP wiederstand dann 
aktiviert wenn man den PIN auf Input gestellt hat oder nicht ?? Habe ich 
hier im Tutorial gelesen. Mein Pin ist doch auf Input.. muss ja sein, 
sonst kann der Attiny nicht die Daten des TSOP 1738 annehmen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> interne Pull UP wiederstand dann
> aktiviert wenn man den PIN auf Input gestellt hat

Nein. Ist er nicht.
Wenn der Pin auf Input gestellt ist, dann fungiert
das Ausgaberegister des Ports als Schalter für die
Pullup Widerstände.

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Also muss ich den anders aktivieren ? oder muss das hardwaremäßig gelöst 
werden ?

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tue so als ob du ein HIGH an dem PORT ausgeben willst.
PORTB |= (1<<PB3);            (wie das in basic geht,keine ahnung)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> Hi
>
> Also muss ich den anders aktivieren ? oder muss das hardwaremäßig gelöst
> werden ?

Lies das (vollständige) Datenblatt (nicht die Zusammenfassung für 
BWLer)!

Wenn Du es nicht verstehst, dann lies es nochmal.

Oder versuche es mit "Malen nach Zahlen"...

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ja, das Datenblatt ist vielleicht etwas heftig für
den Anfang.
Die beiden Tutorials tuns auch. Vor allem in beiden
immer den ersten Teil, in dem es um die Ports und
das Anschliessen von Hardware daran geht.


http://www.mikrocontroller.net/articles/AVR-Tutori...
http://www.mikrocontroller.net/articles/AVR-GCC-Tu...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ist doch wahr, versteht die primitivsten Zusammenhänge nicht, will 
aber 'ne Fernbedienung decodieren und fragt sich alles zusammen anstatt 
mal selbst die verfügbaren Quellen zu lesen.

@Tugrul:
Gut, Du bist Anfänger. Waren wir alle mal. Also fang (wie wir alle) mit 
den Grundlagen an und erarbeite Dir Dein Wissen ehrlich. Du versuchst, 
den zwölften Schritt vor dem ersten zu machen, das geht nicht, Du musst 
klein anfangen. Wie hat PeDa mal so schön bemerkt? - Du kannst einen 
Berg nicht in einem Schritt besteigen...

Viel Erfolg,
Hannes

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK !

DAS ZU lesen ist kein Problem, das Problem ist dieser Wille :P g

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tugrul Ö. wrote:
> OK !
>
> DAS ZU lesen ist kein Problem, das Problem ist dieser Wille :P *g*

Kunst kommt aber von Können, käme es von Wollen, würde es Wulst heißen.
Aber wenn man es kann, ist es ja keine Kunst mehr. ;-)

...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier eine kleine hilfe, gelesen muss jedoch selbst.
http://www.roboternetz.de/wissen/index.php/Bascom

Die Kapitel "Einen I/O Port umschalten" und "I/O-Port als Eingang" 
könnten interessant sein.

Gruss

Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Also muss ich den anders aktivieren ?
http://www.mikrocontroller.net/articles/AVR-Tutori...

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend nochmal,

Ich habe jetzt ein wenig mehr gelesen und auch raus bekommen wie das mit 
dem PULL UP Widerstand funktioniert, ist alles auch einfach.

Nur mein Problem mit dem Infrarotempfänger ist trotzdem da ^^.
Ich habe die Spannungen gemessen und diese sind am Infrarotempfänger 
auch 5V, die Spannung ist sehr konstat also es schwankt überhaupt nicht.

Ich habe mich dann über RC-5 etwas schlauer gemacht und erfahren das 
"Phillips" RC-5 benutzt, also deren Fernbedienungen. Ich habe zu Hause 
eine Phillips Fernbedienung genommen und drauf gedrückt, aber es kam 
kein Ereignis.

Ich habe diesen Code benutzt:

$regfile = "attiny2313.dat"
$crystal = 12000000

Config Rc5 = Pinb.3
Enable Interrupts



Dim Address As Byte
Dim Command As Byte

Do
  Getrc5(address , Command)

  If Address < 255 Then
  Command = Command And &B10111111

  If Address = 1 Then

          Toggle Portb.0

      End If

  End If

Loop

und dann wollte ich testen ob der IR Empfänger überhaupt irgendwas 
emfpängt und habe somit diesen Code versucht:

$regfile = "attiny2313.dat"
$crystal = 12000000



Config Pinb.3 = Input

Signal Alias Pinb.3


Portb.3 = 1                                                 'Der Pull Up 
Widerstand

Dim Info As Byte


Do

Info = Signal

If Info <> 0 Then

Portb.0 = 1

Else

Portb.0 = 0

End If

Wait 2
Loop

Bei diesem Programm, leuchtet die LED nur sehr schwach und mehr nicht.

Hat jemand ne Idee warum das nicht klappt ?
Also gehen wir mal davon aus: Das RC-5 Programm ist drauf und die 
Fernbedienung ist auch RC-5 fähig.

Wie gesagt, hab einfach Out an PB03 dran gemacht und GND und + direkt an 
den Eingang für die Versorgungspannung der Attiny Platine.

Danke im Voraus,

so ich lese das tutorial weiter...

MfG,

Tugrul Ö.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tugrul,

1. ist die Adresse Deiner Fernbedienung auch "1" ?
2. Toggle die LED mal auf ein oder mehrere "command"

Gruss Otto

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Otto wrote:
> Hallo Tugrul,
>
> 1. ist die Adresse Deiner Fernbedienung auch "1" ?

Im ersten Schritt sollte man die Adresse mal ignorieren...

> 2. Toggle die LED mal auf ein oder mehrere "command"

Oder toggle bei jeder Änderung von command.

Dann im nächsten Schritt command an einem Port ausgeben und von LEDs 
anzeigen lassen (das übt dann das "binäre Ablesen" einer Zahl von LEDs). 
Dann (falls da überhaupt etwas ankommt) mal die Adresse ausgeben lassen. 
Und danach weißt Du mehr. Nämlich:

- Macht das Ding überhaupt RC5?
- Wenn ja, welche Adresse hat das Ding?
- Welche commands liegen auf welchen Tasten

>
> Gruss Otto

...

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viiel einfacher:
hängt die LED gegen Plus oder minus?

Du hast PORTB garnicht als Ausgang definiert (von Portb.3 mal abgesehen)

Wenn da steht:
Config Pinb.3 = Input
muss dann icht logischer Weise (ich kenne dieses BASCOM-Proramm auch 
nicht im Detail) auch
Config Pinb. = Output
oder sowas in der Art stehen??

/XlR.


[EDIT]
Nein - kA. Beschreibe das DDRB REgister mit dem Richtigen Wert und lass 
uns bitte nicht raten, wie BASCOM funktioniert

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes,

> Dann im nächsten Schritt command an einem Port ausgeben und von LEDs
> anzeigen lassen (das übt dann das "binäre Ablesen" einer Zahl von LEDs).
> Dann (falls da überhaupt etwas ankommt) mal die Adresse ausgeben lassen.
> Und danach weißt Du mehr. Nämlich:

auch eine gute Idee, aber ich glaube, Tugrul hat nur eine LED dran....

Gruss Otto

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo !

Meinst das ich mehrere LEDs an einen Port anschliessen soll und durch 
das leuchten/blinken ablesen was da los ist oder wie ?

Kann man das nicht in eine Variable speichern und mit PonyProg oder 
ähnliches diese Variable im µC auslesen ? g.

Ich versuchs mal irgendwie...

Danke !

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tugrul,

> Also gehen wir mal davon aus: Das RC-5 Programm ist drauf und die
> Fernbedienung ist auch RC-5 fähig.

Das die FB von Philips ist, heißt auch nicht zwingend, dass sie "RC5" 
sendet....

Gruss Otto

Autor: krulli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau.. Du solltest vielleicht mal ergründen, welcher IC in deiner 
Original-FB zum Fernseher eingebaut ist, dann sehen wir weiter

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Kameraden !

Erstes Erfolgserlebnis:

$regfile = "attiny2313.dat"
$crystal = 12000000

Config Rc5 = Pinb.3
Config Portb.0 = Output
Enable Interrupts




Dim Address As Byte
Dim Command As Byte

Do
  Getrc5(address , Command)

  If Address < 255 Then
  Command = Command And &B10111111



          Toggle Portb.0


     End If


Loop

Phillips FB, LED geht aus und an. Nur bei jeder Taste, aber das kann ich 
ja dann noch einstellen. Ich weiß jetzt wenigstens das es überhaupt geht 
!

Danke !!


Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja...

Aber es gibt ein größeres Problem. Nämlich die FB gehört Mama und damit 
steuert sie so eine Art Digital Receiver (türk. Premiere ^^) und wenn da 
Fußball läuft und die FB ist nicht da....

Kennt jemand andere RC5 fähige FB's ? Kann man eventuell eine bauen ?

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Universum-TV
Technisat Digipal-II DVBT-Empfänger

Autor: icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir den Text nicht ganz durchgelesen, aber:
ich habe mal FALSCH bezeichnete TSOP-Empfänger bekommen.
Falsche Frequenz. Lange Fehlersuche.
Ohne scope hätte ich es wohl nie herausbekommen.

Autor: krulli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bauen kann man RC5-FB... http://www.a-netz.de/remote-control.de.php

Gruß
 Holger

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tugrul,

gibt es nicht auch eine Atmel - Appnote für einen Sender ?

Otto

Autor: krulli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mal in der Bascom Hilfe nach SendRC5 (oder ähnlich) suchen...

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja vielleicht bau ich mir die !

@Otto: Weiß ich nicht, ich werde aber mal nach schauen.

Ich habe mal diesen Code jetzt drine und die LED bleibt manchmal an und 
geht micht mehr aus.. liegt das daran das alles so schnell abläuft ? wo 
müsste ich da eine Pause (wait) rein packen ?

$regfile = "attiny2313.dat"
$crystal = 12000000

Config Rc5 = Pinb.3
Config Portb.0 = Output
Enable Interrupts




Dim Address As Byte
Dim Command As Byte

Do
  Getrc5(address , Command)

  If Address < 255 Then
  Command = Command And &B10111111

  Select Case Command

    Case 11 : Toggle Portb.0
    Case 12 : Toggle Portb.0
    Case 13 : Toggle Portb.0
    Case 16 : Toggle Portb.0
    Case 17 : Toggle Portb.0
    Case 0 : Toggle Portb.0
    Case 1 : Toggle Portb.0
    Case 2 : Toggle Portb.0
    Case 3 : Toggle Portb.0
    Case 4 : Toggle Portb.0
    Case 5 : Toggle Portb.0

  End Select

     End If


Loop

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe mal diesen Code jetzt drine und die LED bleibt manchmal an und
> geht micht mehr aus.. liegt das daran das alles so schnell abläuft ? wo

Aber Du weißt, was "toggle" bedeutet, oder?

...

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die FB 2 gleiche Kommandos hintereinander sendet,
hast Du 2 x "getoggelt" und damit wieder den Ausgangszustand

Otto

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toggle ändert doch nur den zustand eines Ports.

Wenn 1 dann 0 , oder wenn er 0 ist dann 1.

Das ist doch auch richtig so ? Wenn ich die Taste drücke soll er den 
Port High machen und wenn ich nochmal drücke dann Low.

Nur das kenn ich aus jahrelangem Programmieren mit WinSock in Visual 
Basic 6. Client und Server Prinzip.

Man muss dem Interepretieren der Befehle etwas Zeit geben bzw. sie 
eventuell kurz Stoppen und alles ignorieren bis alles fertig 
durchgeführt wurde und dann erst wieder erlauben.

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die FB sendet solange Sequenzen, wie Du die Taste betätigst.
Da das "Toggle"-Bit ausmaskiert ist, gibt es keine Unterscheidung,
ob die selbe Taste 2x hintereinander betätigt oder festgehalten
wurde.....

Beispiel:

LED ist an, Kommando "1" und nochmal "1" und die LED ist wieder an....



Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du einenen einfachen, für dich auch sinnvollen, Lösungsvorschlag 
Otto ?

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tugrul,

für Dein Demo mit einer LED "Toggel" nur, wenn ein anderer Befehl kommt.

Otto

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sorry aber irgendwie habe ich das nicht so sehr verstanden. hmmm

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Füg noch eine Variable hinzu: OldCommand

In der Schleife holst du das nächste Commando.
Dieses vergleichst du jetzt mit OldCommand.
Nur dann, wenn die beiden nicht gleich sind,
machst du die toggle-Geschichte.
Als letzte Aktion wird innerhalb der Schleife
OldCommand noch auf Command gesetzt.

Sinn der Sache: Ein Command von GetRC5 wird nur
dann ausgewertet, wenn es unterschiedlich zum
unmittelbar vorhergehenden Kommando ist.

Dim Address As Byte
Dim Command As Byte
Dim OldCOmmand As Byte

Do
  Getrc5(address , Command)

  If Address < 255 Then

    Command = Command And &B10111111

    if OldCommand <> Command then

      Select Case Command

        Case 11 : Toggle Portb.0
        ...
      End Select

    End If
    OldCommand = Command
  End if
Loop

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib "Command" auf der seriellen Schnittstelle aus. Pur, ohne "Command 
And &B10111111"

Print Command wird wohl gehen, oder?
Dann siehst DU ds ToggleBit deiner Fernbedienung, den Gerätecode und 
auch die Taste, welche gedrückt wurde. (Hoffe ich zumindest, das die 14 
Bit hier alle drinn stehen) Ich kann, wie gesagt, kein Bascom.
In der IR Routine von Peter geht das nachvollziehbar.
Wenn Du die Fernbedienung drückst ändert sich das ToggleBit nur, wenn du 
die Taste auf der Ferbedienung erneut drückst. Hälts du den Knopf 
gerückt wird zwar das Command ständig wiederholt, aber das Togglebit 
ändert sich nicht. Erst bei erneutem Tastendruck wechselt es seinen 
Wert.(toggelt eben)

Wenn Du deinen Fernseher ausschaltest, dürftest Du ansonst nur gaaaanz 
kurz drücken, sonst ginge er ständig an und aus.
Bei Lautstärke, Helligkeit usw. wird dieses Bit nicht ausgewertet. Somit 
kann man mit gedrückter Taste lauter stellen, sender zappen usw...

Ich weiss aber ncht, an welcher der "Commandmaske" Bascom dieses 
Togglebit versteckt. Mit "Command And &B10111111" blendest Du ja das 6. 
Bit aus. evtl. ist es dieses ja, kA. wie Bascom funktioniert..

/XlR.

Autor: Tugrul Ö. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend die Herren und Damen.

Vorweg möchte ich mich herzlich für die ausführliche Hilfe bedanken.

Ich wollte noch hinzufügen, dass ich es mit meiner Universal FB 
geschafft habe. Ich habe mir gedacht, dass wenn man sie auf Phillips 
programmiert (diese Codes) dann müsste sie eventuell RC5 Code senden, 
was auch glücklicherweise der Fall war.

Das zweite ist, dass auf dieser Seite:
http://www.qsl.net/dg1xpz/elektronik/avr/rc5_empf.html

sehr ausführlich erklärt wird wie man das macht. Nur ist in dem Source 
Code soweit ich weiß ein Fehler enthalten. Laut der Tabelle der Geräte 
ID's, ist die ID eines TV-Geräts 0.

Im Source Code wird aber mit der If-Bedingung überprüft ob die Adresse 
den Wert 1 hat. Laut der Tabelle gibt es kein Gerät mit der ID 1.
Zweiter Fehler ist, das im Source Code einmal Addresse und Adress 
benutzt wurde. Einmal English und Deutsch.

Naja wie dem auch sei.. vielleicht schreib ich mal eine E Mail an die 
WebSite.

MfG,

Tugrul Ö.

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst dem Peter doch direkt 'ne Mail schreiben.
DG1XPZ [ätt] qsl punkt net.
Vorher aber noch mal genau nachsehen! Evtl. gibt es ja doch eine 
Geräteklasse 1 und evtl. sind die beiden Schlüsselwörter absichtlich so 
gewählt.
Ich habe mich auch schon mal blamiert :-)))

Jedenfalls freue ich mich, das nun alles klappt, wei Du es Dir 
vorstellst.

Gruß
XlR.[AxelR.]

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tugrul,

es sind viele Adressen für verschiedene Geräte
bei "RC5" reserviert. Leider weiß ich sie nicht
mehr auswendig, aber es gibt z.B. Codes für:

TV1, TV2,
VCR1, VCR2
SAT usw.

u. A. auch für exotisches wie "Bildplattenspieler"

Gruss Otto

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber hier steht es:

http://www.sprut.de/electronic/ir/rc5.htm

und "1" ist "TV2"

Otto

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich zitiere mich selbst mal eben:
> Mit "Command And &B10111111" blendest Du ja das 6.
> Bit aus. evtl. ist es dieses ja, kA. wie Bascom funktioniert..

in der rc5_empf.bas steht das doch genau so drinn:

>>Command = Command And &B10111111    'lösche Toggle-Bit

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.