Willkommen Gast. Bitte einloggen oder registrieren.
April 19, 2024, 07:37:04
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  Alles rund ums Modden
| |-+  User-Mods (Moderator: Saint)
| | |-+  HID-IR
  « vorheriges nächstes »
0 Mitglieder und 1 Gast betrachten dieses Thema.
Seiten: 1 [2] nach unten Drucken
Umfrage
Frage: Welche Bauform soll der EmpfÀnger haben?
USB-Stick   -10 (62.5%)
Abgesetzt mit Kabel   -6 (37.5%)
Stimmen insgesamt: 16

Autor Thema: HID-IR  (Gelesen 18828 mal)
The Slow
StichsÀgenquÀler

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 62


Wird Zeit, dass hier mal was anderes steht.


Profil anzeigen
Re: HID-IR
« Antwort #15 am: Oktober 9, 2008, 21:29:54 »

Da mein PC tief vergraben unter/hinter meinem Schreibtisch steht hab ich wenn der EmpfÀnger da steck keinen Empfang.

Ich hab nen USB-Hub auf dem Monitorfuß liegen, da steckt er drin und ist deshalb auch halbwegs gut sichtbar, was der Grund ist weshalb ich mir Gedanken um das Äußere gemacht habe.

Ansonsten ist der Empfang von den TSOPs ziemlich gut, selbst wenn man mit der Fernbedienung in die komplett andere Richtung zielt werden die meisten Signale noch sauber empfangen. Ich habe zwischenzeitlich mal einen anderen Sensor getestet weil der kleiner war (so eine Macke von mir, dass alles was ich bau immer so klein wie möglich werden muss Grin), da musste ich aber sehr genau zielen, damit ab und an ĂŒberhaupt mal was empfangen werden konnte.
Gespeichert

Routers use routing protocols to exchange routing tables and share routing information. In other words, routing protocols enable routers to route routed protocols.
Flo
Case-Konstrukteur

*

Karma: +3/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 505


23


Profil anzeigen WWW
Re: HID-IR
« Antwort #16 am: Oktober 10, 2008, 06:22:28 »

Wow, sehr schöne Sache! Ich liebe ja diese penibel geplanten Lochrasterplatinen... Echt gut geworden!  bestens

Habe gestern mal die ersten Erfahrungen gesammelt, was AVR-Programmierung angeht. (Hab einen ATTINY85 mit PonyProg geflasht Smiley )
Gespeichert

Falzo
Diktator vom Dienst
Administrator

*

Karma: +15/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 5088



Profil anzeigen WWW
Re: HID-IR
« Antwort #17 am: Oktober 13, 2008, 15:49:00 »

hammer! das gibt von mir einfach mal noch ein + obendrauf, so als Vorschuß fĂŒr den Rest und vielleicht wirklich als Anreiz der erste zu sein, der nach einer langen Flaute fĂŒr ein frisches Tutorial auf der Hauptseite sorgen möchte ;-)
Gespeichert

...bis einer heult!
find virtual reality related boards at https://vrforum.de
The Slow
StichsÀgenquÀler

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 62


Wird Zeit, dass hier mal was anderes steht.


Profil anzeigen
Re: HID-IR
« Antwort #18 am: Oktober 13, 2008, 16:57:00 »

So, das Wochenende ist vorbei, jetzt kann es hier weitergehen. Eins schonmal vorweg: alles was jetzt kommt wird verdammt trocken.

Damit der IR-Receiver weiss welche Taste er bei welchem IR-Signal senden soll mĂŒssen zwei Tabellen zu Rate gezogen werden:

Die erste ist eine Tabelle mit den RC5-Codes. Da ich nicht weiss wie lange der Link noch funktioniert hĂ€nge ich die Datei direkt hier mit dran (Der Link den ich vor ca. nem halben Jahr benutzt habe liefert nur noch einen Error 404). Auf den Seiten 1 bis 3 stehen in den linken beiden Spalten die Codes die gĂ€ngige Fernsehfernbedienungen senden. Diese Codes mĂŒssen mit den "Usage IDs" aus dieser Datei ab Seite 53 verbunden werden.

