-
        

Ergebnis 1 bis 8 von 8

Thema: Click Wheel (von Ipod Nano 3rd Gen) am AVR

  1. #1
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    22
    Beiträge
    91

    Click Wheel (von Ipod Nano 3rd Gen) am AVR

    Anzeige

    Hallo zusammen,

    hier beschreibe ich wie versprochen (hat etwas länger gedauert aber hab jetzt endlich Ferien *freu*) wie ich das Click Wheel an den AVR angeschlossen habe. Als erstes hier zwei Bilder:
    Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_0617.jpg
Hits:	123
Größe:	45,6 KB
ID:	19443 Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_0618.jpg
Hits:	107
Größe:	51,7 KB
ID:	19444

    Wie auf dem ersten Bild schon zu sehen ist, ist der Connector leider in SMD, ich habe einfach an jede Kupferbahn ein Stückchen Kufperdraht angelötet (eine Faser aus einer Kupferlitze), das hat mit meinem Lötkolben mässig gut geklappt, aber nach zwei Versuchen hat es dann alles Funtkionert. Ich habe immer ein Stückkupferdraht nach vorne und eins nach hinten angelötet und dann zum schluss in eine Richtung gebogen. Eleganter wäre es wahrscheinliche einen SMD connector zu verwenden .
    Das Wheel funktioniert mit 3,3 Volt und die Pinbelgung ist wie folgt:
    Code:
    1 - VCC
    2 - Clock vom Click Wheel
    3 - muss mit VCC verbunden sein
    4 - nicht angeschlossen
    5 - nicht angeschlossen
    6 - muss mit VCC verbunden sein
    7 - Daten vom Click Wheel
    8 - GND
    Der erste Pin ist im Bild rot markiert und die Leiterbahn ist etwas dicker als alle anderen.

    So weit zur Hardware, als nächstes habe ich mir einen kleinen Logic Analyser gebaut um mir das Protokoll an zu gucken. Hier noch einmal ein Bild von dem Signal:
    Klicke auf die Grafik für eine größere Ansicht

