Ogórki posadzone
Takie coś wymodziłem, sprawdziłem i wydaje mi się, że działa.
Trzeba oczywiście dodać przelicznik do odczytów z A3.
Takie coś wymodziłem, sprawdziłem i wydaje mi się, że działa.
Kod:
//#include <LiquidCrystal.h> //Dołączenie bilbioteki
//LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// przykładowe przypisanie pinów
#define PWM1 3 //nie analizowałem czy na tych pinach działa PWM
#define PWM2 5 //nie analizowałem czy na tych pinach działa PWM
#define PWM3 6 //nie analizowałem czy na tych pinach działa PWM
#define PWM4 9 //nie analizowałem czy na tych pinach działa PWM
#define PWM5 10 //nie analizowałem czy na tych pinach działa PWM
#define PWM6 11
byte p = 0;
byte programowanie = 0;
int pwm1 = 0;
int pwm2 = 0;
int pwm3 = 0;
int pwm4 = 0;
int pwm5 = 0;
int pwm6 = 0;
void setup()
{
pinMode(4, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP); //pelni funkcje OK
lcd.init();
lcd.backlight();
//lcd.begin(16, 2);
//lcd.clear();
}
void loop()
{
// tu leci sobie program
analogWrite(PWM1, pwm1);
analogWrite(PWM2, pwm2);
analogWrite(PWM3, pwm3);
analogWrite(PWM4, pwm4);
analogWrite(PWM5, pwm5);
analogWrite(PWM6, pwm6);
if (programowanie == 0)
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Nacisnij przyc."); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("programuj"); //Wyświetlenie tekstu
}
if (digitalRead(4) == LOW) // naciskasz przycisk programowanie
{
delay(20); // tak na początek czekamy aby ominąć drganie styków potem coś zmienimy
if (digitalRead(4) == LOW && p == 0 )
{
p = 1;
programowanie = programowanie + 1;// inkrementujesz stan flagi programowanie
lcd.clear();
if (programowanie == 7)
{
programowanie = 0;
}
}
}
if (digitalRead(4) == HIGH && p == 1 )
{
p = 0;
}
// podprogram do ustawiania pwm1 --------------------------------
if (programowanie == 1) // Przechodzimy do programowania pwm1
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 1"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm1);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm1 = analogRead(A3);
}
}
// podprogram do ustawiania pwm2 --------------------------------
if (programowanie == 2) // Przechodzimy do programowania pwm2
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 2"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm2);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm2 = analogRead(A3);
}
}
// podprogram do ustawiania pwm3 --------------------------------
if (programowanie == 3) // Przechodzimy do programowania pwm2
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 3"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm3);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm3 = analogRead(A3);
}
}
// podprogram do ustawiania pwm4 --------------------------------
if (programowanie == 4) // Przechodzimy do programowania pwm2
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 4"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm4);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm4 = analogRead(A3);
}
}
// podprogram do ustawiania pwm5 --------------------------------
if (programowanie == 5) // Przechodzimy do programowania pwm2
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 5"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm5);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm5 = analogRead(A3);
}
}
// podprogram do ustawiania pwm6 --------------------------------
if (programowanie == 6) // Przechodzimy do programowania pwm2
{
lcd.setCursor(0, 0); //Ustawienie kursora
lcd.print("Ustaw czujnik 6"); //Wyświetlenie tekstu
lcd.setCursor(0, 1); //Ustawienie kursora
lcd.print("PWM "); //Wyświetlenie tekstu
lcd.setCursor(4, 1);
lcd.print(" ");
lcd.setCursor(4, 1);
lcd.print(pwm6);
lcd.setCursor(8, 1);
lcd.print("PWMU ");
lcd.setCursor(12, 1);
lcd.print(" ");
lcd.setCursor(13, 1);
lcd.print(analogRead(A3)); //Wyświetlenie tekstu
if (digitalRead(7) == LOW)
{
pwm6 = analogRead(A3);
}
}
}