Skocz do zawartości
ALIBABA-125

POLSKIE ZNAKI I SPECJALNE NA WYŚWIETLACZACH LCD

Rekomendowane odpowiedzi

Witam

Przekazuje do wykorzystania skech na arduino na wykonanie maksymalnie do 8 znaków polskich i mieszanych

 

//////////////////////////////////////////////////
///// WYŚWIETLACZ LCM4004A2  (WERSJA B) 40X4 /////
//////////////////////////////////////////////////

#include <LiquidCrystal440.h>
LiquidCrystal lcd(13,12,11,10,9,8,7,6);     //definicja pinów wyświetlacza RS RW E1 E2 D4 D5 D6 D7

//////////////////////////////////////////////////////////////////////////////////////////////////
// w przypadku wyświetlaczy 2x16, 2x20 i 4x20//                                                 //
// LiquidCrystal lcd(13,12,11,10,9,8);           definicja pinów wyświetlacza RS E D4 D5 D6 D7  //
//                                               RW do masy                                     //
// i stosować bibliotekę #include <LiquidCrystal.h>                                             //  
//////////////////////////////////////////////////////////////////////////////////////////////////

byte znak0[8] =
{                //stwórz znak o nazwie stopń C i przypisz jej numer 0
B00100,
B01010,
B10001,
B01010,
B00100,
B00000,
B00000,
B00000
};
 
byte znak1[8] =
{                //stwórz znak o nazwie Ą i przypisz jej numer 1
B01110,
B10001,
B10001,
B10001,
B11111,
B10001,
B10001,
B00010
};
 
byte znak2[8] =
{                //stwórz znak o nazwie Ł i przypisz jej numer 2
B10000,
B10000,
B10100,
B11000,
B10000,
B10000,
B11111,
B00000
};
 
void setup(void)
{
lcd.begin(40,4);              //ustaw rozdzielczość ekranu 40x4

lcd.createChar(0, znak0);     //stwórz znak o nazwie stopnie i przypisz jej numer 0
lcd.createChar(1, znak1);     //stwórz znak o nazwie Ą i przypisz jej numer 1
lcd.createChar(2, znak2);     //stwórz znak o nazwie Ł i przypisz jej numer 2
//lcd.clear();                  //wyczyść bufor ekranu
}
 
void loop(void)
{
///////////////////////////////////////////////////////////////////////////
lcd.createChar(0, znak0);    //wyświetlenie znaku stopień C
lcd.setCursor(20,0);
lcd.print((char)0);
lcd.createChar(0, znak0);    //wyświetlenie znaku stopień C
lcd.setCursor(20,1);
lcd.print((char)0);
lcd.createChar(0, znak0);    //wyświetlenie znaku stopień C
lcd.setCursor(20,2);
lcd.print((char)0);
lcd.createChar(0, znak0);    //wyświetlenie znaku stopień C
lcd.setCursor(20,3);
lcd.print((char)0);
////////////////////////////////////////////////////////////////////
lcd.createChar(1, znak1);    //wyświetlenie znaku stopień Ą
lcd.setCursor(1,0);
lcd.print((char)1);
lcd.createChar(1, znak1);    //wyświetlenie znaku stopień Ą
lcd.setCursor(1,1);
lcd.print((char)1);
lcd.createChar(1, znak1);    //wyświetlenie znaku stopień Ą
lcd.setCursor(1,2);
lcd.print((char)1);
lcd.createChar(1, znak1);    //wyświetlenie znaku stopień Ą
lcd.setCursor(1,3);
lcd.print((char)1);
//////////////////////////////////////////////////////////////////////
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(29,0);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(29,1);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(29,2);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(29,3);
lcd.print((char)2);
/////////////////////////////////////////////////////////////////////
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(36,0);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(36,1);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(36,2);
lcd.print((char)2);
lcd.createChar(2, znak2);    //wyświetlenie znaku stopień Ł
lcd.setCursor(36,3);
lcd.print((char)2);

///////////////////////////////////////////////////////////////////////
lcd.setCursor(0,0);         // a to dodatkowa próba wiersz 1
lcd.print("B");
lcd.setCursor(2,0);         
lcd.print("BLE=");

lcd.setCursor(6,0);        // wprowadzono dodatkowo bo w kolumnie 6 i 7 pokazują sie stopnie C i nie wiem dlaczego ????????
lcd.print("  ");

lcd.setCursor(15,0);
lcd.print("24.56");
lcd.setCursor(21,0);
lcd.print("C");
lcd.setCursor(26,0);
lcd.print("=WY");
lcd.setCursor(33,0);
lcd.print("=ZA");

lcd.setCursor(0,1);         // a to dodatkowa próba wiersz 2
lcd.print("B");
lcd.setCursor(2,1);         
lcd.print("BLE=");
lcd.setCursor(15,1);
lcd.print("24.56");
lcd.setCursor(21,1);
lcd.print("C");
lcd.setCursor(26,1);
lcd.print("=WY");
lcd.setCursor(33,1);
lcd.print("=ZA");

lcd.setCursor(0,2);         // a to dodatkowa próba wiersz 3
lcd.print("B");
lcd.setCursor(2,2);
lcd.print("BLE=");
lcd.setCursor(15,2);
lcd.print("24.52");
lcd.setCursor(21,2);
lcd.print("C");
lcd.setCursor(26,2);
lcd.print("=WY");
lcd.setCursor(33,2);
lcd.print("=ZA");

lcd.setCursor(0,3);         // a to dodatkowa próba wiersz 4
lcd.print("B");
lcd.setCursor(2,3);
lcd.print("BLE=");
lcd.setCursor(15,3);
lcd.print("24.56");
lcd.setCursor(21,3);
lcd.print("C");
lcd.setCursor(26,3);
lcd.print("=WY");
lcd.setCursor(33,3);
lcd.print("=ZA");

}


