#include <Wire.h> // COMUNICACION I2C
#include <LiquidCrystal_I2C.h> // LCD CON I2C
#include <Servo.h>
#define I2C_ADDR 0X27
#define LCD_COLUMNS 16
#define LCD_LINES 2
Servo smotor;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
const int p1=11;
const int p2=12;
const int led=3;
const int pot=A1;
int contador=0;
void setup() {
smotor.attach(5);//pin donde esta conectado la señal de control del servo
smotor.write(0);//pin donde esta conectado la señal de control del servo
lcd.init();
lcd.backlight();
Serial.begin(9600);
//lcd.begin(16,0);
lcd.print(" HOLA TELECOMUNICACICONES");
lcd.setCursor(0,1);
lcd.print("duty cycle:");
pinMode(p1, INPUT);
pinMode(p2, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
int valor_pot=analogRead(pot);//0;1023
float angulo_m=map(valor_pot,0,1023,0,180);
smotor.write(angulo_m);
Serial.print("angulo=");
Serial.println(angulo_m);
boolean puls1=digitalRead(p1);
boolean puls2=digitalRead(p2);
delay(500);
if (puls1==0){
contador +=25;
}
if (puls2==0){
contador -=25;
}
if (contador<0){
contador=0;
}
if (contador>255){
contador=255;
}
// Serial.print("contador=");
// Serial.println(contador);
analogWrite(led,contador);
lcd.setCursor(13,1);
lcd.print(contador);
delay(100);
lcd.setCursor(13,1);
lcd.print(" ");
}