Hi
Ich habe ihn ins gefrierschrank gehalten 4 Sterne bis zu -18 C und es passiert überhaupt nichts habe es mit einem Teelämpchen versucht das funktioniert auch nicht leider.
Quelltext habe ich locker 15 mal nach geschaut aber finden tu ich da auch nichts leider
Code:
#include "asuro.h"
#define THRESH1 20
#define THRESH2 80
#define THRESH3 200
void ThermalData(unsigned int *data) {
ADMUX = (1 << REFS0) | (1 << REFS1) | IR_LEFT;
ADCSRA |= (1 << ADSC);
while (!(ADCSRA & (1 << ADIF)));
ADCSRA |= (1 << ADIF);
data[0] = ADCL + (ADCH << 8);
ADMUX = (1 << REFS0) | (1 << REFS1) | IR_RIGHT;
ADCSRA |= (1 << ADSC);
while (!(ADCSRA & (1 << ADIF)));
ADCSRA |= (1 << ADIF);
data[1] = ADCL + (ADCH << 8);
}
int main(void) {
unsigned int tdata[2];
unsigned int speed;
signed int diff,sum;
Init();
MotorDir(FWD,FWD);
while(1);
{
ThermalData(tdata);
sum=tdata[0]+tdata[1];
if (sum>THRESH1) {
StatusLED(GREEN);
speed=140;
if (sum>THRESH2) {
StatusLED(YELLOW);
speed=200;
}
if (sum>THRESH3) {
StatusLED(RED);
speed=255;
}
diff=((signed)tdata[0]-(signed)tdata[1])*32/sum;
if (diff>4) {
BackLED(ON,OFF);
MotorSpeed(0,speed);
}
else if (diff<-4) {
BackLED(OFF,ON);
MotorSpeed(speed,0);
}
else {
BackLED(OFF,OFF);
MotorSpeed(speed,speed);
}
}
else {
StatusLED(OFF);
BackLED(OFF,OFF);
MotorSpeed(0,0);
}
}
return 0;
}
Ich flashe die richtige datei und es ist diesmal auch wirklich die richtige datei wo ich es geschrieben habe (nicht wie beim LCD^^).
Die Platiene ist narren sicher Die aufdrücke müssen aber oben sein weil sonst die Sensoren nach unten schauen Die Leiterbahnen sind aber unten.
Ich wünschte es würde noch einer Die Erweiterung fertig haben und schreiben obs bei ihm funktioniert.
Lesezeichen