<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zInformatik &#187; Mikrocontroller und Elektronik</title>
	<atom:link href="http://zinformatik.de/category/mikrocontroller-elektronik/feed/" rel="self" type="application/rss+xml" />
	<link>http://zinformatik.de</link>
	<description>Computer, Informatik und Mikrocontroller Blog</description>
	<lastBuildDate>Sat, 22 Oct 2011 09:51:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tools zur VHDL Entwicklung in der Linux Konsole</title>
		<link>http://zinformatik.de/linux/tools-zur-vhdl-entwicklung-in-der-linux-konsole/</link>
		<comments>http://zinformatik.de/linux/tools-zur-vhdl-entwicklung-in-der-linux-konsole/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 13:06:49 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[FPGA, CPLD und VHDL]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Konsole]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[Makefile]]></category>
		<category><![CDATA[VHDL]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=835</guid>
		<description><![CDATA[<p>Wie <a href="http://zinformatik.de/tipps-tricks/vim-tipps/vhdl-coding-mit-vim/" title="VHDL Coding mit vim" target="_self" class="liinternal">versprochen</a> hier ein Toolset zu VHDL in der Linux Konsole.</p>
<p>Um sich das ganze geklicke zum Synthetisieren und Implementieren unter ISE zu ersparen, hat Torsten Meißner ein <a href="http://editthis.info/freefpga/Linux" title="Makefile mit Batch Dateien" target="_blank" class="liexternal">Makefile mit einigen Batch Dateien</a> erstellt, die von Simon Schulz erweitert wurden. Auf seiner <a href="http://avr.auctionant.de/vhdl/xilinx_fpga_makefile_linux.html" title="Makefile und&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Wie <a href="http://zinformatik.de/tipps-tricks/vim-tipps/vhdl-coding-mit-vim/" title="VHDL Coding mit vim" target="_self" class="liinternal">versprochen</a> hier ein Toolset zu VHDL in der Linux Konsole.</p>
<p>Um sich das ganze geklicke zum Synthetisieren und Implementieren unter ISE zu ersparen, hat Torsten Meißner ein <a href="http://editthis.info/freefpga/Linux" title="Makefile mit Batch Dateien" target="_blank" class="liexternal">Makefile mit einigen Batch Dateien</a> erstellt, die von Simon Schulz erweitert wurden. Auf seiner <a href="http://avr.auctionant.de/vhdl/xilinx_fpga_makefile_linux.html" title="Makefile und Tools für die Benutzung der Xilinx ISE unter Linux" target="_blank" class="liexternal">Website</a> kann man sie herunter laden (und darauf beziehe ich mich im Folgenden).</p>
<p>Wenn das Archiv entpackt ist, kann man seine vhd Dateien in den Ordner ./rtl kopieren. In der Datei ./config/settings werden grundlegende Einstellungen vorgenommen. Die ucf-Datei kommt in das Verzeichnis ./layout.</p>
<p>Nach einem <em>make project</em> sollte eigentlich alles Funktionieren. Jedoch wird in den Dateien ./syn/src/implement.sh und ./syn/src/synthesize.sh die nichtexistente Datei ~/Xillinx/settings.sh importiert, die einige Umgebungsvariablen definieren soll. Diese Definitionen habe ich einfach statt dem Aufruf der Datei in dei beiden Dateien geschrieben. Der Pfad zum ISE Verzeichnis muss entsprechend angepasst werden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#set envirement for ise</span>
<span style="color: #666666; font-style: italic;">#. ~/Xilinx/settings.sh</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PLATFORM</span>=lin
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">XILINX</span>=<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>ISE
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LMC_HOME</span>=<span style="color: #800000;">${XILINX}</span><span style="color: #000000; font-weight: bold;">/</span>smartmodel<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${PLATFORM}</span><span style="color: #000000; font-weight: bold;">/</span>installed_lin
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #800000;">${XILINX}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${PLATFORM}</span>:<span style="color: #800000;">${PATH}</span>
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">LD_LIBRARY_PATH</span>=<span style="color: #800000;">${XILINX}</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${PLATFORM}</span>:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>X11R6<span style="color: #000000; font-weight: bold;">/</span>lib
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">NPX_PLUGIN_PATH</span>=<span style="color: #800000;">${XILINX}</span><span style="color: #000000; font-weight: bold;">/</span>java<span style="color: #000000; font-weight: bold;">/</span><span style="color: #800000;">${PLATFORM}</span><span style="color: #000000; font-weight: bold;">/</span>jre<span style="color: #000000; font-weight: bold;">/</span>plugin<span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>ns4
<span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">myxilinxrc</span>=<span style="color: #800000;">${HOME}</span><span style="color: #000000; font-weight: bold;">/</span>.qt<span style="color: #000000; font-weight: bold;">/</span>xilinxrc</pre></div></div>

<p>In der Makefile hat das Target bitup bei mir nicht funktioniert, da ich die libusb-driver benuzte. Daher hab ich das Ziel durch folgendes ersetzt (der Pfad zu ISE muss entsprechend angepasst werden):</p>

<div class="wp_syntax"><div class="code"><pre class="make" style="font-family:monospace;"><span style="color: #339900; font-style: italic;">#upload bit to fpga</span>
bitup <span style="color: #004400;">:</span>
    bash <span style="color: #004400;">-</span>c <span style="color: #CC2200;">'export LD_PRELOAD=/usr/lib/libusb-driver.so; /path/to/ISE/bin/lin/impact -batch impact/impact_upload_bit.cmd'</span></pre></div></div>

<p>Da das Makefile im Verzeichnis ./syn/src liegt, die vhd Dateien jedoch in ./rtl ist ein Aufruf von make aus vim heraus nur umständlich möglich. Daher habe ich ein kleines Makefile generiert, welches man ins Verzeichnis ./rtl kopieren kann.<br />
Es wechselt für jedes Ziel das Verzeichnis und ruft das echte Makefile mit dem entsprechenden Ziel auf:</p>

<div class="wp_syntax"><div class="code"><pre class="make" style="font-family:monospace;"><span style="color: #339900; font-style: italic;">#rule for synthesis</span>
syn <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make syn
&nbsp;
<span style="color: #339900; font-style: italic;">#rule for implementation</span>
imp <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make imp
&nbsp;
<span style="color: #339900; font-style: italic;">#project file generation</span>
project <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make project
&nbsp;
<span style="color: #339900; font-style: italic;">#upload bit to fpga</span>
bitup <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make bitup
&nbsp;
<span style="color: #339900; font-style: italic;">#upload prom to fpga</span>
promup <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make promup
&nbsp;
<span style="color: #339900; font-style: italic;">#generate prom</span>
promgen <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make promgen
&nbsp;
<span style="color: #339900; font-style: italic;">#reset/unlock pport cable (if impact says cable locked)</span>
unlock_cable <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make unlock_cable
&nbsp;
<span style="color: #339900; font-style: italic;">#rule for all</span>
all <span style="color: #004400;">:</span> clean syn imp bitup
&nbsp;
<span style="color: #339900; font-style: italic;">#rule for cleaning</span>
clean <span style="color: #004400;">:</span>
    cd <span style="color: #004400;">../</span>syn<span style="color: #004400;">/</span>src <span style="color: #004400;">&amp;&amp;</span> make clean</pre></div></div>

<p>Nun funktioniert alles und man kann aus vim heraus mit <em>:make all</em> den kompletten Vorgang starten.</p>
<p>Mittels</p>
<ul>
<li><em>:make clean</em> werden alle temporär erstellten Dateien gelöscht (inklusive Bit-Datei)</li>
<li><em>:make syn</em> wird die Synthese gestartet</li>
<li><em>:make imp</em> wird die Diesign Implementation gestartet (Map, Place &amp; Route,&#8230;) und die Bit-Datei erstellt</li>
<li><em>:make bitup</em> wird die Bit-Datei in den FPGA geladen</li>
<li><em>:make all</em> werden alle 4 Vorgänge nacheinander gestartet</li>
</ul>
<p>Nachdem Dateien hinzugefügt oder gelöscht wurden muss man die Datei ./config/settings anpassen und erneut <em>make project</em> ausführen.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/linux/tools-zur-vhdl-entwicklung-in-der-linux-konsole/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VHDL Coding mit vim</title>
		<link>http://zinformatik.de/tipps-tricks/vim-tipps/vhdl-coding-mit-vim/</link>
		<comments>http://zinformatik.de/tipps-tricks/vim-tipps/vhdl-coding-mit-vim/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 19:16:03 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[FPGA, CPLD und VHDL]]></category>
		<category><![CDATA[vim Tipps]]></category>
		<category><![CDATA[VHDL]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=763</guid>
		<description><![CDATA[<p>Es gibt zwar das ein oder andere mehr oder weniger gute vim-Plugin für VHDL, doch die meisten beschränken sich auf einige Mappings, Abkürzungen und Ähnliches. Es gibt jedoch eine sehr schöne <a href="http://people.ee.ethz.ch/~andrmuel/vhdl-with-vim.html" title="Anleitung für VHDL mit vim" target="_blank" class="liexternal">Anleitung</a> von Andreas Müller, wie man sein vim wirklich gut zum Coden von VHDL nutzen kann. Darin werden verschiedene Plugins, Mappings&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Es gibt zwar das ein oder andere mehr oder weniger gute vim-Plugin für VHDL, doch die meisten beschränken sich auf einige Mappings, Abkürzungen und Ähnliches. Es gibt jedoch eine sehr schöne <a href="http://people.ee.ethz.ch/~andrmuel/vhdl-with-vim.html" title="Anleitung für VHDL mit vim" target="_blank" class="liexternal">Anleitung</a> von Andreas Müller, wie man sein vim wirklich gut zum Coden von VHDL nutzen kann. Darin werden verschiedene Plugins, Mappings &#8230; beschrieben.</p>
<p>Dort wird unter Anderem das <a href="http://vim-taglist.sourceforge.net/" title="vim Taglist-Plugin" target="_blank" class="liexternal">Taglist-Plugin</a> verwendet. Um es nutzen zu können, muss Exuberant Ctags installiert sein, was man unter Ubuntu einfach per</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> exuberant-ctags</pre></div></div>

<p>installieren kann.</p>
<p>In der Anleitung steht bereits eine ctags-Konfigurationsdatei zur Verfügung. Sie wird einfach unter ~/.ctags gespeichert. Diese Datei habe ich in dem Abschnitt von VHDL um folgende Zeile erweitert um auch die Port Mappings anzuzeigen:</p>
<pre>--regex-vhdl=/^[ \t]*([^ \t:]+)[ \t]*:[ \t]*[a-z0-9_]+[ \t]+port[ \t]*map[ \t]*\(/\1/m,port maps/i</pre>
<p>Zusätzlich muss dafür die Definition von g:tlist_vhdl_settings in der .vimrc abgeändert werden (mehr zur .vimrc weiter unten):</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #804040;">let</span> g<span style="color: #000000;">:</span>tlist_vhdl_settings   = <span style="color: #C5A22D;">'vhdl;d:package declarations;b:package bodies;e:entities;a:architecture specifications;t:type declarations;p:processes;f:functions;m:port maps;r:procedures'</span></pre></div></div>

<p>Hier die entsprechenden Zeilen der .vimrc für VHDL, die ich (mehr oder weniger) übernommen habe:</p>

<div class="wp_syntax"><div class="code"><pre class="vim" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;">&quot; VHDL Stuff</span>
<span style="color: #804040;">if</span> <span style="color: #25BB4D;">has</span><span style="color: #000000;">&#40;</span><span style="color: #C5A22D;">&quot;autocmd&quot;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #804040;">filetype</span> <span style="color: #25BB4D;">plugin</span> <span style="color: #25BB4D;">indent</span> <span style="color: #25BB4D;">on</span><span style="color: #adadad; font-style: italic;">
&quot;	filetype dependent settings</span>
	<span style="color: #804040;">au</span> Filetype vhdl <span style="color: #804040;">call</span> FT_vhdl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #804040;">else</span>
	<span style="color: #804040;">set</span> <span style="color: #668080;">autoindent</span>
<span style="color: #804040;">endif</span> 
&nbsp;
<span style="color: #804040;">function</span> FT_vhdl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
	<span style="color: #804040;">if</span> <span style="color: #25BB4D;">exists</span><span style="color: #000000;">&#40;</span><span style="color: #C5A22D;">&quot;+omnifunc&quot;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #804040;">setlocal</span> <span style="color: #668080;">omnifunc</span>=syntaxcomplete#Complete
	<span style="color: #804040;">endif</span>
	<span style="color: #804040;">setlocal</span> <span style="color: #668080;">errorformat</span>=ERROR<span style="color: #000000;">:%.%</span>#\ <span style="color: #000000;">-</span>\ \<span style="color: #C5A22D;">&quot;<span style="">\%</span>f<span style="">\&quot;</span><span style="">\ </span>Line<span style="">\ </span>%l.<span style="">\ </span>%m,%EERROR:%m,%C<span style="">\[</span>%f(%l)<span style="">\]</span>:<span style="">\ </span>%m,%C%m,%Z%m
	let g:vhdl_indent_genportmap=0
&quot;</span>	<span style="color: #804040;">for</span> <span style="color: #25BB4D;">taglist</span>
	<span style="color: #804040;">let</span> g<span style="color: #000000;">:</span>tlist_vhdl_settings   = <span style="color: #C5A22D;">'vhdl;d:package declarations;b:package bodies;e:entities;a:architecture specifications;t:type declarations;p:processes;f:functions;m:port maps;r:procedures'</span>
endfunction</pre></div></div>

<p>Das Errorformat ist bisher kaum getestet. Verbesserungsvorschläge sind daher gern gesehen.<br />
Mehr zum Thema Makefiles und Compilieren (eigentlich Synthetisieren, Mappen,&#8230;) gibts <a href="http://zinformatik.de/linux/tools-zur-vhdl-entwicklung-in-der-linux-konsole/" title="Tools zur VHDL Entwicklung in der Linux Konsole" target="_self" class="liinternal">hier</a>.</p>
<p>Die anderen Ideen von Andreas habe ich vorerst nicht übernommen, da mir dies im Moment reicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/tipps-tricks/vim-tipps/vhdl-coding-mit-vim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oszilloskop mit ATMega16 und Siemens S65 Display</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/oszilloskop-mit-atmega16-und-siemens-s65-display/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/oszilloskop-mit-atmega16-und-siemens-s65-display/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 09:13:38 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[ADC]]></category>
		<category><![CDATA[ATMega16]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Display]]></category>
		<category><![CDATA[Handydisplay]]></category>
		<category><![CDATA[Oszi]]></category>
		<category><![CDATA[Oszilloskop]]></category>
		<category><![CDATA[Siemens S65]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=243</guid>
		<description><![CDATA[<p>Für die <a href="http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie/" title="Machbarkeitsstudie &#34;Einchipcomputer&#34;" target="_self" class="liinternal">Machbarkeitsstudie &#8220;Einchipcomputer&#8221;</a> habe ich ein einfaches Oszilloskop mit einem ATMega16 und einem S65 Display entwickelt.</p>
<div id="attachment_247" class="wp-caption alignright" style="width: 230px"><a href="http://zinformatik.de/wp-content/uploads/2009/01/oszi.png" class="liimagelink"><img class="size-medium wp-image-247" title="PWM auf dem Oszilloskop" src="http://zinformatik.de/wp-content/uploads/2009/01/oszi-220x300.png" alt="PWM auf dem Oszilloskop" width="220" height="300" /></a><p class="wp-caption-text">PWM auf dem Oszilloskop</p></div>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<p><strong>Die Grundidee</strong></p>
<p>Es wird immer wieder mittels ADC die Spannung gemessen und in eine y-Koordinate umgerechnet (entsprechend dem eingestelltem Messbereich). Die y-Koordinaten werden (zum späteren Löschen) in&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Für die <a href="http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie/" title="Machbarkeitsstudie &quot;Einchipcomputer&quot;" target="_self" class="liinternal">Machbarkeitsstudie &#8220;Einchipcomputer&#8221;</a> habe ich ein einfaches Oszilloskop mit einem ATMega16 und einem S65 Display entwickelt.</p>
<div id="attachment_247" class="wp-caption alignright" style="width: 230px"><a href="http://zinformatik.de/wp-content/uploads/2009/01/oszi.png" class="liimagelink"><img class="size-medium wp-image-247" title="PWM auf dem Oszilloskop" src="http://zinformatik.de/wp-content/uploads/2009/01/oszi-220x300.png" alt="PWM auf dem Oszilloskop" width="220" height="300" /></a><p class="wp-caption-text">PWM auf dem Oszilloskop</p></div>
<p><span style="color: #ffffff;">.</span></p>
<p><span style="color: #ffffff;">.</span></p>
<p><strong>Die Grundidee</strong></p>
<p>Es wird immer wieder mittels ADC die Spannung gemessen und in eine y-Koordinate umgerechnet (entsprechend dem eingestelltem Messbereich). Die y-Koordinaten werden (zum späteren Löschen) in enem Array der Länge x gespeichert. Mit jeder Messung wird die x-Koordinate um 1 erhöht. Nun wird der alte y-Wert an dieser Koordinate gelöscht (mit der Hintergrundfarbe eingefärbt) und der neue Punkt eingetragen.</p>
<p><span style="color: #ffffff;">.</span></p>
<p>Ein Codeausschnitt verdeutlicht es vielleicht etwas besser:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>x<span style="color: #339933;">=</span><span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>x<span style="color: #339933;">&lt;</span>SCREEN_WIDTH<span style="color: #339933;">;</span>x<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    val <span style="color: #339933;">=</span> adc_getValue<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Messe Spannung */</span>
    y<span style="color: #339933;">=</span><span style="color: #0000dd;">144</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span>val<span style="color: #339933;">/</span>x_val<span style="color: #009900;">&#91;</span>x_index<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Berechne y Position entsprechend dem Messbereich x_index */</span>
    glcdSetPixel<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y_old<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> bg<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Lösche altes Pixel */</span>
    glcdSetPixel<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span> y<span style="color: #339933;">,</span> color<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Setze neues Pixel */</span>
    y_old<span style="color: #009900;">&#91;</span>x<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span>y<span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Speicher neues Pixel um es im nächsten Durchlauf überschreiben zu können */</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>y_index<span style="color: #339933;">!=</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>     <span style="color: #808080; font-style: italic;">/* Warte nur, wenn nicht kürzestes Intervall eingestellt ist */</span>
        mywait<span style="color: #009900;">&#40;</span>y_val<span style="color: #009900;">&#91;</span>y_index<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>     <span style="color: #808080; font-style: italic;">/* Warte je nach engestelltem Intervall y_index*/</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Weitere Informationen</strong></p>
<p>Eine genauere Beschreibung ist in der Arbeit (Handy Displays) zur <a href="http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie" title="Machbarkeitsstudie" target="_self" class="liinternal">Machbarkeitsstudie</a> zu finden.</p>
<p>Hier noch der Quelltext: <a href="http://zinformatik.de/wp-content/uploads/2009/01/oszi.c" class="liinternal">oszi.c</a>. Zusätzlich braucht man noch eine Bibliothek für den Analog-Digitalwandler: <a href="http://zinformatik.de/wp-content/uploads/2008/12/adc.c" class="liinternal">adc.c</a> und <a href="http://zinformatik.de/wp-content/uploads/2008/12/adc.h" class="liinternal">adc.h</a></p>
<p>Für die Ansteuerung des Displays habe ich die <a href="http://www.superkranz.de/christian/S65_Display/DisplayIndex.html" title="GLCD von Christian Kranz" target="_blank" class="liexternal">GLCD von Christian Kranz</a> benutzt.</p>
<p>Ich hätte gerne noch mehr Fotos eingestellt, aber leider musste der Aufbau für andere Projekte Platz machen.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/oszilloskop-mit-atmega16-und-siemens-s65-display/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Einchipcomputer mit einem ATMega &#8211; eine Machbarkeitsstudie</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 11:07:57 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Gamepad]]></category>
		<category><![CDATA[Handydisplay]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[PAL]]></category>
		<category><![CDATA[PS/2]]></category>
		<category><![CDATA[SD-Karte]]></category>
		<category><![CDATA[Sound]]></category>
		<category><![CDATA[VGA]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=239</guid>
		<description><![CDATA[<p>Vor 1 1/2 Jahren haben wir in der Uni eine Machbarkeitsstudie für einen Ein-Chip-Computer erstellt. Dafür wurde von jedem Teilnehmer ein spezielles Thema bearbeitet um heraus zu finden, ob dies mit einem ATMega Mikrocontroller möglich ist.</p>
<p>Folgende Themen wurden behandelt:</p>
<ul>
<li>VGA</li>
<li>PAL</li>
<li>PAL mit Farbe</li>
<li>Handy Displays</li>
<li>PS/2</li>
<li>Sound</li>
<li>Gamepads</li>
<li>SD Karten</li>
<li>IDE</li>
</ul>
<p>Die Arbeiten stellen die vorhandenen&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Vor 1 1/2 Jahren haben wir in der Uni eine Machbarkeitsstudie für einen Ein-Chip-Computer erstellt. Dafür wurde von jedem Teilnehmer ein spezielles Thema bearbeitet um heraus zu finden, ob dies mit einem ATMega Mikrocontroller möglich ist.</p>
<p>Folgende Themen wurden behandelt:</p>
<ul>
<li>VGA</li>
<li>PAL</li>
<li>PAL mit Farbe</li>
<li>Handy Displays</li>
<li>PS/2</li>
<li>Sound</li>
<li>Gamepads</li>
<li>SD Karten</li>
<li>IDE</li>
</ul>
<p>Die Arbeiten stellen die vorhandenen Projekte zum jeweiligen Thema vor und erklären die zugrunde liegenden Protokolle und Techniken. Oft ist noch eine kleine Beispielimplementation enthalten.</p>
<p>Jedes Thema einzeln ist (mehr oder weniger gut) mit ATMega Mikrocontrollern realisierbar, jedoch würde es höchstwahrscheinlich Probleme geben, alles auf einem Chip unterzubringen. Versucht wird es trotzdem <img src='http://zinformatik.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ich hatte als Thema die Ansteuerung von Handy Displays gewählt und ein <a href="http://zinformatik.de/mikrocontroller-elektronik/oszilloskop-mit-atmega16-und-siemens-s65-display/" title="Oszilloskop mit ATMega16 und Siemens S65 Display" target="_self" class="liinternal">einfaches Oszilloskop mit einem S65 Display</a> implementiert.</p>
<p>Alle Arbeiten können als PDF-Dokumente <a href="http://www.uni-koblenz.de/~physik/informatik/ECC/" title="hier" target="_blank" class="liexternal">hier</a> herunter geladen werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/einchipcomputer-mit-einem-atmega-eine-machbarkeitsstudie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linkliste zu Handy Displays</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zu-handy-displays/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zu-handy-displays/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 21:08:31 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Linklisten]]></category>
		<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[Display]]></category>
		<category><![CDATA[Handy]]></category>
		<category><![CDATA[Handydisplay]]></category>
		<category><![CDATA[Nokia 3310]]></category>
		<category><![CDATA[Nokia 6100]]></category>
		<category><![CDATA[Siemens S65]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=60</guid>
		<description><![CDATA[<p>Hier einige Seiten, Artikel und Diskussionen rund um die Ansteuerung von Handydisplays.<br />
Vor allem Nokia 6100 und Siemens S65</p>
<p><strong>Siemens S65:</strong></p>
<ul>
<li><span>Superkranz &#8211; HP von Christian Kranz, der dort die Ansteuerung aller 3 Controller des S65 behandelt. Hier findet man auch die glcd auf das S65 portiert:  <a href="http://www.superkranz.de/christian/S65_Display/DisplayIndex.html" class="linkifyplus" target="_blank">http://www.superkranz.de/christian/S65_Display/DisplayIndex.html</a></span></li>
<li><span>Der zugehörige Thread auf Mikrocontroller.net mit weiteren</span></li></ul><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Hier einige Seiten, Artikel und Diskussionen rund um die Ansteuerung von Handydisplays.<br />
Vor allem Nokia 6100 und Siemens S65</p>
<p><strong>Siemens S65:</strong></p>
<ul>
<li><span>Superkranz &#8211; HP von Christian Kranz, der dort die Ansteuerung aller 3 Controller des S65 behandelt. Hier findet man auch die glcd auf das S65 portiert:  <a href="http://www.superkranz.de/christian/S65_Display/DisplayIndex.html" class="linkifyplus" target="_blank">http://www.superkranz.de/christian/S65_Display/DisplayIndex.html</a></span></li>
<li><span>Der zugehörige Thread auf Mikrocontroller.net mit weiteren Infos: <a href="http://www.mikrocontroller.net/topic/31403" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/31403</a></span></li>
</ul>
<p><strong>Nokia 6100:</strong></p>
<ul>
<li><span>Thread auf Mikrocontroller.net  erörtert die Ansteuerung des Nokia 6100: <a href="http://www.mikrocontroller.net/topic/12208" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/12208</a></span></li>
<li><span>Thread auf Mikrocontroller.net mit einer Grafikbibliothek für selbiges, der glcd: <a href="http://www.mikrocontroller.net/topic/12218" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/12218</a></span></li>
<li><span>Thomas Pfeifer beschreibt die Ansteuerung eines 6100 mit Phillips Controller: <a href="http://thomaspfeifer.net/nokia_6100_display.htm" class="linkifyplus" target="_blank">http://thomaspfeifer.net/nokia_6100_display.htm</a></span></li>
<li><span>e-dsp behandelt die Ansteuerung eines 6100 mit Epson Controller: <a href="http://www.e-dsp.com/controlling-a-color-graphic-lcd-epson-s1d15g10-controller-with-an-atmel-avr-atmega32l/" class="linkifyplus" target="_blank">http://www.e-dsp.com/controlling-a-color-graphic-lcd-epson-s1d15g10-controller-with-an-atmel-avr-atmega32l/</a></span></li>
</ul>
<p><strong>Nokia 3310:</strong></p>
<ul>
<li><span>Thread auf Mikrocontroller.net &#8211; Ansteuerung mit Atmel AVR: <a href="http://www.mikrocontroller.net/topic/25039" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/25039</a></span></li>
<li><span>Thread auf Mikrocontroller.net &#8211; Ansteuerung mit PIC: <a href="http://www.mikrocontroller.net/topic/12150" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/12150</a></span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zu-handy-displays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linkliste zum Funkmodul RFM12</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zum-funkmodul-rfm12/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zum-funkmodul-rfm12/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 21:01:03 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Linklisten]]></category>
		<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[Funkmodul]]></category>
		<category><![CDATA[RFM12]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=57</guid>
		<description><![CDATA[<p>Infos, Codebeispiele und Projekte zum Funkmodul RFM12<br />
Das RFM12 433MHz Funkmodul ist ein recht leistungsfähiges Modul mit SPI-Schnittstelle. Da es sehr günstig ist, gibt es auch schon einige Leute, die sich damit beschäftigt haben.</p>
<p>Es gibt das Funkmodul auch mit 868MHz sowie nur als Empfänger (RFM01) oder Sender (RFM02). Darüber hinaus gibt es auch Varianten mit anderem Layout (RFM12B)&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Infos, Codebeispiele und Projekte zum Funkmodul RFM12<br />
Das RFM12 433MHz Funkmodul ist ein recht leistungsfähiges Modul mit SPI-Schnittstelle. Da es sehr günstig ist, gibt es auch schon einige Leute, die sich damit beschäftigt haben.</p>
<p>Es gibt das Funkmodul auch mit 868MHz sowie nur als Empfänger (RFM01) oder Sender (RFM02). Darüber hinaus gibt es auch Varianten mit anderem Layout (RFM12B) und mehr Leistung (RFM12BP)</p>
<p><strong>Infos:</strong></p>
<ul>
<li><span>Wiki-Eintrag bei Mikrocontroller.net: <a href="http://www.mikrocontroller.net/articles/AVR_RMF12" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/articles/AVR_RMF12</a></span></li>
<li><span>Ein informativer Thread: <a href="http://www.mikrocontroller.net/topic/65984" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/65984</a></span></li>
<li><span>Datenblatt RFM12: <a href="http://www.hoperf.com/pdf/RF12.pdf" class="linkifyplus">http://www.hoperf.com/pdf/RF12.pdf</a></span></li>
<li><span>Datenblatt RFM01: </span><a href="http://www.hoperf.com/pdf/RF01.pdf" title="Datenblatt RFM01" target="_blank" class="lipdf">http://www.hoperf.com/pdf/RF01.pdf</a></li>
<li><span>Datenblatt RFM02: </span><a href="http://www.hoperf.com/pdf/RF02.pdf" title="Datenblatt RFM02" target="_blank" class="lipdf">http://www.hoperf.com/pdf/RF02.pdf</a></li>
<li><span>Datenblatt RFM12B: <a href="http://www.hoperf.com/pdf/RFM12B.pdf" title="Datenblatt RFM12B" target="_blank" class="lipdf">http://www.hoperf.com/pdf/RFM12B.pdf</a><br />
</span></li>
<li><span>Datenblatt RFM12BP: </span><a href="http://www.hoperf.com/pdf/RFM12BP.pdf" title="Datenblatt RFM12BP" target="_blank" class="lipdf">http://www.hoperf.com/pdf/RFM12BP.pdf</a></li>
</ul>
<p><strong>Projekte:</strong></p>
<ul>
<li><span>Bidirektionale Funkbrücke: <a href="http://www.mikrocontroller.net/topic/71682" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/71682</a></span></li>
<li><span>USB Funk: <a href="http://www.ulrichradig.de/home/index.php/avr/usb-funk" class="linkifyplus" target="_blank">http://www.ulrichradig.de/home/index.php/avr/usb-funk</a></span></li>
<li><span>Transeivermodul: <a href="http://comwebnet.co.funpic.de/seite48.html" class="linkifyplus" target="_blank">http://comwebnet.co.funpic.de/seite48.html</a></span></li>
<li><span>Funkboard mit ATMega32: <a href="http://flashcraft.de/index.php/funkboard-uebersicht" title="Funkboard mit ATMega32" target="_blank" class="liexternal">http://flashcraft.de/index.php/funkboard-uebersicht</a></span></li>
<li><span>Selbstorganisierendes Funknetz: <a href="http://www.cc-zwei.de/wiki/index.php/Selbst_organiserendes_Funknetz_auf_Basis_der_RFM12-Module" title="Selbstorganisierendes Funknetz" target="_blank" class="liexternal">http://www.cc-zwei.de/wiki/index.php/Selbst_organiserendes_Funknetz_auf_Basis_der_RFM12-Module</a></span></li>
<li><span>C-Bibliothek für AVR&#8217;s: <a href="http://www.das-labor.org/wiki/RFM12_library/en" title="RFM12 Bibliothek für AVR" target="_blank" class="liexternal">http://www.das-labor.org/wiki/RFM12_library/en</a><br />
</span></li>
</ul>
<p><strong>Codebeispiele:</strong></p>
<ul>
<li><span>Beispielprogramm: <a href="http://www.mikrocontroller.net/topic/67273" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/67273</a></span></li>
<li><span>Bascom Beispiel: <a href="http://www.roboternetz.de/phpBB2/viewtopic.php?t=5540" class="linkifyplus" target="_blank">http://www.roboternetz.de/phpBB2/viewtopic.php?t=5540</a></span></li>
<li><span>PIC18 CCS C-Code: <a href="http://www.mikrocontroller.net/topic/73658" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/73658</a></span></li>
</ul>
<p><strong>Eagle-Layouts:</strong></p>
<ul>
<li>Auf Mikrocontroller.net: <a href="http://www.mikrocontroller.net/topic/90021#new" title="Eagle Layout" target="_blank" class="liexternal">http://www.mikrocontroller.net/topic/90021#new</a></li>
<li>Auf Grautier.com: <a href="http://www.grautier.com/grautier/index.php?/archives/48-Meine-Eagle-LIBs-fuer-RFM01,-RFM02,-RFM12-und-Microchip-rfRX0xxx.html#extended" title="Eagle Layout" target="_blank" class="liexternal">http://www.grautier.com/grautier/index.php?/archives/48-Meine-Eagle-LIBs-fuer-RFM01,-RFM02,-RFM12-und-Microchip-rfRX0xxx.html#extended</a></li>
</ul>
<p><strong>Bezugsquellen:</strong></p>
<ul>
<li><span>Sammelbestellung (immer mal wieder reinschaun&#8230;): <a href="http://www.mikrocontroller.net/topic/67917" class="linkifyplus" target="_blank">http://www.mikrocontroller.net/topic/67917</a> und <a href="http://www.mikrocontroller.net/topic/80796" title="Dritte Sammelbestellung" target="_blank" class="liexternal">http://www.mikrocontroller.net/topic/80796</a><br />
</span></li>
<li><span>Pollin: <a href="http://www.pollin.de" class="linkifyplus" target="_blank">http://www.pollin.de</a> BestNr: 810 049 (Das Datenblatt dort enthält recht viele Fehler, besser das oben verlinkte benutzen)</span></li>
<li><span>Hoperf: <a href="http://www.hoperf.com/rf_fsk.asp" class="linkifyplus" target="_blank">http://www.hoperf.com/rf_fsk.asp</a></span></li>
<li><span>IT-WNS: <a href="http://www.it-wns.de/themes/kategorie/index.php?kategorieid=85" title="IT-WNS" target="_blank" class="liexternal">http://www.it-wns.de/themes/kategorie/index.php?kategorieid=85</a></span></li>
<li><span>Lynx-dev (RFM12B und RFM12BP): <a href="http://lynx-dev.com/index.php?option=com_virtuemart&amp;page=shop.browse&amp;category_id=62&amp;Itemid=2" title="Lynx-dev" target="_blank" class="liexternal">http://lynx-dev.com/index.php?option=com_virtuemart&amp;page=shop.browse&amp;category_id=62&amp;Itemid=2</a></span></li>
<li><span>Ulrich Radig (868MHz): <a href="http://shop.ulrichradig.de/product_info.php?products_id=105" title="Ulrich Radig" target="_blank" class="liexternal">http://shop.ulrichradig.de/product_info.php?products_id=105</a></span></li>
</ul>
<p><strong>Sonstiges:</strong></p>
<ul>
<li>Tutorial (englisch): <a href="http://blog.everythingrobotics.com/2008/01/08/rfm12-tutorial-part1/" title="RFM12 Tutorial" target="_blank" class="liexternal">http://blog.everythingrobotics.com/2008/01/08/rfm12-tutorial-part1/</a></li>
<li>Sonstige Threads auf Mikrocontroller.net: <a href="http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=*rfm12*" title="Threads über RFM12 auf Mikrocontroller.net" target="_blank" class="liexternal">http://www.mikrocontroller.net/forum/mikrocontroller-elektronik?filter=*rfm12*</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/linkliste-zum-funkmodul-rfm12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USB Modul</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/usb-modul/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/usb-modul/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 19:12:19 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Kleinigkeiten]]></category>
		<category><![CDATA[Modul]]></category>
		<category><![CDATA[Testen]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[USB-Modul]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=49</guid>
		<description><![CDATA[<p>Ein kleines USB Modul um in Tests schnell und einfach USB-Funktionalität hinzuzufügen</p>
<div id="attachment_50" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/usb_modul1.jpg" class="liimagelink"><img class="size-medium wp-image-50" title="USB Modul mit Grlößenvergleich" src="http://zinformatik.de/wp-content/uploads/2008/12/usb_modul1-300x257.jpg" alt="USB Modul mit Grlößenvergleich" width="300" height="257" /></a><p class="wp-caption-text">USB Modul mit Grlößenvergleich</p></div>
<p>Ein USB Modul, das einen FT232BL mit kompletter Beschaltung und USB Buchse auf 4 Pins (VCC, GND, TxD, RxD) herausführt.<br />
Dieses Modul kann man schnell und einfach in Testaufbauten integrieren um sein Projekt schon im Test mit USB&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Ein kleines USB Modul um in Tests schnell und einfach USB-Funktionalität hinzuzufügen</p>
<div id="attachment_50" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/usb_modul1.jpg" class="liimagelink"><img class="size-medium wp-image-50" title="USB Modul mit Grlößenvergleich" src="http://zinformatik.de/wp-content/uploads/2008/12/usb_modul1-300x257.jpg" alt="USB Modul mit Grlößenvergleich" width="300" height="257" /></a><p class="wp-caption-text">USB Modul mit Grlößenvergleich</p></div>
<p>Ein USB Modul, das einen FT232BL mit kompletter Beschaltung und USB Buchse auf 4 Pins (VCC, GND, TxD, RxD) herausführt.<br />
Dieses Modul kann man schnell und einfach in Testaufbauten integrieren um sein Projekt schon im Test mit USB betreiben zu können.<br />
Hier die <a href="http://zinformatik.de/wp-content/uploads/2008/12/bauteilliste.txt" class="liinternal">Bauteilliste</a> (mit Reichelt Bestellnummern).</p>
<p>Hier die <a href="http://zinformatik.de/wp-content/uploads/2008/12/usb_modul.zip" class="lizip">EAGLE-Dateien</a>.</p>
<div id="attachment_45" class="wp-caption aligncenter" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/testboard_usbmodul1.jpg" class="liimagelink"><img class="size-medium wp-image-45" title="Testboard mit USB Modul von der Seite" src="http://zinformatik.de/wp-content/uploads/2008/12/testboard_usbmodul1-300x116.jpg" alt="Testboard mit USB Modul von der Seite" width="300" height="116" /></a><p class="wp-caption-text">Testboard mit USB Modul von der Seite</p></div>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/usb-modul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pimp my Testboard</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/pimp-my-testboard/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/pimp-my-testboard/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 19:05:57 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Kleinigkeiten]]></category>
		<category><![CDATA[Testboard]]></category>
		<category><![CDATA[Testen]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=43</guid>
		<description><![CDATA[<p>Ich habe mir ein Steckbrett von Pollin gekauft um dort meine Testaufbauten zu machen.</p>
<div id="attachment_44" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/testboard1.jpg" class="liimagelink"><img class="size-medium wp-image-44" src="http://zinformatik.de/wp-content/uploads/2008/12/testboard1-300x153.jpg" alt="Testboard mit Aufbau" width="300" height="153" /></a><p class="wp-caption-text">Testboard mit Aufbau</p></div>
<p>Ich finde so ein Steckbrett extrem praktisch, da man seine Ideen dort erstmal ausprobieren kann ohne etwas zu löten. Wenn alles klappt,kann man sich mit einer Lochrsterplatine oder sogar einem geätzten Board das Teil zusammen bauen.</p>
<p>Auch zum&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Ich habe mir ein Steckbrett von Pollin gekauft um dort meine Testaufbauten zu machen.</p>
<div id="attachment_44" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/testboard1.jpg" class="liimagelink"><img class="size-medium wp-image-44" src="http://zinformatik.de/wp-content/uploads/2008/12/testboard1-300x153.jpg" alt="Testboard mit Aufbau" width="300" height="153" /></a><p class="wp-caption-text">Testboard mit Aufbau</p></div>
<p>Ich finde so ein Steckbrett extrem praktisch, da man seine Ideen dort erstmal ausprobieren kann ohne etwas zu löten. Wenn alles klappt,kann man sich mit einer Lochrsterplatine oder sogar einem geätzten Board das Teil zusammen bauen.</p>
<p>Auch zum Fehlerfinden ist ein solches Board gut geeignet, da man sehr schnell etwas ändern oder ausprobieren kann.</p>
<p>Allerdings fand ich es immer ziemlich umständlich die Stromkabel rauszuziehen und wieder reinzustecken um den µC neu zu starten oder etwas zu ändern, daher habe ich mir einen Schalter zwischen die Stromversorgung und das Board gelötet und ihn mit Heißkleber auf dem Board fixiert.</p>
<p>Außerdem habe ich eine grüne LED an einen Vorwiderstand gelötet und direkt hinter der Stromversorgung an VCC und GND gesteckt, so dass ich immer direkt sehe ob der Strom nun an ist oder nicht.</p>
<div id="attachment_46" class="wp-caption alignleft" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/testboard2.jpg" class="liimagelink"><img class="size-medium wp-image-46" src="http://zinformatik.de/wp-content/uploads/2008/12/testboard2-300x271.jpg" alt="Ausschnitt der Stromversorgung" width="300" height="271" /></a><p class="wp-caption-text">Ausschnitt der Stromversorgung</p></div>
<p>Des weiteren fand ich es ziemlich unpraktisch auf dem Board, dass GND und VCC in der Mitte getrennt sind, da habe ich kleine Drahtbrücken drinn, so dass ich mich da nie mehr drum kümmern muss.<br />
Für die Stromversorgung habe ich einen 4xAA Batteriehalter mit selbstklebenden &#8220;Klettpads&#8221; neben die Stromversorgungsanschlüsse geklebt, so dass man sie auch abziehen kann. Zusätzlich habe ich einen Hohlstecker mit Kabeln an die Stromanschlüsse geklemmt, so dass ich auch ein Netzteil anschließen kann.<br />
Schließlich habe ich die Unterseiten der Stromanschlüsse mit Heißkleber isoliert, weil mir andauernd diese Gumminoppen, die als Abstandshalter fungieren immer abfallen.</p>
<p>Erweitereungsmöglichkeiten:</p>
<ul>
<li>Ich würde demnächst gerne ein Board in eine Box einbauen, so dass man es leicht transportieren kann</li>
<li>Wenn genug Platz ist wären ein paar Fächer für Kabel recht praktisch</li>
</ul>
<p style="text-align: center;">
<div id="attachment_45" class="wp-caption aligncenter" style="width: 605px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/testboard_usbmodul1.jpg" class="liimagelink"><img class="size-full wp-image-45" src="http://zinformatik.de/wp-content/uploads/2008/12/testboard_usbmodul1.jpg" alt="Testboard mit USB Modul von der Seite" width="595" height="230" /></a><p class="wp-caption-text">Testboard mit USB Modul von der Seite</p></div>
<div>
<div><img alt="" /></div>
</div>
<p><img alt="" /><img alt="" /></p>
<div id="greasedLightboxOverlay">
<div id="greasedLightbox"><img id="greasedLightboxImage" alt="" /></div>
</div>
<div id="greasedLightboxError">
<p id="greasedLightboxErrorContext">
</div>
<p><img id="greasedLightboxPreload" alt="" /><img id="greasedLightboxPrefetch" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/kleinigkeiten/pimp-my-testboard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Farbwechsel Lampe</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/farbwechsel-lampe/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/farbwechsel-lampe/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 18:48:17 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[ATTiny2313]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Farbwechsellampe]]></category>
		<category><![CDATA[Lampe]]></category>
		<category><![CDATA[LED]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=36</guid>
		<description><![CDATA[<p>Eine programmierbare Lampe aus 3 LED&#8217;s und einem ATTiny2313.</p>
<div id="attachment_37" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe1.jpg" class="liimagelink"><img class="size-medium wp-image-37" src="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe1-300x279.jpg" alt="Farbwechsellampe" width="300" height="279" /></a><p class="wp-caption-text">Farbwechsellampe</p></div>
<p>Ein Bekannter, dem ich von meinen µC Projekten erzähl habe bat mich einmal ihm seine Farbwechellampe zu tunen. Die Lampe bestand aus 3 verschiedenfarbigen hellen LEDs, die sich hinter einer strukturierten durchsichtigen Plexiglasabdeckung befanden. Schaltete man die Lampe ein, so gingen die LED&#8217;s in einer&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Eine programmierbare Lampe aus 3 LED&#8217;s und einem ATTiny2313.</p>
<div id="attachment_37" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe1.jpg" class="liimagelink"><img class="size-medium wp-image-37" src="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe1-300x279.jpg" alt="Farbwechsellampe" width="300" height="279" /></a><p class="wp-caption-text">Farbwechsellampe</p></div>
<p>Ein Bekannter, dem ich von meinen µC Projekten erzähl habe bat mich einmal ihm seine Farbwechellampe zu tunen. Die Lampe bestand aus 3 verschiedenfarbigen hellen LEDs, die sich hinter einer strukturierten durchsichtigen Plexiglasabdeckung befanden. Schaltete man die Lampe ein, so gingen die LED&#8217;s in einer vorprogrammierten Reihenfolge an bzw aus und man konnte ein Muster aus den Farben sehen.</p>
<p>Er bat mich nun, die Lampe selber anzusteuern und zwar so, dass er selbst bestimmen konnte, in welcher Reihenfolge die Farben kommen.</p>
<p>Mit 3 Tastern und einem ATTiny2313 (mit 1MHz) habe ich nun folgendes realisiert</p>
<p>Man kann insgesammt 5 Sequenzen mit jeweils bis zu 10 Farbkombinationen Einstellen, die im EEPROM gespeichert werden und im laufenden Betrieb gewechselt werden können.</p>
<p>Praktischerweise lief die Lampe mit 4 AA Batterien, so dass die Stromversorung genau passte.</p>
<p>Die Taster sind SET, UP und DOWN. Hält man beim Anschalten SET gedrückt, so kommt man in den Setupmodus (ist etwas ungünstig gelöst, in der nächsten Version wird das besser).</p>
<p>Im Setupmodus wird nun die erste Sequenz immer wieder schnell abgespielt. Mit UP und DOWN kann man die Sequenzen wechseln, welche jeweils abgespielt werden.</p>
<div id="attachment_38" class="wp-caption alignleft" style="width: 195px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe2.jpg" class="liimagelink"><img class="size-medium wp-image-38" src="http://zinformatik.de/wp-content/uploads/2008/12/farbwechsellampe2-185x300.jpg" alt="Farbwechsellampe geöffnet" width="185" height="300" /></a><p class="wp-caption-text">Farbwechsellampe geöffnet</p></div>
<p>Mit SET kan man die aktuelle Sequenz ändern. Die erste Farbkombination wird angezeigt und man kann nun mit UP und DOWN die Farbkombination ändern. Mit SET kommt man zur nächsten Farbkombination. Wählt man &#8220;alle LED&#8217;s aus&#8221;, so wird die Sequenz gespeichert. Das gleiche passiert nach 10 Farbkombinationen.<br />
Durch Aus- und wieder Anschalten kommt man in den Betriebsmodus. Dort wird die erste Sequenz in der Art abgespielt, das die erste Farbkombination per PWM eingeblendet wird. Ein Wechsel zu nächsten findet statt indem zuerst die fehlenden Farben der nächsten Farbkombination eingeblendet werden und dann die überschüssigen Farben ausgeblendet, so dass nie alle LEDs gleichzeitig aus sind.</p>
<p>Mit den UP und DOWN Tasten kann man nun die Sequenzen wechseln.</p>
<p>Quelltext und andere Infos kommen (vielleicht) noch (bei Bedarf: Mail an mich oder einen Kommentar schreiben).</p>
<p>Verbesserungsmöglichkeiten, die in der nächsten Version wohl einfließen werden sind:</p>
<ul>
<li>Besserer Wechsel in den Setupmodus</li>
<li>Schnellere (interne) Taktrate (da die LED beim Dimmen flackern)</li>
<li>Eine Anzeige, welche Sequenz gerade abgespielt wird (kleine LEDs oder 7 Segmentanzeige)</li>
</ul>
<div>
<div><img alt="" /></div>
</div>
<div>
</div>
<p><img alt="" /><img alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/farbwechsel-lampe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LCD Thermometer</title>
		<link>http://zinformatik.de/mikrocontroller-elektronik/lcd-thermometer/</link>
		<comments>http://zinformatik.de/mikrocontroller-elektronik/lcd-thermometer/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 18:34:49 +0000</pubDate>
		<dc:creator>zimon</dc:creator>
				<category><![CDATA[Mikrocontroller und Elektronik]]></category>
		<category><![CDATA[ADC]]></category>
		<category><![CDATA[ATMega8]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Display]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[LCD-Display]]></category>
		<category><![CDATA[Thermometer]]></category>

		<guid isPermaLink="false">http://zinformatik.de/?p=21</guid>
		<description><![CDATA[<p>Ein LCD Thermometer mit Temperaturwiderständen, einem 2&#215;16 Zeichen Display und einem ATMega8</p>
<div id="attachment_22" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/therm1.jpg" class="liimagelink"><img class="size-medium wp-image-22" src="http://zinformatik.de/wp-content/uploads/2008/12/therm1-300x225.jpg" alt="LCD Thermometer im Betrieb" width="300" height="225" /></a><p class="wp-caption-text">LCD Thermometer im Betrieb</p></div>
<p>Das Thermometer kann Innen- und Aussentemperatur anzeigen. Als Sensoren habe ich einen KTY 81-221 Temperaturwiderstand mit einem 2,2K Widerstand zu einem Spannungsteiler verbaut. Der Ausgang des Teilers kommt an den ADC-Eingang des ATMega8.</p>
<p>Das Gehäuse ist der Deckel einer&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Ein LCD Thermometer mit Temperaturwiderständen, einem 2&#215;16 Zeichen Display und einem ATMega8</p>
<div id="attachment_22" class="wp-caption alignright" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/therm1.jpg" class="liimagelink"><img class="size-medium wp-image-22" src="http://zinformatik.de/wp-content/uploads/2008/12/therm1-300x225.jpg" alt="LCD Thermometer im Betrieb" width="300" height="225" /></a><p class="wp-caption-text">LCD Thermometer im Betrieb</p></div>
<p>Das Thermometer kann Innen- und Aussentemperatur anzeigen. Als Sensoren habe ich einen KTY 81-221 Temperaturwiderstand mit einem 2,2K Widerstand zu einem Spannungsteiler verbaut. Der Ausgang des Teilers kommt an den ADC-Eingang des ATMega8.</p>
<p>Das Gehäuse ist der Deckel einer Rocher-Verpackung (ca. 8&#215;15 cm) auf eine (ausgeschnittene) Rückwand eines Fotorahmens geklebt.</p>
<ul>
<li>Hier die <a href="http://zinformatik.de/wp-content/uploads/2008/12/pinbelegung1.txt" class="liinternal">Pinbelegung</a></li>
<li><a href="http://zinformatik.de/wp-content/uploads/2008/12/lcd_temp.c" class="liinternal">C-Sourcecode</a> Dazu wird eine kleine ADC-Bibliothek benötigt:  <a href="http://zinformatik.de/wp-content/uploads/2008/12/adc.h" class="liinternal">adc.h</a> und <a href="http://zinformatik.de/wp-content/uploads/2008/12/adc.c" class="liinternal">adc.c</a></li>
<li><span>Die lcd.h ist die Bibliothek von Peter Fleury (<a href="http://jump.to/fleury" class="linkifyplus" target="_blank">http://jump.to/fleury</a>)<br />
</span></li>
<li><span>Hier die <a href="http://zinformatik.de/wp-content/uploads/2008/12/lcd_temp.sch" class="liinternal">EAGLE-Schaltung</a> VORSICHT: Ich weis nicht ob die Teile, die ich benutzt habe passen. Wer sich darauf basierend eine Platine ätzen möchte sollte vorher nochmal die Bauteile durchgehen. Es soll nur die Verdrahtung gezeigt werden.</span></li>
<li>Hier die <a href="http://zinformatik.de/wp-content/uploads/2008/12/teileliste.txt" class="liinternal">Teileliste</a> mit Reichelt Bestellnummern.</li>
</ul>
<div id="attachment_30" class="wp-caption alignleft" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/displ1.jpg" class="liimagelink"><img class="size-medium wp-image-30" src="http://zinformatik.de/wp-content/uploads/2008/12/displ1-300x147.jpg" alt="Das Display an ein Flachbandkabel gelötet" width="300" height="147" /></a><p class="wp-caption-text">Das Display an ein Flachbandkabel gelötet</p></div>
<p>Für weitere Fragen oder Anregungen mailt mir einfach.<br />
Mögliche Erweiterungen wären:</p>
<ul>
<li>Speicherung von Min/Max Werten (vielleicht auch über Tage/Wochen/Monate)</li>
<li>Serielle Schnittstelle zur Übertragung der Werte an den Computer (eventuell grafische Darstellung)</li>
<li>Display Hintergrundbeleuchtung</li>
</ul>
<div id="attachment_31" class="wp-caption aligncenter" style="width: 310px"><a href="http://zinformatik.de/wp-content/uploads/2008/12/therm2.jpg" class="liimagelink"><img class="size-medium wp-image-31" src="http://zinformatik.de/wp-content/uploads/2008/12/therm2-300x95.jpg" alt="Das Display im Betrieb" width="300" height="95" /></a><p class="wp-caption-text">Das Display im Betrieb</p></div>
<div>
<div><img alt="" /></div>
</div>
<div>
<p style="text-align: center;">
</div>
<div></div>
<p><img alt="" /><img alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://zinformatik.de/mikrocontroller-elektronik/lcd-thermometer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

