#include <Servo.h>
#include <LiquidCrystal_I2C.h>
// Tehdään Servomuuttuja moottori
Servo moottori;
int moottoriArvo = 0;
// Ledinäyttö muuttuja, jossa on näytön osoite ja rivien x y määrät
LiquidCrystal_I2C ledinaytto(0x27,16,2);
int viive = 0; // Millisekunteja
bool ledipaalla = false;
void setup() {
pinMode(2, OUTPUT);
Serial.begin(115200);
moottori.attach(3); // moottorin pinni (PWM)
ledinaytto.init(); // alustaa näytön
ledinaytto.backlight(); // taustavalo
ledinaytto.setCursor(11,1); //
ledinaytto.print("testi"); // tulosta teksti
}
void loop() {
Serial.println("Sovellus käynnissä");
if (viive > 500) {
if (ledipaalla == true) {
digitalWrite(2, LOW);
ledipaalla = false;
}
else {
digitalWrite(2, HIGH);
ledipaalla = true;
}
viive = 0;
}
delay(20);
viive = viive + 20;
int potentiometrinArvo = analogRead(A0);
Serial.print("Potentiometri: ");
Serial.print(potentiometrinArvo);
Serial.print(" ,Moottorin: ");
Serial.println(moottoriArvo);
moottoriArvo = map(potentiometrinArvo, 0, 1023, 0, 180);
moottori.write(moottoriArvo);
// Tulostetaan tekstiä näytölle
ledinaytto.clear(); // Tyhjennetään näyttö
ledinaytto.print("Moottori:");
ledinaytto.print(moottoriArvo);
ledinaytto.setCursor(0,1); // Vaihdetaan rivi
ledinaytto.print("Potikka:");
ledinaytto.print(potentiometrinArvo);
}