Stap 2:
Dit is de code genieten. de analoge ingangen gebruikt zijn A2 en A4VU-meter door theredstonelabz en michiel H Vergeet niet te willen en zich abonneren om mijn werk te ondersteunen. tnx
#include < LiquidCrystal.h >
speciale tekens
byte p3 [8] = {}
B11111,
B00000,
B10000,
B10000,
B10000,
B10000,
B00000,
B11111
};
byte p4 [8] = {}
B11111,
B00000,
B11000,
B11000,
B11000,
B11000,
B00000,
B11111
};
byte p5 [8] = {}
B11111,
B00000,
B11100,
B11100,
B11100,
B11100,
B00000,
B11111
};
byte p6 [8] = {}
B11111,
B00000,
B11110,
B11110,
B11110,
B11110,
B00000,
B11111
};
byte p7 [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; linker kanaal input
int rightChannel = 0; rechter kanaal input
int links, rechts, left2, right2; variabelen
Const int numReadings = 3; 5 lezingen voor gegevens
int lezingen [numReadings]; aantal lezingen
int index = 0; index van de momentele lezing
int totaal = 0; totaal op nul zetten
int maxi = 0;
int index2 = 0; index van de momentele lezing (2)
int total2 = 0; hoogste getal in de lezingen
int maxi2 = 0;
int inputPin = A2; ingangspin koppelingen
int inputPin2 = A4; ingangspin rechts
int volL = 0;
int volR = 0;
int carL = 0;
int carR = 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
voor (int thisReading = 0; thisReading < numReadings; thisReading ++)
lezingen [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 (9, LEEG);
voor (vul = 0; vul < 80; vul ++)
{
voor (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);
voor (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 nl 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 = totaal;
}
index ++;
Als (index > = numReadings) //Na 5 lezingen gaan we naar 0
{
index = 0;
links = maxi;
Maxi = 0;
}
total2=analogRead(inputPin2);
if(total2 > maxi2)
{
maxi2 = total2;
}
index2 ++;
Als (index2 > = numReadings) //Na 5 lezingen gaan we naar 0
{
index2 = 0;
rechts = maxi2;
maxi2 = 0;
}
volR = recht/3;
if(volR>14)
{
volR = 14;
}
voor (vul = 0; vul < volR; vul ++)
{
lcd.setCursor (vul + 1, 1);
LCD.write(5);
}
voor (vul = volR + 1; vul < 15; vul ++)
{
lcd.setCursor (vul, 1);
LCD.write(9);
}
volL = links/3;
if(volL>14)
{
volL = 14;
}
voor (vul2 = 0; vul2 < volL; vul2 ++)
{
lcd.setCursor (vul2 + 1, 0);
LCD.write(5);
}
voor (vul2 = volL + 1; vul2 < 15; vul2 ++)
{
lcd.setCursor (vul2, 0);
LCD.write(9);
}
Serial.println(Left);
}