Cómo montar una LCD en su BrazilFW

Cómo montar una LCD en su BrazilFW

Mensagempor lvr » Sáb Jul 05, 2008 2:21 am

saludos este es mi pequeño aporte mi portuges no es muy bueno que digamos pero con la ayuda de don GOOGLE salio esto que es solo una traduccion basica ;-)


Cómo montar una LCD en su BrazilFW

Título Original: Como montar um L.C.D.para seu BrazilFW

Autor: Marcelo - Brazil

Revisado em 17/06/2008

Cómo montar un LCDpara su BrazilFW.
el software y sus vínculos para descargar estan al final de esta página.

Todo lo que necesitas para comprender, instalar y ejecutar.
Con una pantalla de cristal líquido en su BFW, tendrá información en tiempo real, velocidad de descarga, carga, carga sobre el procesador
uso de memoria y hasta los tiempos!

Como segunda opción, lcd4linux También esta disponible, pero en mi opinión, aunque más activo, el lcdstats es más útil y funcional.

*** Alerta ***

Tenga la certesa que puede hacer frente a los circuitos electrónicos.
No soy responsable por daños a su ordenador o LCD
Todos los ejemplos aquí descritos han sido probados.
Entienda que este producto debe ser instalado por un profesional.

1) Elija su LCD: (preferiblemente una compatible con HD44780).
Ejemplos de LCD:

Imagem

Imagem


2) Usar esta tabla como referencia:
Imagem

Preste mucha atención a la imagen de el conector de la impresora.
(Vea los números de los pines en el interior del plástico)
Imagem

3), placa de circuito impreso ( ejemplo).
Imagem

4) Utilice este cableado (RASA) pora un LCD (2x16, 2x20, 4x16, 4x20):
Imagem

5) Utilice este cableado (RASA) para dos monitores LCD: (dos 2x16 o dos 4x20)
Imagem

6) Utilice este cableado (RASA) para tres LCD: (* No se ha probado aún *)
Imagem
7) Use este cableado para control digital de la luz de fondo (usando el comando -> \ 033 \ [b (Backlight LIGA /DESLIGA)
Imagem

8) Primera imagen en la pantalla de cristal líquido = energía y cableado correctos
Imagem

9) La pantalla de cristal líquido en un servidor BFW.
Imagem
Imagem

10) Alternativas.
Si usted no tiene un potenciômetro de 100 ohms, puede utilizar una resistencia de 50 ohmios en serie en el cable de +5
(Esto previene contra la super calefacción a causa de la retroiluminación LED trabaja en torno a +4,2 voltios).
Si no dispone de un potenciômetro de 10k para controlar el contraste, ponga esta terminal conectada a tierra, por lo tanto el contrasteestara al máximo, no es lo ideal, pero se puede ver correctamente .
Imagem

11) Otros ejemplos: Referencia de connecion de pantalla LCD que funciona como "Analizador de espectro" de WinAmp.
Imagem
Imagem
12) Software (Acerca de lcd4linux, véase más adelante)
Este nuevo sysinfo.tgz incluye cambios en el "Marcio" (MPG, gracias!) Y varias aciertos / modificaciones de "Claudio", (gracias amigo!).

Instalelo y diviertase !! dancing

Instalación:

1) Copie el sysinfo.tgz, lcdstats.tgz y lcd.tgz en el disquete desu BrazilFW y reinicie el sistema,

2) O con un disco de arranque, y copie estos archivos a su disco duro y reinicie el sistema,

3) O si no quieres que reiniciar desde la consola y haga lo siguiente:


Código: Selecionar todos
CD /


Código: Selecionar todos
mount /dev/fd0 /mnt


Código: Selecionar todos
tar zxvf /mnt/sysinfo.tgz


Código: Selecionar todos
tar zxvf /mnt/lcdstats.tgz


Código: Selecionar todos
tar zxvf /mnt/lcd.tgz


Código: Selecionar todos
umount /mnt


Código: Selecionar todos
/etc/rc.d/pkgs/rc.sysinfo


Importante: Si su pantalla no es el estándar 2x16 (2 líneas con 16 caracteres cada una) tendrá que cambiar el archivo mod.lcd a fin de que los textos se muestren correctamente en una pantalla LCD fuera de estos parámetros.

Haga esto: con todos los add-ons instalado ejecute:

Código: Selecionar todos
edit etc/rc.d/pkgs/mod.lcd


Usted tendrá la siguiente pantalla:

Código: Selecionar todos
#Instaling Parallel Port Support
insmod /lib/parport/parport.o
insmod /lib/parport/parport_pc.o

#Installing LCD Support

#You must enable only one of the tree modules below
#If you want to save some space you can delete the unused modules
#from the folder /lib/lcd