Dies geschieht in der Datei main.c in diesem AVR-Studio-Projekt.

Dort gibt es eine Passage die so aussieht:
Code:
#define MOD_CONTROL_LEFT    (1<<0)
#define MOD_SHIFT_LEFT      (1<<1)
#define MOD_ALT_LEFT        (1<<2)
#define MOD_GUI_LEFT        (1<<3)
#define MOD_CONTROL_RIGHT   (1<<4)
#define MOD_SHIFT_RIGHT     (1<<5)
#define MOD_ALT_RIGHT       (1<<6)
#define MOD_GUI_RIGHT       (1<<7)

#define KEY_A       4
#define KEY_B       5
#define KEY_C       6
...
#define KEY_RIGHT 79
#define KEY_LEFT 80
#define KEY_DOWN 81
#define KEY_UP 82

#define KEY_LESS 100


#define KEY_ENTER 88

In dieser Passage sind fĂŒr einfachere Nutzung den entsprechenden UsageIDs aus dem USB-Dokument verstĂ€ndliche Namen definiert.

In dem darauf folgenden Teil wird der Report "zusammengebaut" der an den PC-gesendet wird. In der Variable "key" steht immer der zuletzt empfangene Code. Die Auswertung dieses Codes geschieht in dem "switch-case"-Block.
Code:
static void buildReport(uchar key)
{
reportBuffer[1] = 0;
reportBuffer[2] = 0;
reportBufferSND[1] = 0;

switch(key)
{
// Zifferntasten
case 0: reportBuffer[2] = KEY_0; break;
case 1: reportBuffer[2] = KEY_1; break;
case 2: reportBuffer[2] = KEY_2; break;
case 3: reportBuffer[2] = KEY_3; break;
case 4: reportBuffer[2] = KEY_4; break;
case 5: reportBuffer[2] = KEY_5; break;
case 6: reportBuffer[2] = KEY_6; break;
case 7: reportBuffer[2] = KEY_7; break;
case 8: reportBuffer[2] = KEY_8; break;
case 9: reportBuffer[2] = KEY_9; break;

// Programm starten
case 12: reportBuffer[1] = MOD_CONTROL_LEFT|MOD_ALT_LEFT; reportBuffer[2] = KEY_T; break;

// LautstÀrke
case 13: reportBufferSND[1] = (1<<2); break;
case 16: reportBufferSND[1] = (1<<0); break;
case 17: reportBufferSND[1] = (1<<1); break;

}
}

In dem vorangegangenen Block sind drei unterschiedliche Arten von TastendrĂŒcken zu sehen:

die einfachsten sind die Zifferntasten, die entsprechende zuweisung sieht wiefolgt aus:
Code:
case 1:reportbuffer[2]=KEY_1; break;
wenn (case) code 1 empfangen wird, wird der Scancode fĂŒr Taste 1 (KEY_1) in den Puffer auf stelle 2 geschrieben. Dies löst einen "Tastendruck" auf die 1 aus.

Warum wird auf die 2. Stelle im Puffer geschrieben?
Das liegt daran, dass an der ersten Stelle eventuelle "Modifikatoren" stehen, das sind Tasten wie Steuerung (CTRL) oder Alt. Im folgenden Beispiel wird auf Code 12 (standby) mit einem Druck auf STRG+ALT+T geantwortet, ich starte so die Software meiner TV-Karte.
Code:
case 12: reportBuffer[1] = MOD_CONTROL_LEFT|MOD_ALT_LEFT; reportBuffer[2] = KEY_T; break;
Das "|" Zeichen (das ist kein grosses i) bewirkt, dass beide Modifikatoren gleichzeitig gedrĂŒckt werden. Danach wird die Taste wie zuvor zugewiesen.

