Skocz do zawartości
Komentator

Kurs Arduino - #7 - Wyświetlacz tekstowy, LCD 2x16

Pomocna odpowiedź

Na pewno będzie. Ten układ nie wie co ma podpięte, zawsze działa tak samo, do 4x40 o ile dobrze pamiętam.

Udostępnij ten post


Link to post
Share on other sites

Dobra to jeszcze jedno pytanie. Chcę użyć tego wyświetlacza:

http://www.artronic.com.pl/o_produkcie.php?id=1263

Czym się różni Vdd od Vcc? i jak to połączyć?

Mam jeszcze wniosek na przyszłość, żeby wstawiać również schematy w tradycyjnej formie. Początkujący by się przyzwyczajali do normalnych schematów a komuś kto nie korzysta z płytki arduino było by łatwiej korzystać z artykułów.

Udostępnij ten post


Link to post
Share on other sites

Mechano, Vdd oraz Vcc jest tym samym, czyli dodatnim zasilaniem. Są to oznaczenia stosowane zamiennie. Zasilacz podłączasz identycznie jak w kursie (kolejność pinów).

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

zadanie 7.4

kod programu

#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); 
#define przycisk 9
#define przycisk 10
int sec = 0;
void setup() {lcd.begin(16, 2); 
lcd.clear();//Deklaracja typu
 lcd.setCursor(0, 0); //Ustawienie kursora
 lcd.print("stoper: ");
 lcd.setCursor(0,1); //Ustawienie kursora
 lcd.print(sec);
 pinMode (9, INPUT_PULLUP);
pinMode (10, INPUT_PULLUP);
}

void loop() {if(digitalRead(10)== LOW){
 sec=0;
}
if (digitalRead(9)== LOW){
    lcd.clear();
  lcd.setCursor(0, 0); //Ustawienie kursora
 lcd.print("stoper: ");
 lcd.setCursor(0,1); //Ustawienie kursora
 lcd.print(sec);
     while ( digitalRead(10)==HIGH){
   lcd.setCursor(0,1); //Ustawienie kursora
 lcd.print(sec);
sec++;

 }
}
if (digitalRead(10)== LOW&&digitalRead(9)==HIGH && sec>0){

lcd.setCursor(7,1); //Ustawienie kursora
 lcd.print("zatrzymano");

}
}

Udostępnij ten post


Link to post
Share on other sites

coorchac, super! Widać, że działa, to najważniejsze 🙂

Udostępnij ten post


Link to post
Share on other sites

Jest szansa na dodanie artykułu na temat wyświetlacza multipelksowanego 7-segmentowego SH5461AS ? Chodzi mi o samo podłączenie, wyjaśnienie pinów i skrótowo sterowanie przez Arduino (jakie polecenia do czego służą itp), chyba, że ktoś poratuje jakimś linkiem 😃 ? Ewentualnie 5161AS ? z góry dzięki za pomoc 🙂

Udostępnij ten post


Link to post
Share on other sites

PukiSlu, na ten moment niestety nie planuję opisywania takiego tematu.

Udostępnij ten post


Link to post
Share on other sites

Hm, po wpisaniu w Google "SH5461AS arduino" materiału multimedialnego masz na całą dżdżystą jesień.

Udostępnij ten post


Link to post
Share on other sites

7.4 źle przeczytałem polecenie i mój stoper ma tylko jeden przycisk

#include <LiquidCrystal.h> //Dołączenie bilbioteki
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //Informacja o podłączeniu nowego wyświetlacza
float czas =0;
int stan =0;

void setup()
{
 lcd.begin(16, 2); //Deklaracja typu
 pinMode(10, INPUT_PULLUP); //Przycisk
}

void loop() 
{
 if (digitalRead(10) == LOW) // przycisniecie 
 {
   lcd.clear();
   delay(200);
   stan = 1;
   czas = 0.2; // uwzglednienie poprzedniego delay
   while (stan == 1)
   {
       lcd.setCursor(0, 0); //Ustawienie kursora
       lcd.print("Pomiar czasu"); //Wyświetlenie tekstu
       czas = czas + 0.1;
       lcd.setCursor(0, 1); //Ustawienie kursora
       lcd.print(czas);
       lcd.print(" s");
       delay (100);
       if (digitalRead(10) == LOW) // kolejne przycisniecie 
       {
         stan = 0;
         delay(200); // usuniecie zaklocen 
       }
   }
 }
 lcd.clear();
 lcd.setCursor(0, 0); //Ustawienie kursora
 lcd.print("Ostatni pomiar");
 lcd.setCursor(0, 1); //Ustawienie kursora
 lcd.print(czas);
 lcd.print(" s");
 delay(200); // usuniecie zaklocen 

}

Udostępnij ten post


Link to post
Share on other sites

VVasyl, to polecam dla własnego treningu napisać również drugą wersję 🙂

Miałeś jakieś problemy?

Udostępnij ten post


Link to post
Share on other sites

Tak, problemy wynikały właśnie z użycia tylko jednego przycisku (program uruchamiał się i o razu zatrzymywał). Jednak wystarczyło dodać kilka opóźnień i uwzględnić to przy mierzeniu czasu (stoper nie mierzy od 0 tylko od 0,2!).

Udostępnij ten post


Link to post
Share on other sites

Zadanie 7.4

#include <LiquidCrystal.h>
#define przyciskStart 8
#define przyciskStop 9
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
double czasStart;
double czasStop;
bool start = false;

void setup() {
 // put your setup code here, to run once:
 lcd.begin(16, 2);
 pinMode(przyciskStart, INPUT_PULLUP);
 pinMode(przyciskStop, INPUT_PULLUP);
 millis();
}

void loop() {
 poczatek();
 stoperStart();
 stoperStop();
}

void poczatek() {
 if (start == false) {
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Wcisni przycisk");
   lcd.setCursor(0, 1);
   lcd.print("start");
   delay(5);
 }
}
void stoperStart() {
 while (digitalRead(przyciskStart) == LOW) {
   czasStart = millis() / 1000.0;
   lcd.clear();
   start = true;
 }
 if (start == true) {
   lcd.setCursor(0, 0);
   lcd.print("Aktualny czas");
   lcd.setCursor(0, 1);
   lcd.print((millis() / 1000.0) - czasStart);
   lcd.print("sek");
 }
}

void stoperStop() {
 while (digitalRead(przyciskStop) == LOW) {
   czasStop = millis() / 1000.0;
   lcd.clear();
   lcd.setCursor(0, 0);
   lcd.print("Koniec");
   lcd.setCursor(0, 1);
   lcd.print(czasStop - czasStart);
   lcd.print("sek");
   delay(4000);
   start = false;
 }
}

Udostępnij ten post


Link to post
Share on other sites

Czaro, pamiętaj o komentarzach - nie można o tym zapominać 🙂

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...