Wpis z mikrobloga

#programowanie

Nie znam się na programowaniu w ogóle.. czy takie coś by działało?
Na chłopski rozum prawie wszystko wygląda dobrze, poza tym że on nie ogarnia chyba co jest chce żeby wyświetlacz pokazał, bo dalej mi się wydaje że jest źle.

#include <LiquidCrystal.h>


// Inicjalizacja biblioteki z numerami pinów Arduino

const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


const int voltagePin = A0; // Pin analogowy do pomiaru napięcia

const int relayPin = 6; // Pin cyfrowy do sterowania przekaźnikiem


// Zakres napięcia

const float minVoltage = 12.22;

const float maxVoltage = 12.90;

const float cutoffVoltage = 12.20;


void setup() {

// Konfiguracja pinów

pinMode(voltagePin, INPUT);

pinMode(relayPin, OUTPUT);

digitalWrite(relayPin, HIGH); // Przekaźnik wyłączony na start


// Inicjalizacja wyświetlacza

lcd.begin(16, 2);

lcd.print("Voltage Monitor");

delay(2000);

lcd.clear();

}


void loop() {

// Odczyt napięcia z dzielnika

int sensorValue = analogRead(voltagePin);

float voltage = sensorValue * (5.0 / 1023.0) * (23.0 / 3.0); // Zakładając dzielnik 20k i 3k rezystory


// Obliczanie procentowej wartości napięcia

float percentage = (voltage - minVoltage) / (maxVoltage - minVoltage) * 100.0;

if (percentage < 0) percentage = 0;

if (percentage > 100) percentage = 100;


// Wyświetlanie wartości na LCD

lcd.setCursor(0, 0);

lcd.print("Voltage: ");

lcd.print(voltage, 2);


lcd.setCursor(0, 1);

if (voltage > maxVoltage) {

// Jeśli napięcie jest wyższe niż 12.90V, wyświetl same 1

lcd.print("111");

} else {

// Wyświetlanie procentowej wartości bez znaku procenta

if (percentage < 10) {

lcd.print("00");

} else if (percentage < 100) {

lcd.print("0");

}

lcd.print((int)percentage);

}


// Sprawdzenie, czy napięcie jest poniżej progu

if (voltage <= cutoffVoltage) {

digitalWrite(relayPin, LOW); // Włączenie przekaźnika (rozłączenie obwodu)

} else {

digitalWrite(relayPin, HIGH); // Wyłączenie przekaźnika

}


delay(1000); // Opóźnienie 1 sekundy

}
r5678 - #programowanie

Nie znam się na programowaniu w ogóle.. czy takie coś by dzia...

źródło: Bez nazwy

Pobierz
  • 2
  • Odpowiedz
Nie chce mi się sprawdzać ale z doświadczenia jeśli coś nie działa to znaczy, że jest pisane zbyt ogólnie. A często jest tak, że nawet jak poda się dobre instrukcje to nadal wymyśla głupoty.
AI trzeba podawać proste, krótkie informacje, w innym przypadku zacznie dodawać od siebie/ szukać rozwiązan dziwnych itp. na siłę
  • Odpowiedz
@r5678 na adruino project hub masz tonę działającego kodu na te wyświetlacze z wyjaśnieniem, nawet software do rysowania klatek na LCD ktoś zrobił, korzystałem z tego, bardzo ciekawe. Nie zatrudniaj ai do tego chyba, że lubisz się denerwować. Zamykam
  • Odpowiedz