<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
 <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 <META NAME="GENERATOR" CONTENT="lfparser_2.43">
 <META NAME="LFCATEGORY" CONTENT="Hardware">
 <link rel="icon" href="../../common/images/lf-16.png" type="image/png">
 <TITLE>lf165, Hardware: Het gebruik van een serieel LCD-scherm onder Linux</TITLE>
<style type="text/css">
<!--
 td.top {font-family: Arial,Geneva,Verdana,Helvetica,sans-serif; font-size:12 }
 pre { font-family:monospace,Courier }
 pre.code { font-family:monospace,Courier;background-color:#aedbe8; }
 p.cl { color:#EE9500 }
 a.nodec { text-decoration:none }
 p.trans { font-size:8pt; text-align:right }
 p.clbox { width:50%; alignment:center; background-color:#FFD700; 
           border-style:none; border-width:medium; border-color:#FFD700; 
           padding:0.5cm;  text-align:center }
 p.code { width:80%; alignment:center; background-color:#aedbe8; 
          border-style:none; border-width:medium; border-color:#aedbe8; 
          padding:0.1cm;  text-align:left }
 p.foot { background-color:#AAAAAA; color:#FFFFFF; border-style:none; 
          border-width:medium; border-color:#AAAAAA; padding:0.5cm ; 
          margin-top:0.1cm; margin-right:1cm; margin-left:1cm; 
          text-align:center }
 .mark  { background-color:#e6e6ff }
-->
</style>
 
</HEAD>
<BODY bgcolor="#ffffff" text="#000000">
 <!-- this is generated html code. NEVER use this file for your
 translation work. Instead get the file with the same article number
 and .meta.shtml in its name. Translate this meta file and then
 use lfparser program to generate the final article -->
 <!-- lfparser can be obtained from http://www.linuxfocus.org/~guido/dev/lfparser.html -->

<!-- this is used by a number of tools:
 =LF=AUTHOR: Guido Socher
 =LF=CAT___: Hardware
 =LF=TITLE_: Het gebruik van een serieel LCD-scherm onder Linux
 =LF=NUMBER: 165
 =LF=ANAME_: article165.shtml
 -->

<!-- 2pdaIgnoreStart -->

<!-- start navegation bar, style=2 -->
 <!-- top navegation bar -->
 <TABLE summary="topbar_1" cellspacing="0" cellpadding="0" border="0" align="center" width="90%">
   <TR bgcolor="#2e2292">
     <TD class="top"><TABLE summary="topbar_1_logo" cellspacing="0" cellpadding="0" border="0" width=
       "100%">
         <TR><TD width="319"><IMG src="../../common/images/logolftop_319x45.gif"
           alt="[LinuxFocus-icon]" width="319" height="45" align="left" 
           border="0"></TD>

           <TD class="top">
             <TABLE summary="topbar_1_links" width="100%">
               <TR align="right">
                 <TD class="top">
                 <A class="nodec" href="index.shtml"><FONT color=
                 "#DDDDDD" size="2">&lt;--</FONT></A> &nbsp;| 
                 <A class="nodec" href="../index.shtml"><FONT color=
                 "#DDDDDD" size="2">Home</FONT></A> &nbsp;| 
                 <A class="nodec" href="../map.html"><FONT color=
                 "#DDDDDD" size="2">Map</FONT></A> &nbsp;| 
                 <A class="nodec" href="../indice.html"><FONT color=
                 "#DDDDDD" size="2">Index</FONT></A> &nbsp;| 
                 <A class="nodec" href="../Search/index.html"><FONT color=
                 "#DDDDDD" size="2">Zoek</FONT></A> </TD>
               </TR>

               <TR align="right">
                 <TD class="top">
                   <HR width="100%" noshade size="1">
                 </TD>
               </TR>
             </TABLE>
           </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end top navegation bar -->
 <!-- blue bar -->
 <TABLE summary="topbar_2" cellspacing="0" cellpadding="0" border="0" align="center"
 width="90%">
   <TR bgcolor="#00ffff">
     <TD><IMG src="../../common/images/transpix.gif" width="1" height=
     "2" alt=""></TD>
   </TR>
 </TABLE>
 <!-- end blue bar -->
 <!-- bottom navegation bar -->
 <TABLE summary="topbar_3" cellspacing="0" cellpadding="0" border="0" align="center"
 width="94%">
   <TR bgcolor="#000000">
     <TD>
       <TABLE summary="topbar_3_links" cellspacing="0" cellpadding="1" border="0" width=
       "100%">
         <TR align="center">
           <TD WIDTH="20%"><A class="nodec" href="../News/index.shtml"><FONT color=
           "#FFFFFF">Nieuws</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Archives/index.html"><FONT color=
           "#FFFFFF">Archieven</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../Links/index.html"><FONT color=
           "#FFFFFF">Links</FONT></A> </TD>
           <TD WIDTH="5%"><FONT color="#FFFFFF">|</FONT> </TD>
           <TD WIDTH="20%"><A class="nodec" href="../aboutus.html"><FONT color=
           "#FFFFFF">Over LF</FONT></A> </TD>
         </TR>
       </TABLE>
     </TD>
   </TR>
 </TABLE>
 <!-- end bottom navegation bar -->
<!-- stop navegation bar -->

<!-- SSI_INFO -->

<!-- tr_staticssi include virtual -->
<!-- tr_staticssi exec cmd -->
<!-- addedByLfdynahead ver 1.4 --><TABLE ALIGN="right" border=0><TR><TD ALIGN="right"><FONT SIZE="-1" FACE="Arial,Helvetica">Dit document is beschikbaar in: <A href="../../English/July2000/article165.shtml">English</a> &nbsp;<A href="../../Castellano/July2000/article165.shtml">Castellano</a> &nbsp;<A href="../../Deutsch/July2000/article165.shtml">Deutsch</a> &nbsp;<A href="../../Francais/July2000/article165.shtml">Francais</a> &nbsp;<A href="../../Italiano/July2000/article165.shtml">Italiano</a> &nbsp;<A href="../../Nederlands/July2000/article165.shtml">Nederlands</a> &nbsp;<A href="../../Russian/July2000/article165.shtml">Russian</a> &nbsp;<A href="../../Turkce/July2000/article165.shtml">Turkce</a> &nbsp;<A href="../../Korean/July2000/article165.shtml">Korean</a> &nbsp;</FONT></TD></TR></TABLE><br>
 


<!-- SSI_INFO STOP -->
<!-- 2pdaIgnoreStop -->

<!-- SHORT BIO ABOUT THE AUTHOR -->
<TABLE ALIGN=LEFT BORDER=0  WIDTH="190" summary="about the author">
<TR>
<TD>

<img src="../../common/images/Guido-S.gif" alt="[Guido Socher]" height="164" width="173">
<BR>door  Guido Socher <br> <small>&lt;guido.socher/at/linuxfocus.org&gt;</small>
<BR><BR>
<I>Over de auteur:</I><BR>
<!-- aboutauthor_start -->
<p>Guido is al heel lang Linux fan. Zijn home page is vinden op <a
href="http://www.oche.de/~bearix/g/">www.oche.de/~bearix/g/</a>.</p>
<!-- aboutauthor_stop -->
<!-- TRANSLATED TO nl -->
<BR><BR><I>Vertaald naar het Nederlands door:</I><BR>
Guus Snijders <small>&lt;ghs/at/linuxfocus.org&gt;</small>
<br>
<!--
 =LF=TRANSTO=nl: Guus Snijders
-->
<!-- TRANSLATED TO STOP -->
<BR><i>Inhoud</i>:
<UL>
  <LI><A HREF="#165lfindex0">Introductie</A></LI>
  <LI><A HREF="#165lfindex1">De installatie</A></LI>
  <LI><A HREF="#165lfindex2">Het LCD scherm gebruiken</A></LI>
  <LI><A HREF="#165lfindex3">Systeeminfo naar de display schrijven</A></LI>
  <LI><A HREF="#165lfindex4">Waar kan ik de BLC2021 verkrijgen?</A></LI>
  <LI><A HREF="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=165">Talkback voor dit artikel</A></LI>
</UL>

</TD></TR></TABLE>
<!-- HEAD OF THE ARTICLE -->
<br>&nbsp;
<table border="0"><tr><td>
<H2>Het gebruik van een serieel LCD-scherm onder Linux</H2>
 <img src="../../common/images/illustration165.gif" alt="[Illustratie]" hspace="10" height="80" width="250">
<!-- ABSTRACT OF THE ARTICLE -->
<P><i>Kort</i>:
<P>
<!-- articleabstract_start -->

Dit artikel laat zien hoe je een 'BLC2021 PC-Bay Insert' serieel scherm
van Matrix Orbital kunt gebruiken onder Linux. De BLC2021 is een klein dot
matrix LCD display, dat zeer eenvoudig te gebruiken is en geen extra
controller of gecompliceerde driver nodig heeft.


<!-- articleabstract_stop -->

<br><!-- HR divider --><center><font color="#8282e0"><b>_________________ _________________ _________________</b></font></center><br>
</td></tr></table>
<!-- BODY OF THE ARTICLE -->


<A NAME="165lfindex0">&nbsp;</A>
<H2>Introductie</H2>


<p>Met een beetje hobbyisme kun je je oude PC gebruiken als een MP3 speler
voor in de woonkamer, om de centrale verwarming in huis aan te sturen of
inzetten als een intranet server. De mogelijkheden zijn bijna eindeloos. In
deze gevallen zou het prettig zijn de computer in een kleine metalen kast te
hebben, zonder grote monitor en keyboard. In plaats daarvan zou je een klein
LCD schermpje hebben dat de titel van het huidige nummer van de MP3 speler,
de temperatuur van de thermostaat, of de status van je server weergeeft.</p>

<p>De LCD displays van <a href="http://www.matrix-orbital.com/">matrix-orbital</a> zijn ideaal voor
zulke toepassingen.</p>

<p>LCD's en computer electronica zijn vaak behoorlijk gevoelige dingen. Een
LCD verkeerd - of met een te hoog voltage - aansluiten  kan je display gemakkelijk
beschadigen. In dit artikel presenteren we de BLC2021 PC bay voor op de
seri&euml;le poort, omdat deze zeer eenvoudig te installeren is, en de nodige
kabels meegeleverd heeft. Het enige dat je nodig
hebt om de BLC2021 te installeren is een kleine schroevendraaier. Dankzij de
kant-en-klare kabels en connectoren die bij de BLC2021 worden meegeleverd, kan
er bijna niks meer misgaan.</p>

<A NAME="165lfindex1">&nbsp;</A>
<H2>De installatie</H2>


<p>De BLC2021 wordt met alle benodigde kabels geleverd en past in een 5.25
inch PC slot. Je moet de voeding aansluiten op de interne voeding van de PC en
de platte kabel (<em>flat cable</em>) op een RS232 seri&euml;le poort. Een mogelijkheid om
dit te doen, is met de kabel door een leeg slot aan de achterkant v/d pc te gaan
en dan aan te sluiten op de externe RS232 connector.</p>

<p>Matrix-orbital levert driver software op een floppy. Deze bevat <a
href="http://lcdproc.omnipotent.net/">lcdproc-0.3.3</a> voor Linux. Het is
GPL software en is beschikbaar als broncode op de floppy. Alleen is
lcdproc-0.3.3 geschreven voor displays met 4 regels en de BLC2021 heeft er
slechts 2. Daardoor is het mogelijk dat de display knippert. <br>
Recentere versies van lcdproc lijken bruikbaar met tweeregelige schermen,
maar dat heb ik nog niet getest.</p>

<p><a href="http://lcdproc.omnipotent.net/">lcdproc</a> is bedoeld om op
bepaalde tijden systeeminformatie weer te geven zoals uptime en geheugengebruik.
<br>In dit artikel zullen we lcdproc niet gebruiken.  We zullen een meer
algemenee manier laten zien om informatie op een lcd weer te geven. Het
gebruik van het scherm is heel eenvoudig en eigenlijk heb je geen
gecompliceerde driver software nodig voor Linux. Het enige dat je hoeft te
doen is de seri&euml;le poort correct te initialiseren, en dan kun je zelfs een
eenvoudig shell script gebruiken om de LCD display aan te sturen. De rest van
dit artikel legt uit hoe dit in z'n werk gaat.</p>

<A NAME="165lfindex2">&nbsp;</A>
<H2>Het LCD scherm gebruiken</H2>

De BLC2021 is in staat normale ASCII karakters vanaf de seri&euml;le lijn te
lezen, maar voordat je dat kunt, moet je eerst de seri&euml;le lijn initialiseren:

<p></p>
<ol>
  <li>Download het mtxorb programma (<a
    href="../../common/src/article165/mtxorb-0.2.tar.gz">mtxorb-0.2.tar.gz</a>)
    en pak het het uit met <tt>tar zxvf mtxorb-0.2.tar.gz</tt> (let op dat
    sommige browsers .gz bestanden uitpakken tijdens het downloaden, maar
    niet hernoemen naar mtxorb-0.2.tar. Gebruik in dat geval <tt>tar xvf
    mtxorb-0.2.tar.gz</tt>).</li>
  <li>Compileer het: cd mtxorb-0.2; make</li>
  <li>Cre&euml;er een softlink naar het device waar de LCD display op aan is
    gesloten: <br>
    <tt>cd /dev; ln -s ttyS0 lcd ����(voor de eerste seri&euml;le poort, COM1)</tt><br>
    <tt>cd /dev; ln -s ttyS1 lcd ����(voor de tweede seri&euml;le poort, COM2)</tt><br>
  </li>
  <li>Mtxorb neemt aan dat je de jumpers op de display hebt insgesteld op een
    lijnsnelheid van 19200 baud. Dit is de standaard (fabrieks) instelling
    voor de BLC2021.</li>
  <li>Gebruik het commando mtxorb om de seri&euml;le lijn te initialiseren:<br>
    <tt>mtxorb /dev/lcd</tt><br>
  </li>
</ol>

<p>Nu is de display klaar voor gebruik. Hier is een klein <a
href="../../common/src/article165/countup.html">voorbeeld</a> van een perl
script dat een teller weergeeft die elke seconde optelt:</p>

<table border="0" bgcolor="#ffB511">
  <tbody>
    <tr>
      <td><pre>#!/usr/bin/perl -w
open(LCD,"&gt;/dev/lcd")||die "ERROR: can not write to /dev/lcd\n";
$|=1;
my $i=0;
while(1){
    $i++;
    print LCD chr(0xFE),"X"; # clear the display
    print LCD "Count $i\n";
    sleep(1);
}
close LCD;</pre>
      </td>
    </tr>
  </tbody>
</table>
<br>
De BLC2021 begrijpt een paar commando's. Om in de 'command mode' te komen,
stuur je het hexadecimaal karakter FE naar de display en daarna het eigenlijke
commando karakter. Het commando X wist het scherm. De commando's staan
beschreven in de kleine handleiding die bij het scherm wordt
geleverd. Er zijn bijv. commando's om het contrast te regelen, de
achtergrondverlichting in/uit te schakelen, en om je eigen karakters te maken.

<A NAME="165lfindex3">&nbsp;</A>
<H2>Systeeminfo naar de display schrijven</H2>


<p>Zoals eerder gezegd is het mogelijk om systeeminfo zoals swap,
geheugengebruik en systeembelasting weer te geven. Dit kan bijvoorbeeld
met behulp van een programma als <a href="http://lcdproc.omnipotent.net/">
lcdproc</a>.</p>

<p>Een andere mogelijkheid is om gebruik te maken van het eerder genoemde
mtxorb programma, en dan een scriptje te schrijven. De uptime kun je uitlezen
uit /proc/uptime, swapgebruik uit /proc/meminfo en systeembelasting uit
/proc/loadavg. Dat is exact wat dit perl script,
<a href="../../common/src/article165/lcdwriter.html">lcdwriter</a> genaamd,
doet. Omdat het een script is, kun je het makkelijk aanpassen, zodat het ook
andere dingen kan weergeven.</p>

<A NAME="165lfindex4">&nbsp;</A>
<H2>Waar kan ik de BLC2021 verkrijgen?</H2>


<p>Matrix Orbital lijkt een typisch voorbeeld te zijn van een bedrijf met
goede producten, maar slechte marketing. De LCD display die ze me wilden
sturen is nooit aangekomen. Op de website van Matrix Orbital is een <a
href="http://www.matrix-orbital.com/distributors.htm">lijst van
distributeurs</a> te vinden. Voor Duitsland is dit bijv. "Elektronikladen.de"
welke deze displays verkoopt. Ik bestelde er een, en kreeg hem binnen de 24 uur
aan. Zeer snelle service! De lijst van
<a href="http://www.matrix-orbital.com/distributors.htm">distributeurs</a>
bevat uiteraard ook adressen van verkopers in andere landen. De prijs van de
BLC2021 is iets minder dan 100 Euro.</p>


<!-- vim: set sw=2 ts=2 et: -->

<!-- 2pdaIgnoreStart -->
<A NAME="talkback">&nbsp;</a>
<h2>Talkback voor dit artikel</h2>
Elk artikel heeft zijn eigen talkback pagina. Daar kan je commentaar geven of commentaar van anderen lezen:
<center>
<table border="0"  CELLSPACING="2" CELLPADDING="1" summary="tb-button-outerpart">
 <tr BGCOLOR="#C2C2C2"><td align=center>
  <table border="3"  CELLSPACING="2" CELLPADDING="1" summary="tb-button">
   <tr BGCOLOR="#C2C2C2"><td align=center>
    <A href="http://cgi.linuxfocus.org/cgi-bin/lftalkback?anum=165"><b>&nbsp;talkback pagina&nbsp;</b></a>
   </td></tr></table>
</td></tr></table>
</center>

<HR size="2" noshade>
<a style="background-color:#bdc6d5" href="index.shtml">&lt;--, Terug naar de titelpagina van dit nummer </a><br><HR size="2" noshade>
<!-- ARTICLE FOOT -->
<CENTER><TABLE WIDTH="98%" summary="footer">
<TR><TD ALIGN=CENTER BGCOLOR="#bdc6d5" WIDTH="50%">
<A HREF="../../common/lfteam.html">Site onderhouden door het LinuxFocus editors team</A>
<BR><FONT COLOR="#FFFFFF">&copy; Guido Socher, <a href="../../common/copy.html">FDL</a> <BR><a href="http://www.linuxfocus.org">LinuxFocus.org</a></FONT>
</TD>
<TD BGCOLOR="#bdc6d5">
<!-- TRANSLATION INFO -->
<font size=2>Vertaling info:</font>
<TABLE summary="translators">
  <tr><td><font size="2">en --&gt; -- : Guido Socher <small>&lt;guido.socher/at/linuxfocus.org&gt;</small></font></td></tr>
  <tr><td><font size="2">en --&gt; nl: Guus Snijders &lt;ghs/at/linuxfocus.org&gt;</font></td></tr>
</TABLE>
</TD>
</TR></TABLE></CENTER>
<p><font size=1>2004-03-03, generated by lfparser version 2.43</font></p>
<!-- 2pdaIgnoreStop -->
</BODY>
</HTML>