Bygga en Lipo batteri mätare (11 / 13 steg)
Steg 11: Programvara
< p > / / om att PIN-koden som används i detta projekt < br > int pin_A = 2; LED bar pin
int pin_B = 3;
int pin_C = 4;
int pin_D = 5;
int pin_E = 6;
int pin_F = 7.
int pot = 0; PIN-kod som skulle läsa från batteri < /p >< p > void setup() {
decalaring indata och utdata stift
Serial.BEGIN(9600); / / seriell kommunikation mellan Arduino och dator
pinMode (pin_A, produktionen);
pinMode (pin_B, produktionen);
pinMode (pin_C, produktionen);
pinMode (pin_D, produktionen);
pinMode (pin_E, produktionen);
pinMode (pin_F, produktionen);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
} < /p >< p > void loop() {< /p >< p > int nivå = analogRead(pot); / / läsa värdet från batteriet
int led1 = analogRead(10);
int led2 = analogRead(11);
att multiplicera värdet med spänning upplösning på Arduino styrelsen
flyta real_voltage = nivå * 0.004882814;
Serial.println("");
Serial.Print ("aktuell spänning:") ;// visning på serial monitorn
Serial.println(real_voltage);
/ * beroende på värdet läsa från batteriet, vi vänder på LED att Visa
nivån på batteriet * /
om (real_voltage < 3,69)
{
digitalWrite (pin_A, hög);
digitalWrite (pin_B, hög);
digitalWrite (pin_C, hög);
digitalWrite (pin_D, hög);
digitalWrite (pin_E, hög);
digitalWrite (pin_F, hög);
Serial.println ("batteri är");
Delay(1000);
}
annars om (real_voltage > = 3,69 & & real_voltage < 3.71)
{
digitalWrite (pin_A, låg);
digitalWrite (pin_B, låg);
Delay(1000);
digitalWrite (pin_B, hög);
Delay(1000);
digitalWrite (pin_C, hög);
digitalWrite (pin_D, hög);
digitalWrite (pin_E, hög);
digitalWrite (pin_F, hög);
Serial.println ("batteri är 5%");
Delay(1000);
}
annars om (real_voltage > = 3,71 & & real_voltage < 3,73)
{
digitalWrite (pin_A, låg);
digitalWrite (pin_B, låg);
digitalWrite (pin_C, hög);
digitalWrite (pin_D, hög);
digitalWrite (pin_E, hög);
digitalWrite (pin_F, hög);
Serial.println ("batteri är 15%");
Delay(1000);
}
annars om (real_voltage > = 3,73 & & real_voltage = 3,75 & & real_voltage < 3,80)
{
digitalWrite (pin_A, låg);
digitalWrite (pin_B, låg);
digitalWrite (pin_C, låg);
digitalWrite (pin_D, låg);
digitalWrite (pin_E, hög);
digitalWrite (pin_F, hög);
Serial.println ("batteri är 50% full");
Delay(1000);
}
annars om (real_voltage > = 3,80 & & real_voltage < 3,88)
{
digitalWrite (pin_A, låg);
digitalWrite (pin_B, låg);
digitalWrite (pin_C, låg);
digitalWrite (pin_D, låg);
digitalWrite (pin_E, låg);
digitalWrite (pin_F, hög);
Serial.println ("batteri är 75% full");
Delay(1000);
}
annars om (real_voltage > = 3,88)
{
digitalWrite (pin_A, låg);
digitalWrite (pin_B, låg);
digitalWrite (pin_C, låg);
digitalWrite (pin_D, låg);
digitalWrite (pin_E, låg);
digitalWrite (pin_F, låg);
Serial.println ("batteri är Full");
Delay(1000);
}
} < /p >