Name:	ClickWheel.jpg
Hits:	65
Größe:	25,3 KB
ID:	19445 Im Anhang ist auch noch mal ein Zip-File mit dem C-Prog und der Excel Tabelle. Die Daten habe ich von dem AVR mit HTerm empfangen und dann als Output gespeichert.

    Kommen wir nun zum eigentlichen Programm, dass das Signal auswertet. Wie hier http://www.roboternetz.de/community/...-Musik-ausgabe schon geschrieben, sendet das Click Wheel immer 4 Byte an den µc, davon sind erstes und letztes immer gleich. Im zweiten steht die Position des Fingers und im dritten ob ein Button gedrückt oder losgelassen wurde.
    Das auswerten ist eigentlich recht einfach, da man immer bei der steigenden Flanke auf der Clock Leitung die Daten Leitung einlesen kann. Man muss also lediglich einen Externen Interrupt auf steigende Flanke stellen und dann in der Interrupt Routine die Daten einlesen. Im Code sieht das in etwa so aus:
    Code:
    #include <avr/io.h>
    #include <avr/interrupt.h>
    
    #define F_CPU 16000000
    
    #include <util/delay.h>
    #include "USART_Util.h"
    
    volatile unsigned long data;
    volatile int counter = 0;
    
    int main (void){
    
        USART_Init(USART_BAUD_SELECT);
    
        USART_String("Hello World");    
        
        MCUCR |= (1<<ISC01) | (1<<ISC00); // steigende Flanke
        GICR |= (1<<INT0); // Ext. Interrupt aktivieren
        DDRD = 0x00; // PORTD auf Eingang
        PORTD |= 0xFF; // Pullups aktivieren
        sei(); // Globale Interrupts aktivieren
    
        while(1){
        }
    
        return 0;
    }
    
    ISR( INT0_vect ) {        
            if(PIND & 0b00001000){ 
                data |= 0x80000000; // eine Eins Speichern
            }
            data >>= 1; // weiter schieben
            counter++; // Counter addieren
            
            if(counter == 32){
                USART_Transmit((data&0xFF000000)>>24);
                USART_Transmit((data&0x00FF0000)>>16);
                USART_Transmit((data&0x0000FF00)>>8);
                USART_Transmit(data&0x000000FF);
        
                USART_Transmit('\r');
                USART_Transmit('\n');
                
                counter=0;
                data = 0;
            }
    }
    Konnte den Code jetzt Leider nicht mehr Testen und weiß nicht genau ob zu 100% klappt, weil ich den Code anfangs für den R8C/13 geschrieben hab. Wenn es Verbesserungen gibt, immer her damit .
    (http://shop.ebay.de/i.html?_from=R40...All-Categories) <- Da hab ich meins auch her.

    KR-500
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Tolles Projekt! Dann werd ich wohl mal mit meinen Prinzipien brechen und mir doch ein Apple-Produkt kaufen

  3. #3
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    22
    Beiträge
    91
    Hallo,

    Dann werd ich wohl mal mit meinen Prinzipien brechen und mir doch ein Apple-Produkt kaufen
    Ging mir ähnlich aber da hat Apple mal was wirklich, wirklich gutes gemacht und mit 9 Euro sehr erschwinglich. Das Teil ist genial, es funktioniert sogar noch durch 1mm Sperrholz, damit kann man tolle Sachen bauen. Außerdem gibt es sogar die aktuelle Position zurück und nicht nur den zurückgelegten Weg.

    Falls noch jemand Fragen zu dem Teil hat kann ich gerne versuchen sie zu beantworten.

    Viele Grüße
    KR-500

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Coole Sache
    Ich schau mal ob ich auch eins bekomme
    Das hört sich klasse an!

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Zitat Zitat von KR-500 Beitrag anzeigen
    Ging mir ähnlich aber da hat Apple mal was wirklich, wirklich gutes gemacht und mit 9 Euro sehr erschwinglich.
    Ausnahmnsweise ja. XD

    Mal schauen, wo's sich (sinnvoll) einsetzen lässt.

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Weißt du ob die Clickwheels der neueren iPods kompatibel zu deinem sind? Ich meinte von der Pinbelegung her.

  7. #7
    Benutzer Stammmitglied Avatar von KR-500
    Registriert seit
    26.12.2007
    Alter
    22
    Beiträge
    91
    Hallo zusammen,

    Mal schauen, wo's sich (sinnvoll) einsetzen lässt.
    Hehe, konntest du das Click Wheel schon anschließen? Dann stell doch mal Bilder rein, wie du das mit dem SMD-Connector gelöst hast.

    Weißt du ob die Clickwheels der neueren iPods kompatibel zu deinem sind? Ich meinte von der Pinbelegung her.
    Also das Click Wheel der vierten Generation dürfte noch passen aber ich glaub danach die Click Wheels haben alle 14pins oder so, statt 8 deswegen glaub ich passt die Pinbelegung dort nicht ganz.

    KR-500

  8. #8
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Und die Amerikaner machen gleich wieder ein Arduino-Projekt daraus
    MfG Torrentula

Ähnliche Themen

  1. Mono Wheel Bot
    Von Murdoc_mm im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 617
    Letzter Beitrag: 05.06.2009, 07:52
  2. Ipod nano -Kensington transmitter verstärken
    Von schlebbersch im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 3
    Letzter Beitrag: 29.01.2007, 10:50
  3. Set up wheel(s) von conrad...
    Von tobimc im Forum Mechanik
    Antworten: 2
    Letzter Beitrag: 29.10.2005, 11:00
  4. Big Wheel - a two wheel (hybride) robot
    Von Drag0n im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 14
    Letzter Beitrag: 11.09.2005, 14:50

Berechtigungen

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