// Opakovanie
/*
Potenciometrom budeme ovládať čas zastavenia programu
ak bude potenciometer
v ľavej časti bude čas nastavený na 1 sekundu
v pravej časti bude čas nastavený na 3 sekundu
Prechod medzi bunkami v LCD displayi (cursor)
DÚ
1. Zamyslieť sa nad tým,
ako sa dostane kurzor na 3 a 4 riadok
Kľudne, to môžete aj naprogramovať.
2. Slider potenciometer bude ovládať servo
a vypisovať hodnotu na lcd displayi v strede.
(vypracujte v samostatnom projekte)
3. zobrazte čas od spustenia arduina pomocou funkcie millis()
Každá párna milisekunda bude zobrazená na displayi v pravo hore
a každá nepárna milisekunda bude zobrazená v ľavo hore.
Vyriešte situáciu (pre párne milisekundy v pravo hore), keď počet cifier bude pribúdať
Teda 1, 10, 100, 1000, 10000, 100000...
Číslo by malo byť stále v pravom hornom okraji až po okraj.
*/
#include <LiquidCrystal_I2C.h>
#include <Servo.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
Servo s1;
const int pot = A0;
int value = 0;
int mValue = 0;
int cas = 0;
int servo = 13;
int counter = 0;
int counter2 = 0;
bool firstrow = false;
void setup() {
// put your setup code here, to run once:
lcd.init();
lcd.backlight();
lcd.cursor();
Serial.begin(9600);
pinMode(pot, INPUT);
//pinMode(servo, OUTPUT);
s1.attach(servo);
}
void loop() {
for(int i = 0; i< 180; i++){
s1.write(i);
delay(100);
}
value = analogRead(pot);
// put your main code here, to run repeatedly:
mValue = map(value, 0, 1023, 0, 1);
if(mValue == 0){
cas = 100;
}else{
cas = 300;
}
if(firstrow == false && counter < 21){
lcd.setCursor(counter,0);
delay(cas);
counter = counter + 1; //counter++
}else{
firstrow = true;
lcd.setCursor(counter2,1);
delay(cas);
counter2 = counter2 + 1; //counter++
}
}