#insmod /lib/lcd/lcd.o       io=0x378 disp_rows=2 disp_cols=16 # Standard Wiring
insmod /lib/lcd/lcd-rasa.o io=0x378 disp_rows=2 disp_cols=16 # Rasa Wiring
#insmod /lib/lcd/lcd-8bit.o io=0x378 disp_rows=2 disp_cols=16 # 8 Bits Wiring

#You can change the parameters above if your lcd display
#is not a 2X16 caracters or is not pluged to the first parallel port


Cambie en el archivo el número de líneas (ROWA) y columnas (COLS)
Si se utiliza otro puerto paralelo, cambie la dirección 378.


4) En Webadmin vea las Estadísticas de uso de ancho de banda,Estos son gráficos sobre el volumen del tráfico en tiempo real y una historia de un máximo de 24 horas.
Imagem

13) Lcdstats & Bwmon funcionamiento
Imagem
Imagem

Como puede ver, en la imagen se muestra en la pantalla como en el caso de caída o el valor de "DOWN" en el momento.

Configuración original: D = Download(descarga) U= Upload(subida)
Mem= Uso de la memoria en%
y la carga del procesador Ld = (1,00 = 100%, 0,10 = 10%)


14) Linux Scripts
Puede cambiar esta información con la edicion de lcdstats.tgz

En la consola de tipee:


Código: Selecionar todos
edit /usr/bin/lcdstats


El script de Lcdstats se muestra a continuación.

Código: Selecionar todos
#!/bin/sh

while [ 1 ] ; do
BW_IN=DOWN
BW_OUT=DOWN

LOADAVG_1MIN=`cat /proc/loadavg | cut -f 1 -d ' '`
MEMTOTAL=`free | grep Mem | sed s/\ */#/g | cut -f 3 -d '#'`
MEMUSED=`free | grep Mem | sed s/\ */#/g | cut -f 4 -d '#'`
PERCUSED=$((MEMUSED*100/MEMTOTAL))

. /tmp/netsubsys.state
if [ "$INET_UP" = "UP" ] ; then
if [ -e /tmp/bwmon.log ] ; then
bwstats > /tmp/bwstats.log
if [ $? = 0 ] ; then
if [ -e /tmp/bwstats.log ] ; then
. /tmp/bwstats.log
BW_IN=$BW_CUR_DOWN_K
BW_OUT=$BW_CUR_UP_K
fi
fi
fi
fi

# And send it to the LCD
echo -ne "\033[H\033[J" > /dev/lcd
echo -ne "D:${BW_IN} U:${BW_OUT}\r\n" > /dev/lcd
echo -ne "Mem:$PERCUSED% Ld:$LOADAVG_1MIN" > /dev/lcd

# Wait a bit
sleep 3
done


15) Lcd4linux

Imagem

Sí, nos adaptamos nuestro lcd4linux para BrazilFW.
Esta parte está en construcción, peropuede tomar lcd4linux.tgz
aquí:lcd4linux.tgz


*** Nota, el lcd4linux no se puede instalar junto con el lcdstats. ***


El gif abajo da la imagen exacta de cómo este software está activo
Imagem

A continuación algunas imágenes de Lcd4linux funcionamiento.
Imagem
Imagem

A continuación la secuencia de comandos de la configuración original de la creación de "iconos" de lcd4linux

Código: Selecionar todos
Display HD44780 {
Driver 'HD44780'
Model 'generic'
Port '/dev/parport0'
Size '16x2'
Icons 5
Wire {
RW 'AUTOFD'
RS 'INIT'
ENABLE 'STROBE'
ENABLE2 'GND'
GPO 'GND'
}
}

Widget OS {
class 'Text'
expression '*** '.uname('sysname').' '.uname('release').' ***'
width 20
align 'M'
speed 100
update tick
}

Widget CPU {
class 'Text'
expression uname('machine')
prefix 'CPU '
width 9
align 'L'
update tick
}


Widget RAM {
class 'Text'
expression meminfo('MemTotal')/1024
postfix ' MB RAM'
width 11
precision 0
align 'R'
update tick
}

Widget Busy {
class 'Text'
expression proc_stat::cpu('busy', 500)
prefix 'Busy'
postfix '%'
width 10
precision 1
align 'R'
update tick
}

Widget BusyBar {
class 'Bar'
expression proc_stat::cpu('busy', 500)
expression2 proc_stat::cpu('system', 500)
length 10
direction 'E'
update tack
}

Widget Load {
class 'Text'
expression loadavg(1)
prefix 'Load'
postfix loadavg(1)>1.0?'!':' '
width 10
precision 1
align 'R'
update tick
}

Widget LoadBar {
class 'Bar'
expression loadavg(1)
max 2.0
length 10
direction 'E'
update tack
}


