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.
Lesezeichen