Skocz do zawartości

Pomocna odpowiedź

Tak naprawdę to wykorzystałem gotowy "moduł" w Tinkercadzie". Połączone ze sobą Arduino, płytkę stykową, wyświetlacz i potencjometr po nazwą "dwuprzewodowy wyświetlacz". Naniosłem tylko niewielkie zmiany w okablowaniu i dodałem przyciski. Zmieniłem też przypisania wyprowadzeń w kodzie, aby nie zmieniać okablowania modułu.

U mnie link działa. Sprawdzałem na drugiej przeglądarce internetowej. Trzeba się tylko (zarejestrować) zalogować na stronie Thinkercad. Zobacz jeszcze ten link.  Ewentualnie wybierz jak na rysunku poniżej Zestawy startowe Arduino i Dwuprzewodowy wyświetlacz. Dostosuj połączenia jak na moim wcześniejszym schemacie. W ten sposób nie trzeba tworzyć schematu od podstaw i zmniejsza się ryzyko błędów. Kod jest w zasadzie ten sam, zmieniłem tylko w programie przypisania wyprowadzeń wyświetlacza i przycisków do istniejącego schematu.

#include <LiquidCrystal.h>

// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Piny guzików
const int button1 = 6;
const int button2 = 7;
const int button3 = 8;
const int button4 = 9;

void setup() {
  lcd.begin(16, 2);

  pinMode(button1, INPUT_PULLUP);
  pinMode(button2, INPUT_PULLUP);
  pinMode(button3, INPUT_PULLUP);
  pinMode(button4, INPUT_PULLUP);

  showCentered("F.A. SYSTEM:", "ALL OK");
}

void loop() {

  if (digitalRead(button1) == LOW) {
    showCentered("F.A. SYSTEM:", "ALL OK");
    delay(300);
  }

  if (digitalRead(button2) == LOW) {
    showCentered("FIRE ALARM:", "TROUBLE IN S.");
    delay(300);
  }

  if (digitalRead(button3) == LOW) {
    showCentered("FIRE ALARM:", "SIGNAL SILENCED.");
    delay(300);
  }

  if (digitalRead(button4) == LOW) {
    showCentered("RESET IN", "SYSTEM");
    delay(300);
  }
}

// ---------- FUNKCJE ----------

void showCentered(const char* line1, const char* line2) {
  lcd.clear();
  printCentered(0, line1);
  printCentered(1, line2);
}

void printCentered(byte row, const char* text) {
  byte len = strlen(text);
  byte col = 0;

  if (len < 16) {
    col = (16 - len) / 2;
  }

  lcd.setCursor(col, row);
  lcd.print(text);
}
 

obraz.thumb.png.c2520c2072362689151d306cfd6d7927.png

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...