<?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; Oszi</title>
	<atom:link href="http://zinformatik.de/tag/oszi/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>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>
	</channel>
</rss>

