Sida 2 av 4

Re: Nickes LCD-projekt.

Postat: 27 okt 2008, 13:40
av elf98
Det skall vara 2st dioder till bakgrundsbelysningen. Den ena på din display är trasig och det kanske är så att den andra får lite för mycket ström nu.
LCD.jpg
Fakta: Det är även lite ljusskillnad i en hel display.

Re: Nickes LCD-projekt.

Postat: 27 okt 2008, 15:10
av Niklas
elf98 skrev:Det skall vara 2st dioder till bakgrundsbelysningen. Den ena på din display är trasig och det kanske är så att den andra får lite för mycket ström nu.
Det låter troligt. :-)

Re: Nickes LCD-projekt.

Postat: 14 nov 2008, 21:58
av Niklas
Ny och bättre film. :-)


Re: Nickes LCD-projekt.

Postat: 05 mar 2009, 20:57
av HUSKii
Niklas skrev:Jag hittade ett sätt.

#!/bin/bash
while [ 1 ]
do
php -q lcdtemp.php
sleep 15
php -q lcdcal.php
sleep 15
php -q lcdmail.php
sleep 15
done
Skulle man kunna få ta del av lite exempel i php skriptet för att skriva text till LCDn? :?:

Edit: Hur gör ni när ni ska skriva å,ä, ö och ° (grader tecknet) i nano editorn i ubuntu server? Det blir bara en massa mysko tecken för mej.

Re: Nickes LCD-projekt.

Postat: 07 mar 2009, 01:37
av HUSKii
Jag har kommit fram till hu man kan använda ä, ö och gfrader tecknet.

Kod: Markera allt

echo -e "\xDF">/mnt/1wire/FF.*/line20.0
Där DF är det hexadecimala talet för gradertecknet i HD44780 controllerns tecken tabell.
Detta ger följande på rad 1 på displayen: Teckentabell med översättning till hex för HD44780:
Bild

Re: Nickes LCD-projekt.

Postat: 06 aug 2009, 17:14
av HUSKii
elf98 skrev:...
Gällande skräptecknen är det helt enkelt bara att padda lite mellanslag. Jag vet faktiskt inte varför de kommer dit, det är endast på senare batcher av displayer det blir så där.
Jag märkte idag varför det blir lustiga tecken i LCDn, vad jag fattar det som så är det en 'newline' symbol.
För om jag kör:

Kod: Markera allt

echo -n "test" > /mnt/1wire/uncached/FF*/line20.0
Så slipper jag skräptecknena. :D
Parametern '-n' tar tydligen bort 'newline'.

Ville bara dela med mig av detta då jag hade ett svagt minne av att det fanns en gammal tråd där denna frågan om skräptecken var uppe och mycket riktigt, efter en sökning på forumet på 'lcd padda mellanslag' så kom denna tråden upp.

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 14:49
av MartinF
Hej,
tack vare detta forum har jag efter tre dagar som nybliven loggare fått igång det mesta
Men jag har inte funnit någon lösning för skräptecknen som funkar i perl (har inte programmerat på flera år och aldrig i perl så kunskaperna är begränsade). Så här ser koden ut som printar en fyra raders textfil till displayen:

Kod: Markera allt

for($i=0;$i<4;$i++){
	   open DISPLAY, "> /mnt/1wire/uncached/FF.EE0400000100/line20.$i";
	   printf DISPLAY $LCD[$i];
	   close DISPLAY};
Finns någon motsvarighet i perl till Huskii:s lösning med -e?
HUSKii skrev:echo -n "test" > /mnt/1wire/uncached/FF*/line20.0
Inte heller får jag ordning på alla de svenska tecknen, (åtminstone inte ö som i Rökgastemp) kanske har teckentabellen som Huskii lade ut uppdaterats för senare modeller? Men gradertecknet funkar!

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 14:50
av Niklas
MartinF skrev:Hej,
tack vare detta forum har jag efter tre dagar som nybliven loggare fått igång det mesta
Men jag har inte funnit någon lösning för skräptecknen som funkar i perl (har inte programmerat på flera år och aldrig i perl så kunskaperna är begränsade). Så här ser koden ut som printar en fyra raders textfil till displayen:

Kod: Markera allt

for($i=0;$i<4;$i++){
	   open DISPLAY, "> /mnt/1wire/uncached/FF.EE0400000100/line20.$i";
	   printf DISPLAY $LCD[$i];
	   close DISPLAY};
