/*
persönliche Anmerkung: der serial port scheint in diesem simulator einen bug zu haben.
Test als validation: deklariere eine float variable Bsp. int num=1022 und versuch Sie zu Serial.println(num);
serial monitor output war nur: 1
*/
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
float test = 3;
int readval=0;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
// Init
lcd.init();
lcd.backlight();
lcd.blink_on();
}
void phase1(){
// Phase 1 DIGITAL
//pinmode definition
pinMode(10, OUTPUT);
pinMode(13,INPUT);
// HIGH READING
digitalWrite(10, HIGH);
test = digitalRead(13);
lcd.setCursor(0, 0);
lcd.print("digitalpin 13: ");
lcd.print(test);
delay(1000);
// LOW READING
digitalWrite(10, LOW);
test = digitalRead(13);
lcd.setCursor(0, 0);
lcd.print("digitalpin 13: ");
lcd.print(test);
delay(1000);
}
void phase2(){
//Phase 2 DIGITAL
//Pinmode definition
pinMode(10, INPUT);
pinMode(13,OUTPUT);
// HIGH READING
digitalWrite(13, HIGH);
test = digitalRead(10);
lcd.setCursor(0, 1);
lcd.print("digitalpin 10: ");
lcd.print(test);
delay(1000);
// LOW READING
digitalWrite(13, LOW);
test = digitalRead(10);
lcd.setCursor(0, 1);
lcd.print("digitalpin 10: ");
lcd.print(test);
delay(1000);
}
void loop() {
phase1();
phase2();
//Phase 3 ANALOG
//Pinmode definition
pinMode(A1, INPUT);
pinMode(A2,OUTPUT);
// HIGH READING
//testing line
digitalWrite(13, HIGH);
//testing line end
analogWrite(A2, 255);
readval = analogRead(A1);
test=(5/1023) * readval;
lcd.setCursor(0, 2);
lcd.print("analogpin A1: ");
lcd.println(readval);
delay(1000);
}