I hope you see it. I surely don't.
#define PAH PB7 //phase A high side
#define PAL PB14 //phase A low side
#define PBH PB6 //phase B high side
#define PBL PB13 //phase B low side
#define PCH PB5 //phase C high side
#define PCL PB12 //phase C low side
#define PAF PA0 //phase A feedback
#define PBF PA1 //phase B feedback
#define PCF PA2 //phase C feedback
int fbbuf;
void scan(){
//AB
digitalWrite(PAL, LOW);
digitalWrite(PBH, HIGH);
digitalWrite(PBL, HIGH);
digitalWrite(PCH, HIGH);
digitalWrite(PCL, LOW);
digitalWrite(PAH, LOW); //put last to reduce adc delay
fbbuf = analogRead(PCF); //read C
digitalWrite(PAH, HIGH); //switch off
Serial.print(fbbuf);
Serial.print(' ');
//AC
digitalWrite(PAL, LOW);
digitalWrite(PBH, HIGH);
digitalWrite(PBL, LOW);
digitalWrite(PCH, HIGH);
digitalWrite(PCL, HIGH);
digitalWrite(PAH, LOW); //put last to reduce adc delay
fbbuf = analogRead(PBF); //read B
digitalWrite(PAH, HIGH); //switch off
Serial.print(fbbuf+3000);
Serial.print(' ');
//BC
digitalWrite(PAH, HIGH);
digitalWrite(PAL, LOW);
digitalWrite(PBH, LOW);
digitalWrite(PBL, LOW);
digitalWrite(PCH, HIGH);
digitalWrite(PCL, HIGH);
fbbuf = analogRead(PAF); //read A
digitalWrite(PBH, HIGH); //switch off
Serial.print(fbbuf+6000);
Serial.print(' ');
//BA
digitalWrite(PAH, HIGH);
delay(1); //measuremenet was noisy
digitalWrite(PAL, HIGH);
digitalWrite(PBH, LOW);
digitalWrite(PBL, LOW);
digitalWrite(PCH, HIGH);
digitalWrite(PCL, LOW);
fbbuf = analogRead(PCF); //read C
digitalWrite(PBH, HIGH); //switch off
Serial.print(fbbuf+9000);
Serial.print(' ');
//CA
digitalWrite(PAH, HIGH);
digitalWrite(PAL, HIGH);
digitalWrite(PBH, HIGH);
digitalWrite(PBL, LOW);
digitalWrite(PCH, LOW);
digitalWrite(PCL, LOW);
fbbuf = analogRead(PBF); //read B
digitalWrite(PCH, HIGH); //switch off
Serial.print(fbbuf+12000);
Serial.print(' ');
//CB
digitalWrite(PAH, HIGH);
digitalWrite(PAL, LOW);
digitalWrite(PBH, HIGH);
digitalWrite(PBL, HIGH);
digitalWrite(PCH, LOW);
digitalWrite(PCL, LOW);
fbbuf = analogRead(PAF); //read A
digitalWrite(PCH, HIGH); //switch off
Serial.print(fbbuf+15000);
Serial.print(' ');
}
void setup() {
pinMode(PAH, OUTPUT);
pinMode(PAL, OUTPUT);
pinMode(PBH, OUTPUT);
pinMode(PBL, OUTPUT);
pinMode(PCH, OUTPUT);
pinMode(PCL, OUTPUT);
pinMode(PAF, INPUT_ANALOG);
pinMode(PBF, INPUT_ANALOG);
pinMode(PCF, INPUT_ANALOG);
}
void loop() {
delay(10);
scan();
Serial.print('\n');
}
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.