- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 33

Thema: Lichtsensormodifikation

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #28
    Benutzer Stammmitglied
    Registriert seit
    26.09.2008
    Ort
    Wien
    Alter
    38
    Beiträge
    94
    So, wieder ist ein bisschen Zeit vergangen und ich habe die Schaltung nun mittlerweile endlich fertig aufgebaut.
    Zum Testen kam ich allerdings noch nicht, da mir gestern die Sicherung gegangen ist, als ich ein Kabel der Schaltung um einen Kondensator gelegt habe. Seltsam war jedoch, dass der RP6 zu diesem Zeitpunkt ausgeschalten war, und das Kabel schon lang dort liegt. Erst als ich die Kabel nochmal "verfolgt" habe ist das passiert.
    Da ich beim Aufbau äußerst gewissenhaft vorgegangen bin, denke ich nicht das es sich um einen Kurzschluss handelt. (Den Übeltäter sieht man unten dann noch besser (im 2. Bild))

    Jedenfalls will ich euch die Schaltung nicht vorenthalten, deshalb hier ein paar Bilder:

    Anbei noch eine Frage:
    Die Funktionen für ADC0 und ADC1 sind, soweit ich das aus der RP6Lib gelesen habe ja schon integriert. Ich brauche nur noch mit task_ADC(); die Variablen adc0 und adc1 abfragen, richtig?

    Und die Funktion der Taster wollte ich in die RP6 Lib so integrieren, hoffe ihr könnt mir sagen ob das so passt, oder ob etwas fehlt.

    Zur Information: In Rückwärtsfahrtrichtung hängt der hintere rechte Bumper auf IO4. Der linke Bumper auf IO2

    Code:
    uint8_t getBackBumperLeft(void)
    {
    	PORTC &= ~SL2;
    	DDRC &= ~SL2; 
    	nop();
    	uint8_t tmp = PINC & SL2;
    	if(statusLEDs.LED2) { 
    		DDRC |= SL2; 
    		PORTC |= SL2; 
    	}
    	return tmp;
    }
    
    uint8_t getBackBumperRight(void)
    {
    	PORTB &= ~SL5;
    	DDRB &= ~SL5; 
    	nop();
    	uint8_t tmp = PINB & SL5;
    	if(statusLEDs.LED5) { 
    		DDRB |= SL5; 
    		PORTB |= SL5; 
    	}
    	return tmp;
    }
    und die task_Bumpers() wird so erweitert:

    Code:
    volatile uint8_t bumper_timer;
    uint8_t bumper_left;
    uint8_t bumper_right;
    uint8_t bumper_back_left;
    uint8_t bumper_back_right;
    
    void task_Bumpers(void)
    {
    	if(bumper_timer > 50) { // 50ms
    		uint8_t left = getBumperLeft();
    		uint8_t right = getBumperRight();
    		uint8_t backleft = getBackBumperLeft();    //NEW
    		uint8_t backright = getBackBumperRight();  //NEW
    		if(bumper_left != left || bumper_right != right || bumper_back_left != backleft ||bumper_back_right != backright) {
    			bumper_left = left;
    			bumper_right = right;
    			bumper_back_left = backleft;
    			bumper_back_right = backright;
    			BUMPERS_stateChangedHandler();
    		}
    		bumper_timer = 0;
    	}
    }
    PS: Auf dem Foto erkennt man das schuldige Sicherungstöterkabel recht gut: Ganz links das VDD Kabel welches um den Kondensator gewickelt ist.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken cimg0469__medium_.jpg   unbenannt_152.jpg  
    while (!asleep()) sheep++;
    RP6 und Asuro Befehlsübersicht

Berechtigungen

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

12V Akku bauen