Finns någon motsvarighet i perl till Huskii:s lösning med -e?
HUSKii skrev:echo -n "test" > /mnt/1wire/uncached/FF*/line20.0
Inte heller får jag ordning på alla de svenska tecknen, (åtminstone inte ö som i Rökgastemp) kanske har teckentabellen som Huskii lade ut uppdaterats för senare modeller? Men gradertecknet funkar!
Testa lägg till några mellanslag efter texten du skriver ut så puttas skräptecknet ut från skrämen. Den klarar ju bara ett visst antal tecken. :)

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 16:12
av MartinF
Glömde säga att det har jag prövat. Den fyraradiga textfilen skapas av ett bash-skript som jag inte förmått acceptera avslutande mellanslag. När jag lägger in mellanslag så blir de borta!

Kod: Markera allt

Display="Panntemp: "$PannTemp"°C                            "

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 16:40
av Niklas
MartinF skrev:Glömde säga att det har jag prövat. Den fyraradiga textfilen skapas av ett bash-skript som jag inte förmått acceptera avslutande mellanslag. När jag lägger in mellanslag så blir de borta!

Kod: Markera allt

Display="Panntemp: "$PannTemp"°C                            "
Testa typ

Kod: Markera allt

Display="Panntemp: "$PannTemp"°C                            a"

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 17:23
av MartinF
Går inte. Det verkar vara arrayen som strular till det.

Kod: Markera allt

printf DISPLAY $Test; #Funkar , men bara om den tilldelats text direkt, inte med: $Test = @LCD[$i];
printf DISPLAY "Test"; #Funkar
printf DISPLAY @LCD[$i]; #Funkar inte
Utan arrayen blir det svårt att läsa en flerradig textfil :x
Möjligen kan det ha att göra med hur jag skrivit line-feed i textfilen:

Kod: Markera allt

Display="Skorsten: "$ExhaustTemp"°C\n"
Display=$Display"Tanktemp: "$TankToppTemp" "$TankMittTemp" "$TankBottenTemp"\n"
Display=$Display"Panntemp: "$PannTemp"°C"
Problemet vore löst om jag kunde hoppa över bash och anropa OWFS direkt från perl, men går det tro... :?:

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 17:37
av Niklas
Jadu, jag hoppas någon annan kan hjälpa dig. Jag är väldigt dålig på perl. Jag kör ett PHP-script som skriver data från en mysql-databas till displayen. Mina script som kollar mail osv skriver i sin tur till databasen. Allt är i PHP och körs bl.a. via cron.

Re: Nickes LCD-projekt.

Postat: 11 jan 2010, 19:10
av MartinF
Här är en lösning som funkar i perl:

Kod: Markera allt

for($i=0;$i<4;$i++){
	chomp(@LCD[$i]);
	open DISPLAY, "> /mnt/1wire/uncached/FF.EE0400000100/line20.$i";
	printf DISPLAY @LCD[$i];
	close DISPLAY};
Chomp tar bort Line-feeds och annat i slutet av strängen.
Tack Niklas för hjälpen!

Re: Nickes LCD-projekt.

Postat: 12 jan 2010, 17:18
av MartinF
Ett nytt "olösligt" problem:

Jag skulle vilja använda en av ingångarna till displayen för att tända och släcka. De ackumluerade värdena från displayen kan jag läsa, men alla conters 0-3 och ALL returnerar alltid värdet 0. Jag vet att de nollställs efter varje läsning (inte vid skrivning?). Vad jag provat är att trycka på controllerns knappar och sedan omedelbart läsa värdet på counters, enskilda (0-3) och ALL. Jag har läst dem direkt ur OWFS filsystem och via skript, cached och uncached.

Vad har jag missat?

Fortfarande olöst:
MartinF skrev:Inte heller får jag ordning på alla de svenska tecknen, (åtminstone inte ö som i Rökgastemp) kanske har teckentabellen som Huskii lade ut uppdaterats för senare modeller? Men gradertecknet funkar!

Re: Nickes LCD-projekt.

Postat: 12 jan 2010, 18:59
av Niklas
MartinF skrev:Ett nytt "olösligt" problem:

Jag skulle vilja använda en av ingångarna till displayen för att tända och släcka. De ackumluerade värdena från displayen kan jag läsa, men alla conters 0-3 och ALL returnerar alltid värdet 0. Jag vet att de nollställs efter varje läsning (inte vid skrivning?). Vad jag provat är att trycka på controllerns knappar och sedan omedelbart läsa värdet på counters, enskilda (0-3) och ALL. Jag har läst dem direkt ur OWFS filsystem och via skript, cached och uncached.

Vad har jag missat?

Fortfarande olöst:
MartinF skrev:Inte heller får jag ordning på alla de svenska tecknen, (åtminstone inte ö som i Rökgastemp) kanske har teckentabellen som Huskii lade ut uppdaterats för senare modeller? Men gradertecknet funkar!
Läser du uncached?