Also if your interested here's a code for a cool lcd bargraph with custom characters for the bars
#include <LiquidCrystal.h>
LiquidCrystal lcd(22,23,24,25,26,27);
int strobepin = 7;
int resetpin = 8;
int freqval[7];
int ledpwm[7];
byte v0[9] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
};
byte v1[9] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
};
byte v2[9] = {
B00000,
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
B11111,
};
byte v3[9] = {
B00000,
B00000,
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
};
byte v4[9] = {
B00000,
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
};
byte v5[9] = {
B00000,
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
};
byte v6[9] = {
B00000,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
};
byte v7[9] = {
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
};
void setup(){
pinMode(A0, 0);
pinMode(strobepin, 1);
pinMode(resetpin, 1);
lcd.begin(16, 2);
pinMode(12, 1);
analogWrite(2, 29);
// Serial.begin(9600); //optional
lcd.createChar(0, v0);
lcd.createChar(1, v1);
lcd.createChar(2, v2);
lcd.createChar(3, v3);
lcd.createChar(4, v4);
lcd.createChar(5, v5);
lcd.createChar(6, v6);
lcd.createChar(7, v7);
}
void loop(){
lcd.home();
for(int i = 0; i <7 ; i++)ledpwm[i] = map(freqval[i],0,1023,0,6);
for(int i = 0; i < 7; i++) lcd.write(ledpwm[i]);
getfreq();
}
void getfreq(){
digitalWrite(resetpin, 1);
delayMicroseconds(30);
digitalWrite(resetpin, 0);
for(int i = 0; i <= 7; i++){
digitalWrite(strobepin, 0);
analogRead(A0);
freqval[i] = analogRead(A0);
Serial.println(freqval[i]);
digitalWrite(strobepin, 1);
}
}