Die dritte Art von Reaktion auf einen Code dient dazu in Windows die SystemlautstÀrke zu stellen. Dies geschieht mit einem anderen Report-Puffer: reportBufferSND[1].
Code:
case 13: reportBufferSND[1] = (1<<2); break;
setzt beispielsweise Bit 2 in dem jeweilgen Byte, was dazu fĂŒhrt, das die LautstĂ€rke auf Null gesetzt wird (ich hoffe das war verstĂ€ndlich Huh).

An dieser Stelle sollte fĂŒr den einen oder anderen der Nachbau möglich sein, alle anderen muss ich noch ein wenig vertrösten bis irgendwann das Tutorial fertig ist.


edit: achja ganz vergessen, danke Falzo!

* rc5_codes.pdf (41.8 KB - runtergeladen 4 Mal.)
« Letzte Änderung: Oktober 14, 2008, 14:23:35 von The Slow » Gespeichert

Routers use routing protocols to exchange routing tables and share routing information. In other words, routing protocols enable routers to route routed protocols.
Ast
Case-Konstrukteur

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 589


Astpirin, die Medizin deines Lebens


Profil anzeigen WWW
Re: HID-IR
« Antwort #19 am: Oktober 13, 2008, 17:48:41 »

Hey, das wird doch mal ein super Tutorial.

Auf das Anpassen der Firmware mĂŒsste man aber wahrscheinlich noch etwas genauer eingehen.

Ich fĂŒrchte fĂŒr jemanden, der wenig bis keine Erfahrung im Umgang mit AVRs hat, ist das schon etwas zu kompliziert.

Da könnte man ja vielleicht sogar eine kleine Webanwendung oder ein kleines Programm schreiben, das die Anpassung des Quellcodes ĂŒbernimmt.

Auf jeden Fall sollte man sich da noch was ĂŒberlegen.
« Letzte Änderung: Oktober 13, 2008, 17:50:36 von Ast » Gespeichert

There are only 10 types of people in the world:
Those who understand binary, and those who don't.
--------
How many people can read hex if only you and dead people can read hex?
The Slow
StichsÀgenquÀler

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 62


Wird Zeit, dass hier mal was anderes steht.


Profil anzeigen
Re: HID-IR
« Antwort #20 am: Oktober 13, 2008, 18:09:27 »

Dass das mit der Anpassung der Firmware so noch nicht ausreicht kann ich nachvollziehen. Da ich aber eh schon am planen fĂŒr das Tutorial bin wollte ich hier nicht zu tief einsteigen.

Ich hoffe das Ganze irgendwie automatisieren zu können. Auf jeden Fall werde ich wohl Ă€hnlich wie du das Flashen per Batch-Datei erledigen, dabei kann dann ja in einem Rutsch das Kompilieren gleich mit erledigt werden. Fehlt nur noch die Anpassung der Firmware. Die lĂ€sst sich aber wohl wirklich in ein kleines Tool packen, mal sehen. Vielleicht gelingt es mir ja auch noch irgendwie ne Lernfunktion einzubauen, dann mĂŒssen Änderungen gar nicht mehr in die Firmware eingetragen werden. Eventuell gibts auch die Möglichkeit mittels eines einfachen Programmes die Konfiguration ĂŒber das USB-Interface ins EEPROM des AVR zu schreiben. Momentan hab ich ne ganze Menge Ideen, aber noch keine Ahnung ob ich sie umsetzen kann.

Jetzt gehts aber erstmal ans Redesign der Hardware.

edit: Da ich grad dabei bin mir ĂŒber das neue Layout gedanken zu machen hab ich mal ne Frage: was wĂ€re euch lieber, die Variante als USB-Stick wie hier vorgestellt oder eine Variante mit GehĂ€use, die man irgendwo hinlegen kann mit Standard USB-B bzw. mini-USB Buchse und entweder eingelassenem oder abgesetzten EmpfĂ€nger an einem Kabel der Überall hin verlegt werden kann???
« Letzte Änderung: Oktober 14, 2008, 18:47:41 von The Slow » Gespeichert