Witam

Na bazie niżej podanych elementów ARDUINO pragnę stworzyć projekt sterowania akwarium :

  1. ArduinoMega2560 Rev .– z mikrokontrolerem ATmega2560
  2. (DFR0009) LCD Keypad Shield for Arduino
  3. Zegar czasu rzeczywistego z układem RTC PCF8563 lub DS1307
  4. Moduł z 4 przekaźnikami półprzewodnikowymi SSR
  5. Czujnik temperaturu DS18B20 w wodoodpornej obudowie ze stali nierdzewnej
  6. Moduł mocy z 4 elementami wykonawczymi MOSFET IRF540 oraz seperacją galwaniczną wyjść, maksymalne obciążenie : 22A na 4 kanały

Niestety jestem z wykształcenia budowlańcem i nie mam zielonego pojęcia o elektronice a tym bardziej o pisaniu programów.

Zwracam się więc z prośbą o konkretną pomoc odnośnie programów sterujących do projektu oraz przedstawienie połączenia wszystkich elementów w całość zgodnie z programami.

Założenia programowe

  1. Sterowanie 4 kanałami oświetlenia ledowego ( godzina załączenia czas rozjaśniania moc rozjaśniania – godzina wyłączenia, czas ściemniania, moc ściemniania )- na jeden kanał moc 30W przy 12V
  2. Sterowanie grzałką 300W/220V za pomocą czujnika temperatury
  3. Sterowanie zaworem elektromagnetycznym co2 ( czas załączenia, czas wyłączenia )
  4. Sterowanie pompką napowietrzacza ( czas załączenia, czas wyłączenia )
  5. Sterowanie skimerem ( czas załączenia – ustawienie np. co 2 godz. na 15 minut )

Wszystkie ustawienia mają być realizowane za pomocą menu na wyświetlaczu. Wyświetlacz w stanie spoczynku ma wyświetlać aktualną godzinę i temperaturę w akwarium

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zanim ukryję Twój temat masz szansę poprawić tytuł

Dla ułatwienia cytat z regulaminu forum.

5. Nie piszemy WIELKIMI LITERAMI !


Pozdrawiam. Roman (Dawniej BAU)

150x50x50, sump 120 l,+zbiornik techniczny 80 l,  oświetlenie-ledy Cree 108W + 2x 54W t5, Aqua Nova 6500, 1xJVP 102+jebao 40,odpieniacz stożek made in sebastek i cała reszta zalane 10.02.2011. Obecnie prawie fisch only

Nigdy się nie tłumacz, przyjaciel tego nie potrzebuje a wróg nie zrozumie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ten wątek jest dość stary. Należy rozważyć rozpoczęcie nowego wątku zamiast ożywienia tego.

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wchodząc do serwisu Nano-Reef, zgadzasz się na warunki Warunki użytkowania.