Widget Disk {
class 'Text'
# disk.[rw]blk return blocks, we assume a blocksize of 512
# to get the number in kB/s we would do blk*512/1024, which is blk/2
# expression (proc_stat::disk('.*', 'rblk', 500)+proc_stat::disk('.*', 'wblk', 500))/2
# with kernel 2.6, disk_io disappeared from /proc/stat but moved to /proc/diskstat
# therefore you have to use another function called 'diskstats':
expression diskstats('hd.', 'read_sectors', 500) + diskstats('hd.', 'write_sectors', 500)
prefix 'disk'
postfix ' '
width 10
precision 0
align 'R'
update tick
}

Widget DiskBar {
class 'Bar'
#expression proc_stat::disk('.*', 'rblk', 500)
#expression2 proc_stat::disk('.*', 'wblk', 500)
# for kernel 2.6:
expression diskstats('hd.', 'read_sectors', 500)
expression2 diskstats('hd.', 'write_sectors', 500)
length 14
direction 'E'
update tack
}

Widget Eth0 {
class 'Text'
expression (netdev('eth0', 'Rx_bytes', 500)+netdev('eth0', 'Tx_bytes', 500))/1024
prefix 'eth0'
postfix ' '
width 10
precision 0
align 'R'
update tick
}

Widget Eth0Bar {
class 'Bar'
expression netdev('eth0', 'Rx_bytes', 500)
expression2 netdev('eth0', 'Tx_bytes', 500)
length 14
direction 'E'
update tack
}

Widget PPP {
class 'Text'
expression (ppp('Rx:0', 500)+ppp('Tx:0', 500))
prefix 'PPP'
width 9
precision 0
align 'R'
update tick
}

Widget Temp {
class 'Text'
expression i2c_sensors('temp_input3')*1.0324-67
prefix 'Temp'
width 9
precision 1
align 'R'
update tick
}

Widget TempBar {
class 'Bar'
expression i2c_sensors('temp_input3')*1.0324-67
min 40
max 80
length 10
direction 'E'
update tack
}


Widget Uptime {
class 'Text'
expression uptime('%d days %H:%M:%S')
width 20
align 'R'
prefix 'Up '
update 1000
}


Widget BarTest {
class 'Bar'
# test::bar(barno,maxval,startval,delta) - move a test value between 0 and max.
# delta= step to change value by each time it's read.
# barno - ten different test bar values can be set up, with barno=0..9
# if delta=0, just returns the value of bar n instead of changing it.
expression test::bar(0,30,25,1)
expression2 test::bar(1,30,0,1)
length 6
max 50
direction 'E'
update 10
}

Widget BarTestVal {
class 'Text'
expression test::bar(0,100,50,0)
prefix 'Test '
width 9
update 200
}

Widget LightningTest {
class 'icon'
speed 500
visible test::onoff(0)
bitmap {
row1 '...***'
row2 '..***.'
row3 '.***..'
row4 '.****.'
row5 '..**..'
row6 '.**...'
row7 '**....'
row8 '*.....'
}
}


# Icons

Widget Heartbeat {
class 'Icon'
speed 800
Bitmap {
Row1 '.....|.....'
Row2 '.*.*.|.*.*.'
Row3 '*****|*.*.*'
Row4 '*****|*...*'
Row5 '.***.|.*.*.'
Row6 '.***.|.*.*.'
Row7 '..*..|..*..'
Row8 '.....|.....'
}
}

