- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 22

Thema: ball mouse modified for distance input

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Unglaublich was der Kleine aus mir raussaugt, mein Adapter ist fertig. Und er funktioniert auch fast perfekt:

    Bild hier   Bild hier   Bild hier   Bild hier  

    Stückliste:

    1 asuro
    1 asuro/yeti RS232-Transceiver
    1 serielle Maus (mit 1200,7,2,none)
    2 9-polige Sub-D Stecker (Vater)
    1 9V-Akkublock
    1 Anschlussclip für den 9V-Block
    etwas Schaltdraht
    Lötkolben und etwas zum Kabelabzwicken

    Oki, alles nicht wild, die große Frage war: "Wie versorge ich das ganze mit Spannung". Der Adapter sollte völlig unabhänging vom asuro sein, aber dennoch so leicht, dass man ihn auf den asuro binden kann. Die Lösung:

    Der Tripol-9V-Block

    Bild hier   Bild hier   Bild hier  
    Nachdem ich etwas im Netz gestöbert hatte, fand ich einen (eigentlich nicht ernst gemeinten) Tip: "Mach doch eine Mittelanzapfung dran". Mmmmh, wie sieht den ein 9V-Block von innen aus? Ich habe dann vorsichtig einen aufgehebelt und siehe da, 7 kleine Akkus sind da drin. Prima. Ich habe oben ein kleines Loch gebohrt und den Akku mit einem zusätzlichen Draht zwischen der vierten und fünften Zelle abgezapft. Aufbau:

    +(Plus) | 4 Zellen(4,8V) | Anzapfung | 3 Zellen(3,6V) | -(Minus)

    und das ergibt eine +4,8V/-3,6V Versorgungsspannung. Sieht wenig aus, aber mein Notebook (IBM) liefert auch nur 5.irgendwas Volt an der RS232-Schnittstelle)

    Der Anschluß des Maussteckers:

    Pin2: Leitung zum Pin3 des Tranceiver-Steckers
    Pin3: -3.6V (Minus des Tripol-Blocks)
    Pin4: +4.8V (Plus des Tripol-Block) verbunden mit Pin7 des Maussteckers
    Pin5: 0V (Anzapfung des Tripol-Blocks) verbunden mit Masse
    Pin7: +4.8V (Plus des Tripol-Block) verbunden mit Pin4 des Maussteckers
    Steckergehäuse: 0V (Anzapfung des Tripol-Blocks) verbunden mit Pin5 des Maussteckers

    Der Anschluß des Transceiver-Steckers:

    Pin3: Leitung zu Pin 2 des Maussteckers
    Pin4: +4.8V (Plus des Tripol-Block)
    Pin5: 0V (Anzapfung des Tripol-Blocks)

    Das war's auch schon, Besitzer eines USB-Transceivers (oder eines zweiten RS232-Transceivers) können das ganze jetzt schon mal testen. Wenn alles funktioniert, sollte im Terminal-Programm etwa das erscheinen, :

    Code:
    PtP@PtP@P@ttPtt@PhPtPtttP@P`P@P@tPtppppppppqpqabcdvwvw
    cdcBcbcbcbÀbcbbcbÀbbbcbcbcbÀbÀbÀPQPQQPQPQOPOPOPOP ! ! ! ! ! !vwbcvwcdvwcdvwbdvwc
    dvwcdvwcdvwcdvwcdvwcdvwcdvwcdPQ@APQ@APQ@APQ@APQbcvwbdvwcdxycdvwbcbcwdxy`rvsc`v
    c`vsbvsc`rvssvsvsvsvsvs`s`srvs`vscrsrvsc`sc`vsc`vvsvsvssavsc`c`vscrvvv
    vsdjajajaajaej}ajaea}}aj}jaaje}ja}j}j~jqj@jaj~jaj~h``h`tp`~fcf~fstg```P@P@`@`@`@
    `@`@`@`@`@`@P@P@P@P@@C?@S>|@_@@@@@L?C?C?O>?O77O;;L?O76O6.O7-O<.O>3O?6O=:O?>C?L?@
    @L?L?C?C:C4C3C;C=C:C4C6C>L?C6C4C<L;@@@@C?C)CC2C-C2C/C8O?;L/L+L-L*L.L4L8L;L?C?C=C
    =C=C9C4C3C6O;?O49O04O31O91O;5O?7L5L5L:L:O><O??C?C:C-C6C<C?L?L?L7L3L8L;L;L<L;L6L7
    L;L>C?C?@C?C?@@L=L>L?L?C?O5=C1C2C1C)C9C<C?L?L?O?<L:L6L2L2L6L8L8L?@@C?C:C:C:C6C4O
    8?C7O:>O;<O;:O><@@L?L5L8O;6O>:O>8L9L8L;L?L?C?C9C3C8C:C6C6C:@@@@O?>@L?L?@<L8L:L=L
    =L<L>L?L;L8L6L4L6L4@C?C;C3C+C-C3C3C,C+C6C;O<?O:=O87O:5O>6L7L4L
    (Nicht vergessen, die Maus sendet mit 1200,7,2,none! Das selbe sieht man auch, wenn man die Maus direkt am Terminal einsteckt.)

    Mein Testaufbau:

    Bild hier   Bild hier   Bild hier   Bild hier  

    Und noch ein kleines Filmchen:
    Bild hier  

    Leider wieder unscharf und die Farbe ( Bit 0 des Zeichens) der StatusLED nicht erkennbar. Was man aber sieht ist die IR-Diode des asuros die das empfangene Zeichen+1 zurücksendet.

    Leider hat das ganze noch einen Schönheitsfehler: Die vom asuro empfangenen Zeichen sind irgendwie Schrott. Ich weis noch nicht, ob das an meiner Empfangsroutine liegt, oder am Aufbau des Datenbytes oder sonstwas. Vielleicht weis ja einer von euch warum das noch nicht klappt.

    Der Code meines kleinen Testprogramms:
    Code:
    #include "../inc/asuro.h"
    
    #define FOSC 8000000// Clock Speed
    #define BAUD 1200
    #define MYUBRR FOSC/16/BAUD-1
    
    void USART_Init( unsigned int ubrr)
    {
    /* Set baud rate */
    UBRRH = (unsigned char)(ubrr>>8);
    UBRRL = (unsigned char)ubrr;
    /* Enable receiver and transmitter */
    UCSRB = (1<<RXEN)|(1<<TXEN);
    /* Set frame format: 8data, 2stop bit */
    /*UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);*/
    UCSRC = 0x8A; //10001010 = 7bit, 2stop, kein parity
    }
    
    int main( void )
    {
    char data;
    
    Init();
    USART_Init ( MYUBRR );
    
    while (0) {
    	SerWrite("abcABC",6);
    	Msleep(500);
    }
    // aus SerRead() kopiert
    //data=' ';
    //UCSRB = 0x10; // enable receiver
    while(0) {
    	if (UCSRA & 0x80) data = UDR;
    	if (data == 'P') BackLED(OFF,ON);
    	if (data == '@') BackLED(ON,OFF);
    	data = ' ';
    }
    StatusLED(RED);
    data=' ';
    while(1) {
    SerRead(&data,1,0);
    	if (data == 'P') BackLED(OFF,ON);
    	if (data == '@') BackLED(ON,OFF);
    	if (data & 1) StatusLED(YELLOW); else StatusLED(RED);
    data++;
    SerWrite(&data,1);
    }
    return 0;
    }
    und für den schnellen Test noch das .hex im Anhang.

    that's all

    Gruß

    mic
    Angehängte Dateien Angehängte Dateien
    Geändert von radbruch (11.12.2011 um 18:34 Uhr)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Berechtigungen

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

Solar Speicher und Akkus Tests