Für die Machbarkeitsstudie “Einchipcomputer” habe ich ein einfaches Oszilloskop mit einem ATMega16 und einem S65 Display entwickelt.
.
.
Die Grundidee
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.
.
Ein Codeausschnitt verdeutlicht es vielleicht etwas besser:
for(x=2;x<SCREEN_WIDTH;x++){ val = adc_getValue(0); /* Messe Spannung */ y=144-(val/x_val[x_index]); /* Berechne y Position entsprechend dem Messbereich x_index */ glcdSetPixel(x, y_old[x], bg); /* Lösche altes Pixel */ glcdSetPixel(x, y, color); /* Setze neues Pixel */ y_old[x]=y; /* Speicher neues Pixel um es im nächsten Durchlauf überschreiben zu können */ if(y_index!=0){ /* Warte nur, wenn nicht kürzestes Intervall eingestellt ist */ mywait(y_val[y_index]); /* Warte je nach engestelltem Intervall y_index*/ } }
Weitere Informationen
Eine genauere Beschreibung ist in der Arbeit (Handy Displays) zur Machbarkeitsstudie zu finden.
Hier noch der Quelltext: oszi.c. Zusätzlich braucht man noch eine Bibliothek für den Analog-Digitalwandler: adc.c und adc.h
Für die Ansteuerung des Displays habe ich die GLCD von Christian Kranz benutzt.
Ich hätte gerne noch mehr Fotos eingestellt, aber leider musste der Aufbau für andere Projekte Platz machen.
Folgende Beiträge könnten Dich auch interessieren:
Schlagworte: ADC, ATMega16, AVR, Display, Handydisplay, Oszi, Oszilloskop, Siemens S65









Hallo liebe Studiendurchführer,
ich finde das Projekt Super!!! Dieses Projekt möchte ich unbedingt nachbauen, weil ich momentan in der AVR-Programmierung so weit bin, wo man mal mit einen Oszilloskop überprüfen muss, ob das auch so richtig ist wie man es Programmiert hat. Ich kann mir jedoch leider noch kein “richtiges” Oszilloskop leisten. Deswegen bitte ich um die Weiterleitung des gesamten Projekts (wenn möglich: Schaltplan und Programmcodes). Ich habe natürlich schon im Netz danach gestöbert und kein vergleichbares Projekt mit den Benötigten Infos (Schaltplan, Code) gefunden.
P.S.: Ich würde mich sehr darüber freuen, wenn Sie mir Unterstützung geben könnten!
Mit freundlichen Grüßen
Marcel S.