- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 2 von 2

Thema: CMPS03 + PIC + PICBASIC/PROTON die Lösung!!!

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378

    CMPS03 + PIC + PICBASIC/PROTON die Lösung!!!

    Anzeige

    Powerstation Test
    Hi Leute,

    so nun hab ich meinen Überwachungsroboter "Alarmbot" fast fertig

    Ich habe zuerst die Kompassrichtung immer über den PWM ausgelesen
    aber das stellt sich als nicht so zuverlässig dar.
    GRUND: PWM Motorspitzen und die allgemeine Genauigkeit lässt durch alle
    möglichen Störeinflüsse die Genauigkeit sinken.

    Da wir ja schon an anderer Stelle hier im Forum mal über eine I²C Lösung mit PicBasic oder Proton+ geräzelt haben hier nun die Lösung wie es geht.

    PS: So ne 405 Seitige Englische Anleitung von Proton+ ist sehr Interessant, mir hats viel gebracht bis jetzt


    Code:
    			'****************************************************************
    			'*  Name    : I2C_Compass.BAS                                   *
    			'*  Author  : Sommer xxxx                                       *
    			'*  Notice  : Copyright (c) 2005							    *
    			'*          : All Rights Reserved                               *
    			'*  Date    : 09.05.2005                                        *
    			'*  Version : 1.0                                               *
    			'*  Notes   : CMPS03 I2C Test                                   *
    			'*          :                                                   *
    			'****************************************************************
    
    '===========================================================================================
    '---[ PIC CONFIG ]--------------------------------------------------------------------------
    '===========================================================================================
    
    		Device 16F877
    		XTAL = 4
    		
    		SCL_PIN	= PORTC.3				'Clock PIN
            SDA_PIN	= PORTC.4             	'Data pin
    		
    		
    '===========================================================================================
    '---[ Variablen ]---------------------------------------------------------------------------
    '===========================================================================================
    Dim ARRAY[10] AS BYTE
    	
    X			var Word					'Schleifenzähler
    CMPS1		var Word					'Kompasswert als Byte
    CMPS1_L		var Word					'Kompasswert als Word
    CMPS2		var Word
    CMPS2_L		var Word
    
    '===========================================================================================
     MAIN_THREAD: '-----------------------------------------------------------------------------
    '===========================================================================================
    		
    BSTART									'Busstart 
    BUSOUT $C0								'Ziel ist Adresse 0xC0
    BUSOUT 0 								'Erst high Byte
    BUSOUT 0								'dann low Byte
    BRESTART 								'Bus neustart 
    BUSOUT $C1								'mit read/write bit 0xC1
    
    CMPS1 = BUSIN 							'lese Register 1 // Wert 0 --> 255
    
    BUSACK									'erneutes ACK
    
    CMPS2 = BUSIN							'lese Register 2,3 // Wert 0 --> 3599
    
    BSTOP 									'Busstop
    		
    
    SEROUT PORTC.6,84, [dec4 CMPS1,"...",dec4 CMPS2,10,13]   'Ausgabe der Werte über RS232 (9600Baud)
    delayms 500												 '500ms Pause damit man auch was sieht :-) 
    goto MAIN_THREAD										 'Endlosschleife]
    Also viel Spaß beim testen und Basteln.

    Bye euer Ulli

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    06.08.2004
    Beiträge
    378
    PS: die nichtbenutzten Testvariablen kann man weglassen

Berechtigungen

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

Solar Speicher und Akkus Tests