Routers use routing protocols to exchange routing tables and share routing information. In other words, routing protocols enable routers to route routed protocols.
The Slow
StichsÀgenquÀler

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 62


Wird Zeit, dass hier mal was anderes steht.


Profil anzeigen
Re: HID-IR
« Antwort #21 am: Oktober 19, 2008, 12:46:15 »

Ich weiss, Doppelposts sind nicht unbedingt gern gesehen, aber ich denke das hier passt Thematisch eher in einen neuen Beitrag. Wie bereits vor ein paar Tagen versprrochen liefere ich hier die fehlenden Bilder der Resetbeschaltung und der Abblockkondensatoren nach.

Die roten Kreise sind dabei jeweils 100nF Kondensatoren, der blaue ist ein 10kOhm Widerstand.

Der ganz linke Kondensator zwischen Masse (der Lange Leiterzug) und 3,3V (Pin 8 des Controllers) ist der Abblockkondensator C2 fĂŒr den ”C, der Kondensator ganz rechts ist der Abblockkondensator C3 fĂŒr den IR-EmpfĂ€nger.

Der Widerstand R5 zwischen Pin 1 und Pin 8 des Controllers bildet zusammen mit dem Kondensator C4 zwischen Masse und Pin 1 die besagte Resetbeschaltung.

Mit diesen Bauteilen ist die Schaltung dann wirklich komplett.

Achja, die Frage welche Variante ich fĂŒr das Tutorial verwenden soll steht immer noch im Raum. Wenn man meine eigene Stimme abzieht stehet es bis jetzt ja erst 2:1 fĂŒr den USB-Stick, das ist noch nicht sehr aussagekrĂ€ftig.

Nochwas, sollte die Variante mit GehĂ€use "gewinnen" hab ich an dieses GehĂ€use gedacht. 


* 100_2501.JPG (18.9 KB - runtergeladen 175 Mal.)
* 100_2503.JPG (41.64 KB - runtergeladen 178 Mal.)
Gespeichert

Routers use routing protocols to exchange routing tables and share routing information. In other words, routing protocols enable routers to route routed protocols.
StarGoose
Modding Urgestein

*

Karma: +5/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 2014


selber suchen tut nicht weh!


Profil anzeigen
Re: HID-IR
« Antwort #22 am: Oktober 19, 2008, 13:12:39 »

erstmal wie schon andere vor mir:  respekt

und dann (wie auch in den PM erwÀhnt Wink )

halte ich die Kleinigkeit ob direkt mit Usb-A Stecker oder mit lĂ€ngerem Kabel und Stecker oder gar mit Usb-B oder Mini-Usb Buchse auf der Platine eher fĂŒr nebensĂ€chlich... die Belegung am Usb Anschluß bleibt ja gleich und mit einer VernĂŒnftigen kurzen Beschreibung bekommt diese kleine Änderung dann doch jeder selber hin.

Eventuell könnte man beim Platinenlayout nur die unterschiedlichen Varianten direkt berĂŒcksichtigen um z.b. fĂŒr die doch Raumgreifenden Usb-B Buchse z.b. Platz zu lassen wĂ€hrend mini Usb, Usb-A Stecker und natĂŒrlich der Kabelabschluß einfach durch VerlĂ€ngern der Leiterbahnen eingepasst werden. (bzw. beim Kabel an dieser Stelle zeine Zugentlastung vorgesehen werden kann)

Ich pers. plĂ€diere immernoch eher dafĂŒr das Tut in einer Variante ohne Smd Bauelemente und mit ISP zu erstellen. (um es Benutzer- und Einsteigerfreundlicher zu machen)

Das Layout direkt auf ein kÀuflich erhÀltliches KleingehÀuse anzupassen ist sicherlich eine gute Idee.
« Letzte Änderung: Oktober 19, 2008, 13:20:18 von StarGoose » Gespeichert

Bitte beachten, neue Forenregel bezĂŒglich Sponsorenwerbung:
http://www.modding-faq.de/Foru...62083#msg162083
Flo
Case-Konstrukteur

