Wyświetlacz LCD Z Wyłącznikiem Podświetlenia

Wyświetlacz LCD Z Wyłącznikiem Podświetlenia

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Hej to mój pierwszy post w Majsterkowie więc proszę o wyrozumiałość.Przygotowałem wyświetlacz LCD z możliwością wyłączenia podświetlenia.

Potrzebne elementy:

Wszystkie potrzebne elementy można kupić np. w Botland

DCIM100GOPRO

Wszystko to znajdziecie także w np. w  Starter Kicie takim jak Ten

Przejdźmy do wykonania.

Montujemy poniższy obwód.

LCD_bb

A następnie wgrywamy do arduino poniższy kod

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int przycisk = 8;         
int dioda = 13;

int state = HIGH;
int reading;           
int previous = LOW;

long time = 0;
long debounce = 200;   

void setup() {
pinMode(przycisk, INPUT);
  pinMode(dioda, OUTPUT);
lcd.begin(16, 2);
  lcd.print("MAJSTERKOWO");
lcd.setCursor(0, 1);
  lcd.print("JEST SUPER");
}

void loop() {
  reading = digitalRead(przycisk);
if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
state = LOW;
    else
state = HIGH;

time = millis();
  }

  digitalWrite(dioda, state);

  previous = reading;
}

 Na koniec prezentacja działania.

Przed wciśnięciem przycisku.

DCIM100GOPRO

 

Oraz po wciśnięciu.

DCIM100GOPRO

 

Myślę że ten prosty projekt się spodobał, a początkującym przydał.

PS: Przepraszam za jakość zdjęć ale do dyspozycji mam tylko go pro.

 

 

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 5/5 (głosów: 1)

Podobne posty

9 komentarzy do “Wyświetlacz LCD Z Wyłącznikiem Podświetlenia

  • zamiast tych intów

    int state = HIGH;      
    int reading;
    int previous = LOW;   
    

    trzeba było dać booleany, które zajmują mniej pamięci.

    a to debounce jest niepotrzebne mi zawsze działało bez niego.
    a jak już chcesz z tego korzystać to lepiej było użyć #define a nie long
    albo const int bo long zużywa więcej pamięci

    i jak piszesz zmienne po angielsku to wszystkie a nie np didigtalWrtie(DIODA, state)

    i jeszcze jedno ten obrazek z fritzinga jest nieczytelny

    a i przydałby się film a nie same zdjęcia

    Próbuj młody dalej może kiedyś ci się uda :D

    Odpowiedz
    • Ja nie kapuje ARDUINO, czemu int a nie char. ARDUINO UNO opiera się na Atmega328, który ma strukturę 8 bitową, wiec czemu używa się 32 bitowego typu danych(int), a nie 8(char). Tylko niepotrzebne operacje musi procesor wykonać i wiecej pamieci zajmuje. Na koniec, jeśli się mylę to dajcie znać.

      Odpowiedz
  • Nie rozumiem po co rezystor do masy na przycisku , przecież arduino ma własne rezystory pułk up i pull down. Aby je włączyć , wystarczy funkcja digitaliWrite. Można jej użyć nawet jeśli pin został wcześniej zadeklarowany jako wejście.

    Odpowiedz
  • Spoko, ale to da się zrobić to łatwiej, wystarczy przycisk wrzucić między +5 V a pin 15 wyświetlacza, tylko musi być on dwu-pozycyjny. I tak BTW to fajny samsung w tle :-).

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?