Widget EKG {
class 'Icon'
speed 50
Bitmap {
Row1 '.....|.....|.....|.....|.....|.....|.....|.....'
Row2 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
Row3 '.....|....*|...*.|..*..|.*...|*....|.....|.....'
Row4 '.....|....*|...**|..**.|.**..|**...|*....|.....'
Row5 '.....|....*|...**|..**.|.**..|**...|*....|.....'
Row6 '.....|....*|...*.|..*.*|.*.*.|*.*..|.*...|*....'
Row7 '*****|*****|****.|***..|**..*|*..**|..***|.****'
Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
}
}
Widget Karo {
class 'Icon'
speed 200
Bitmap {
Row1 '.....|.....|.....|.....|..*..|.....|.....|.....'
Row2 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
Row3 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
Row4 '.....|..*..|.*.*.|*...*|.....|*...*|.*.*.|..*..'
Row5 '.....|.....|..*..|.*.*.|*...*|.*.*.|..*..|.....'
Row6 '.....|.....|.....|..*..|.*.*.|..*..|.....|.....'
Row7 '.....|.....|.....|.....|..*..|.....|.....|.....'
Row8 '.....|.....|.....|.....|.....|.....|.....|.....'
}
}
Widget Heart {
class 'Icon'
speed 250
Bitmap {
Row1 '.....|.....|.....|.....|.....|.....'
Row2 '.*.*.|.....|.*.*.|.....|.....|.....'
Row3 '*****|.*.*.|*****|.*.*.|.*.*.|.*.*.'
Row4 '*****|.***.|*****|.***.|.***.|.***.'
Row5 '.***.|.***.|.***.|.***.|.***.|.***.'
Row6 '.***.|..*..|.***.|..*..|..*..|..*..'
Row7 '..*..|.....|..*..|.....|.....|.....'
Row8 '.....|.....|.....|.....|.....|.....'
}
}
Widget Blob {
class 'Icon'
speed 250
Bitmap {
Row1 '.....|.....|.....'
Row2 '.....|.....|.***.'
Row3 '.....|.***.|*...*'
Row4 '..*..|.*.*.|*...*'
Row5 '.....|.***.|*...*'
Row6 '.....|.....|.***.'
Row7 '.....|.....|.....'
Row8 '.....|.....|.....'
}
}
Widget Wave {
class 'Icon'
speed 100
Bitmap {
Row1 '..**.|.**..|**...|*....|.....|.....|.....|.....|....*|...**'
Row2 '.*..*|*..*.|..*..|.*...|*....|.....|.....|....*|...*.|..*..'
Row3 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
Row4 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
Row5 '*....|....*|...*.|..*..|.*...|*....|....*|...*.|..*..|.*...'
Row6 '.....|.....|....*|...*.|..*..|.*..*|*..*.|..*..|.*...|*....'
Row7 '.....|.....|.....|....*|...**|..**.|.**..|**...|*....|.....'
Row8 '.....|.....|.....|.....|.....|.....|.....|.....|.....|.....'
}
}
Widget Squirrel {
class 'Icon'
speed 100
Bitmap {
Row1 '.....|.....|.....|.....|.....|.....'
Row2 '.....|.....|.....|.....|.....|.....'
Row3 '.....|.....|.....|.....|.....|.....'
Row4 '**...|.**..|..**.|...**|....*|.....'
Row5 '*****|*****|*****|*****|*****|*****'
Row6 '...**|..**.|.**..|**...|*....|.....'
Row7 '.....|.....|.....|.....|.....|.....'
Row8 '.....|.....|.....|.....|.....|.....'
}
}

Widget Lightning {
class 'icon'
speed 100
visible cpu('busy', 500)-50
bitmap {
row1 '...***'
row2 '..***.'
row3 '.***..'
row4 '.****.'
row5 '..**..'
row6 '.**...'
row7 '**....'
row8 '*.....'
}
}

Widget Rain {
class 'icon'
speed 200
bitmap {
row1 '...*.|.....|.....|.*...|....*|..*..|.....|*....'
row2 '*....|...*.|.....|.....|.*...|....*|..*..|.....'
row3 '.....|*....|...*.|.....|.....|.*...|....*|..*..'
row4 '..*..|.....|*....|...*.|.....|.....|.*...|....*'
row5 '....*|..*..|.....|*....|...*.|.....|.....|.*...'
row6 '.*...|....*|..*..|.....|*....|...*.|.....|.....'
row7 '.....|.*...|....*|..*..|.....|*....|...*.|.....'
row8 '.....|.....|.*...|....*|..*..|.....|*....|...*.'
}
}

Widget Test {
class 'Text'
expression '1234567890123456789012345678901234567890'
#expression '|'
width 40
}


Layout L16x2 {
Row1 {
Col1 'Busy'
Col11 'BusyBar'
}
# Row2 {
# Col1 'Disk'
# Col11 'DiskBar'
# Col11 'BarTest'
# }
Row2 {
Col1 'Heartbeat'
Col2 'EKG'
Col3 'Karo'
Col4 'Heart'
Col5 'Blob'
# Col6 'Wave'
# Col7 'Squirrel'
}
}

Display 'HD44780'

Layout 'L16x2'

Variables {
tick 500
tack 100
minute 60000
}


Tema de scripts modificados para lcdstats:

Tema de scripts modificados para lcd4linux:


¿Quiere mostrar su CASE BFW para el personal del foro?

Tema de imágenes de MOD BFW CASE:



====================================================

Software: (haga clic en el nombre del archivo para descargarlo)

lcdstats.tgz

lcd.tgz

sysinfo.tgz

lcd4linux.tgz


Atención, Internet Explorer puede cambiar el nombre de los archivos .TGZ . TAR al ser descargados si esto ocurre, cambie el nombre a . Tgz

En caso de duda, estoy en el foro, Marcelo - Brasil

Título Original: Como montar um L.C.D.para seu BrazilFW

Autor: Marcelo - Brazil

Revisado em 17/06/2008

====================================================
Saludos y suerte
lvr
 

Voltar para Varios tutoriales

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes