Tema: Re: Arduinininkai - pagalbon :)
Autorius: Levas
Data: 2015-02-01 22:54:18
del softo nekomentuosiu- nesuprantu as jo :)

Bet is patirties buvo (su paprasta C), kad LCD ekraniukas buvo per 
greitai inicializuojamas (neislaikytos reikiamos pauzes is datasheeto) 
ir pasipildavo tokios nesamones nei nerasymas i eilute. Prisipisau su 
tuo reikalu kelias dienas, nes vistiek, kai kurie LCD streikuodavo.
Poto tas pats bugas islindo ir ARMe.

O workarroudas buvo paprastas- du kartus inicializuoti LCD :)

Tavo arduine:

void setup(){
lcd.begin(16,2);
lcd.begin(16,2);
pinMode(13, OUTPUT);           //Nustatom 13 koją kaip išėjimą
lcd.noCursor();                //Išjungiam kursorių
}

Nezinau ar tai ta pati beda, bet pasakoju kaip cia man gavosi :)


On 2015.02.01 21:32, Shadowed wrote:
> jo jo zinau, tipo ne lygis Arduino programint ir t.t. Bet pasiemiau
> pazaist, pramankstint smegenus. Vienok ne viskas eina taip kaip is
> pypkes. del to prasau pagalbos ir patarimo. Schema paprasta, prie UNO
> prijungiau 2x16 LCD (dviem laidais), ir uzkabinau pora potencu. Beda -
> niekaip nepriverciu dirbti antros eilutes. Pries tai buvau uzkabines LCD
> normaliai, 7 laidais, viskas veikia, bet reikejo gi man pabandyt pazaist
> su registru. Schema prisegiau, ten Attainis, bet vietoj jo dabar dirba
> UNO. Pavyzdziu atrodo pilna, bet nedaeina kodel neveikia antra eilute
> (netgi tas pavyzdinis kodas is LiquidCrystal bibliotekos pavyzdzio
> gliucina, antroje eiluteje rodo visokius kringelius, be ne tuos
> zmogeliukus kur tipo turetu, bet antra eilute bent jau rodo). Dar
> klausimas - be "#include <Wire.h>" apsipila klaidom. nesuprantu kodel,
> sito lyg ir nereiktu inkludint... Programke paprasta, nuskaito dvieju
> patencu sliauziklio padetis nu ir jei vienas pasuktas daugiau uz kita
> uzdega LEDuka. Jau taip lementoriska... Sita programke veikia, viska
> rodo pirmoje eiluteje, bet pakeitus i lcd.setCursor (x,1) antroje
> eiluteje tuscia... (x zinoma nepalieku, ten reikalinga stulpeli ikabinu).
>
>
> #include <Wire.h>
> #include <LiquidCrystal_SR.h>
>
> LiquidCrystal_SR lcd(8,7,TWO_WIRE);
>
>   int analogPin1 = 0;
>   int analogPin2 = 1;
>   int sv_pot = 0;
>   int LDR = 0;
>
> void setup(){
>
>   lcd.begin(16,2);               //LCD inicializavimas
>   pinMode(13, OUTPUT);           //Nustatom 13 koją kaip išėjimą
>   lcd.noCursor();                //Išjungiam kursorių
> }
>
> void loop(){
>
>   lcd.setCursor (0,0);            //Nustatom, kur rašysim sv_pot vertę
>   sv_pot = (analogRead(analogPin1)); // skaiciuojam daliklio itampa 5V =
> 1023 ir priskiriam reikšmę sv_pot
>   lcd.print(sv_pot);              //Rašom į ekraną sv_pot vertę
>   lcd.setCursor (4,0);            //Nustatom, kur rašysim "svie"
>   lcd.print("svie");              //Rašom ekrane sutrumpinimą "svie"
>
>
>   lcd.setCursor (9,0);            //Nustatom, kur rašysim LDR vertę
>   LDR = (analogRead(analogPin2)); //Skaiciuojam daliklio itampa 5V =
> 1023 ir priskiriam reikšmė LDR
>   lcd.print(LDR);                 //Rašom į ekraną LDR vertę
>   lcd.setCursor (13,0);           //Nustatom, kur rašysim "pot"
>   lcd.print("pot");               //Rašom ekrane sutrumpinimą "pot"
>
>   delay (250);                    //Laukiam ketvirtį sekundės
>
>   if (sv_pot > LDR)
>         digitalWrite(13, HIGH);   //LEDuko įjungimas
>   else
>         digitalWrite(13, LOW);    //Išjungiam LEDą, jeigu vieno potenco
> reikšmė mažesnė už kito
>   lcd.clear ();                   //Išvalom ekraną kiekvieno LOOP ciklo
> pabaigoje
> }

-- 
Bye, Levas

--
http://www.vabolis.lt