Paso 2:
Este es el código disfrutar. las entradas analógicas que se utilizan son A2 y A4VU-metro por theredstonelabz y michiel H no olvide como suscribirse para apoyar mi trabajo. TNX
#include < LiquidCrystal.h >
Speciale caracters
p3 de Byte [8] = {}
B11111,
B00000,
B10000,
B10000,
B10000,
B10000,
B00000,
B11111
};
p4 de Byte [8] = {}
B11111,
B00000,
B11000,
B11000,
B11000,
B11000,
B00000,
B11111
};
p5 de Byte [8] = {}
B11111,
B00000,
B11100,
B11100,
B11100,
B11100,
B00000,
B11111
};
p6 de Byte [8] = {}
B11111,
B00000,
B11110,
B11110,
B11110,
B11110,
B00000,
B11111
};
p7 Byte [8] = {}
B11111,
B00000,
B11111,
B11111,
B11111,
B11111,
B00000,
B11111
};
byte L [8] = {}
B11111,
B00000,
B11111,
B10000,
B10000,
B10000,
B00000,
B11111
};
byte R [8] = {}
B11111,
B00000,
B11111,
B00101,
B00101,
B11010,
B00000,
B11111
};
byte K [8] = {}
B11100,
B11110,
B11111,
B11111,
B11111,
B11111,
B11110,
B11100
};
byte LEEG [8] = {}
B11111,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111
};
int leftChannel = 0; entrada kanaal vinculador
int rightChannel = 0; entrada kanaal Rechter
int izquierda, izquierda2, derecho, right2; variabelen
const int numReadings = 3; 5 lezingen voor datos
int lecturas [numReadings]; aantal lezingen
Índice de int = 0; Índice van de instantánea lezing
int total = 0; total op nul pieza
maxi de int = 0;
2 int = 0; Índice van de instantánea lezing (2)
int total2 = 0; getal en lezingen de Hoogste
maxi2 int = 0;
int inputPin = A2; enlaces ingangspin
int inputPin2 = A4; ingangspin der.
volL int = 0;
volR int = 0;
int carL = 0;
carR int = 0;
int vul;
int vul2;
int laad;
LiquidCrystal lcd (12, 11, 5, 4, 3, 2); LCD configuratie
void setup() {}
Serial.Begin(9600);
LCD.Begin (16, 2); bepaling grootte van de lcd
para (int thisReading = 0; thisReading < numReadings; thisReading ++)
lecturas [thisReading] = 0;
lcd.createChar (1, p3);
lcd.createChar (2, p4);
lcd.createChar (3, p5);
lcd.createChar (4, p6);
lcd.createChar (5, p7);
lcd.createChar (6, L);
lcd.createChar (7, R);
lcd.createChar (8, K);
lcd.createChar LEEG (9);
para (vul = 0; vul < 80; vul ++)
{
para (laad = 0; laad < vul/5; laad ++)
{
lcd.setCursor (laad, 1);
LCD.Write(5);
}
if(LAAD<1)
{
lcd.setCursor (0, 1);
LCD.Write(5);
}
lcd.setCursor (laad + 1, 1);
LCD.Write((Vul-Vul/5*5)+1);
para (laad laad = 2; laad < 16; laad ++)
{
lcd.setCursor (laad, 1);
LCD.Write(9);
}
lcd.setCursor (0, 0);
LCD.Print("loading...");
Delay(50);
}
LCD.Clear();
Delay(500);
}
void loop()
{
lcd.setCursor (0, 0); L en R worden op het scherm gezet
LCD.Write(6);
lcd.setCursor (0, 1);
LCD.Write(7);
lcd.setCursor (15, 0); kapjes worden op het scherm gezet
LCD.Write(8);
lcd.setCursor (15, 1);
LCD.Write(8);
total=analogRead(inputPin);
if(total > Maxi)
{
Maxi = total;
}
Índice ++;
Si (Índice > = numReadings) //Na 5 lezingen gaan nos naar 0
{
índice = 0;
izquierda = maxi;
Maxi = 0;
}
total2=analogRead(inputPin2);
if(total2 > maxi2)
{
maxi2 = total2;
}
2 ++;
Si (2 > = numReadings) //Na 5 lezingen gaan nos naar 0
{
2 = 0;
derecha = maxi2;
maxi2 = 0;
}
volR = derecho/3;
if(volR>14)
{
volR = 14;
}
para (vul = 0; vul < volR; vul ++)
{
lcd.setCursor (vul + 1, 1);
LCD.Write(5);
}
para (vul = volR + 1; vul < 15; vul ++)
{
lcd.setCursor (vul, 1);
LCD.Write(9);
}
volL = izquierda/3;
if(volL>14)
{
volL = 14;
}
para (vul2 = 0; vul2 < volL; vul2 ++)
{
lcd.setCursor (vul2 + 1, 0);
LCD.Write(5);
}
para (vul2 = 1; volL vul2 < 15; vul2 ++)
{
lcd.setCursor (vul2, 0);
LCD.Write(9);
}
Serial.println(left);
}