Bardzo dziękuję za pomoc.
Jesteście wspaniali !
Nie wiem czy dobrze to zrobiłem:
/*
* LCM1602 & Arduino Uno
* VCC - > 5 V
* GND - GND
* SCL -> A5
* SDA -> A4
*/
bool stan = 1;
int odczytanaWartosc = 0;
int czas = 0;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup()
{
lcd.begin(16,2);
lcd.clear();
lcd.backlight();
pinMode(8, OUTPUT); // zasilenie- przekaźnik
pinMode(7, INPUT_PULLUP); // przycisk
pinMode(9, OUTPUT); // buzzer
}
void loop()
{
lcd.setCursor(0,0);
lcd.print("Czas impulsu:");
lcd.setCursor(0,1);
lcd.print(" ms");
odczytanaWartosc = analogRead(A1); // odczyt ustawienia potencjometru
lcd.setCursor(0,1);
czas = odczytanaWartosc * (100/1023.0) ;
lcd.print(czas);
delay(200);
if (digitalRead(7) == LOW && stan == 1) {
digitalWrite(9, HIGH); //buzzer on
delay(100);
digitalWrite(9, LOW); //buzzer off
lcd.setCursor(0,1);
lcd.print(" ms");
lcd.setCursor(0,1);
lcd.print(czas) ;
delay(250);
lcd.clear();
digitalWrite(8, HIGH); //zgrzewanie
digitalWrite(9, HIGH); //buzzer on
delay(czas); //czas trwania zgrzewania
digitalWrite(8, LOW); //Wyłączenie zgrzewania
digitalWrite(9, LOW); //buzzer off
stan = 0;
}
else {
stan = 1;
}
}
Bo po wgraniu wyświetlacz nie wyświetla tekstu i mruga a wciśnięty i trzymany przycisk nadal cały czas wyzwala zgrzewanie
Aktualizacja:
Mruganie wyświetlacza spowodowane tym, że symulator kodu na https://wokwi.com nie chciał zadziałać z oryginalnym kawałkiem kodu:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
Działanie przycisku nie zmieniło się
Aktualizacja 2:
Dodanie
else if (digitalRead(7) == HIGH) {
pomogło i teraz sprzęt działa fantastycznie.
Jeszcze raz dziękuję
Viva la https://forbot.pl !