// includes the library code:
#include <LiquidCrystal.h>
// initializes the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 7, 4, 3, 2);
// LED connected to digital pin 5
const int ledPin1 = 9;
// pot1 connected to analog pin 1
const int analogPin1 = A0;
const int analogPin2 = A1;
const int analogPin3 = A2;
// variable to store pot1 data
int val1 = 0;
int val2 = 0;
int val3 = 0;
int dtyc=0;
int freq=490;//default
void setup() {
Serial.begin(9600);
// set up the LCD's number of columns and rows:
lcd.begin(20, 4);
// sets pin 5 as output
pinMode(ledPin1, OUTPUT);
lcd.setCursor(0,3);
lcd.print("ON Time: ");
lcd.setCursor(0,1);
lcd.print("Duty Cycle: ");
lcd.setCursor(0,2);
lcd.print("Resolution: ");
lcd.setCursor(0,0);
lcd.print("Frequency : ");
}
void loop() {
//ON Time------------------------------------------
if((val1)<10){
lcd.setCursor(9,3);
lcd.print(val1);
lcd.setCursor(10,3);
lcd.print(" ");
}
else if((val1)>10 && (val1)<100){
lcd.setCursor(9,3);
lcd.print(val1);
lcd.setCursor(11,3);
lcd.print(" ");
}
else if((val1)>100 && (val1)<1000){
lcd.setCursor(9,3);
lcd.print(val1);
lcd.setCursor(12,3);
lcd.print(" ");
}
else{
lcd.setCursor(9,3);
lcd.print(val1);
}
Serial.println(int(val1/4));
val1 = analogRead(analogPin1);
val2 = analogRead(analogPin2);
val3 = analogRead(analogPin3);
analogWrite(ledPin1, val1/4);
freq=map(val2,0,1023,30,31372);
//frequency------------------------------------------
if(freq<100){
lcd.setCursor(12,0);
lcd.print(freq);
lcd.setCursor(14,0);
lcd.print(" Hz ");
}
else if(freq>100 && freq<1000){
lcd.setCursor(12,0);
lcd.print(freq);
lcd.setCursor(15,0);
lcd.print(" Hz ");
}
else if(freq>1000 && freq<10000){
lcd.setCursor(12,0);
lcd.print(freq);
lcd.setCursor(16,0);
lcd.print(" Hz ");
}
else{
lcd.setCursor(12,0);
lcd.print(freq);
lcd.setCursor(17,0);
lcd.print(" Hz");
}
//duty cycle-----------------------------------------
dtyc=val1*.098;
lcd.setCursor(12,1);
lcd.print(dtyc);
if(dtyc<10){
lcd.setCursor(12,1);
lcd.print(dtyc);
lcd.setCursor(13,1);
lcd.print("% ");
}
else if(dtyc<100 && dtyc>10){
lcd.setCursor(12,1);
lcd.print(dtyc);
lcd.setCursor(14,1);
lcd.print("% ");
}
else if(dtyc==100){
lcd.setCursor(12,1);
lcd.print(dtyc);
lcd.setCursor(15,1);
lcd.print("% ");
}
}