cansat kode analog måling (02)

Programmet måler spændinger på alle 6 indgange.

Måling foretages med en 10 bit konverter dvs der er 2^{10} - 1 (1023) diskretiseringsniveauer for indputspænding.

Man kan måle i intervallet 0-5V.

// Telemetry over seriel interface(USB)
// To gange i sekundet udføres:
//   1.mål spænding på 6 analoge porte
//   2.omregne måletal tyil Volt
//   3. skrive alle spændin
// og skifter lysdiode mellem on og off

int ledState = LOW; 

void setup()
{
  Serial.begin(9600); // seriel hastighed: 9600 bit/sekund
  
  pinMode(13,OUTPUT); // pin 13(med lydsiode ) sættes op som outpu
}

float a0,a1,a2,a3,a4,a5; // fem variable til at måle de 5 analoge indgange
void loop()
{
  delay(500); // vent 500 millisekunder 
  
  
  a0 = analogRead(0);
  a1 = analogRead(1);
  a2 = analogRead(2);
  a3 = analogRead(3);
  a4 = analogRead(4);
  a5 = analogRead(5);
  
  // omregn til volt  0-1023 svarer til 5 V (10 bit ad konverter)
  
  a0 = 5.0 * a0/1023;
  a1 = 5.0 * a1/1023;
  a2 = 5.0 * a2/1023;
  a3 = 5.0 * a3/1023;
  a4 = 5.0 * a4/1023;
  a5 = 5.0 * a5/1023;

  Serial.print("Telemetry: ");  // print på seriel port
  Serial.print(" , ");
  Serial.print(a0);  
  Serial.print(" , ");
  Serial.print(a1);  
  Serial.print(" , ");
  Serial.print(a2);  
  Serial.print(" , ");
  Serial.print(a3);  
  Serial.print(" , ");
  Serial.print(a4);  
  Serial.print(" , ");
  Serial.println(a5);    // print med linieskift - ln: line new

  // blik med lysdiode for at vise der er liv
  if (ledState == LOW)
  {
    ledState = HIGH;
    digitalWrite(13,HIGH);
  }
  else
  {
    ledState = LOW;
    digitalWrite(13,LOW);
  }
}