*

Karma: +3/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 505


23


Profil anzeigen WWW
Re: HID-IR
« Antwort #23 am: Oktober 20, 2008, 04:31:30 »

Ja, ISP und Nicht-SMD wĂŒrde ich sehr begrĂŒĂŸen! bestens

Obwohl man an den Fotos ja sehen kann, dass SMD eine gute Möglichkeit ist seine Löterfahrung zu zeigen Grin
Gespeichert

The Slow
StichsÀgenquÀler

*

Karma: +2/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 62


Wird Zeit, dass hier mal was anderes steht.


Profil anzeigen
Re: HID-IR
« Antwort #24 am: Oktober 20, 2008, 15:28:42 »

Zitat
Obwohl man an den Fotos ja sehen kann, dass SMD eine gute Möglichkeit ist seine Löterfahrung zu zeigen


Ich hab da schon ganz andere Sachen verbrochen! Grin (zweites Bild)

Aber zurĂŒck zum Thema: wie bereits erwĂ€hnt habe ich mir Gedanken ĂŒber ein neues Layout gemacht, herausgekommen ist folgendes:
Es gibt keine SMD-Bauteile mehr denn bis auf den nicht unbedingt benötigte Kondensator der Resetbeschaltung wurden alle Teile durch bedrahtete ersetzt, der besagte Kondensator fliegt komplett raus. Ausserdem habe ich Sockelleisten rund um den IC platziert, auf diese kann ein einfacher Adapter gesteckt werden, auf dem sich dann die Standard-ISP-Buchse befindet, ich denke das ist ein guter Kompromiss zwischen GrĂ¶ĂŸe und Handling. Der zweipolige Jumper wurde durch einen dreipoligen ersetzt ,ursprĂŒnglich hatte ich die Idee darĂŒber eine angepasste Version dieses Bootloaders zu nutzen, dieser wird zwar durch die Sockelleisten nicht mehr benötigt, aber man weiss ja nie was einem sonst noch fĂŒr ein Nutzen einfĂ€llt, kleiner wird die Platine ohne jedenfalls nicht.

Ich denke ich werde die Umfrage noch bis Ende der Woche laufen lassen. Bis dahin sollte ich auch das zweite Layout fĂŒr die Kabelversion vorzeigbar haben, damit man sich ne Vorstellung davon machen kann.

edit: hab grade festgestellt, dass die Platine fĂŒr die Stick-Variante fast perfekt in das GehĂ€use passt, das ich mir ausgesucht hatte. Ich brauche also keine zwei Layouts machen. FĂŒr die Kabel-Variante einfach ne USB-B Buchse und evtl. einen 3 poligen Stecker falls der Sensor abgesetzt werden soll. Damit ist dann auch die Umfrage hinfĂ€llig und ich mache da mal zu.

Kleines Update zum Fortschritt: Sonntag wird bei Reichel bestellt, dann kann ich die Schaltung mal zusammenbauen, und dann gehts hier weiter.


* Stick.JPG (82.13 KB - runtergeladen 146 Mal.)
* QFN-Gehaeuse.jpg (41.95 KB - runtergeladen 147 Mal.)
« Letzte Änderung: Oktober 24, 2008, 16:02:27 von The Slow » Gespeichert

Routers use routing protocols to exchange routing tables and share routing information. In other words, routing protocols enable routers to route routed protocols.
rec00n Art
LED-Tauscher

*

Karma: +0/-0
Offline Offline
Beiträge: 47


Ich liebe dieses Forum!


Profil anzeigen
Re: HID-IR
« Antwort #25 am: November 19, 2008, 11:40:17 »

geil, mehr kann man dazu ned sagen...


sowas is echt ne spitzen idee^^
bin mal sehr gespannt auf die fertige firmware und ggf. pc software  Cool

aber echt respekt fĂŒrs avr proggren^^
Gespeichert
Seiten: 1 [2] nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.073 Sekunden mit 21 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!