Hallo,
so könnte das Programm aussehen, um den Wert des Analogeingangs mit einer Zahl zu vergleichen, und die LED zu schalten:
Du möchtest den Inhalt von "result" auf dem PC sehen? Funktioniert gut über das sog. UART und einem Terminal-Programm auf dem PC.Code:int main(void) { //Endlosschleife while(1) { uint16_t result = readADC(0); //Auslesen der analogen Spannungen an Pin 0, // also ADC0. In result steht das Ergebnis. if(result>512) { //LED an //musst du noch vervollständigen } else { //LED aus //musst du noch vervollständigen } } //Endlosschleife bis hier //an diese Stelle wird das Programm wegen der Endlosschleife nicht mehr gelangen, //außer du verlässt die while-Schleife mit einem break; return 0; }
Dazu brauchst du auf jeden Fall eine kleine Zusatzschaltung mit MAX232 und 4 Elkos und kannst dann über eine serielle Schnittstelle (RS232) mit dem PC kommunizieren. Es gibt auch USB-Seriell Adapter ( die heutigen PCs werden wohl kaum noch eine serielle Schnittstelle haben).
Damit kannst du recht einfach von PC zu Mikrocontroller und umgekehrt Daten übertragen.
Siehe auch:
Daten und Texte zum PC übertragen
Alternativ: ein Display anschließen (braucht aber einen größeren Brocken Software, gibts zum Glück im Internet)
Könnte auch noch Programmschnipsel für UART-Übertragung und einen Link zu einem vernünftigen Terminal nachliefern - falls erwünscht
Grüße,
Bernhard
EDIT: Du kannst die Spannung des Netzgeräts schon messen. Wenn es maximal 5 V liefern kann und damit deine Vref nicht überschreitet, könntest du es direkt an den Analogeingang anschließen.
Ansonsten muss da noch ein Spannungsteiler dazwischen !!
Welche Spannung liefert das Netzteil maximal ?
Der Wert im Programm lässt sich dann auch relativ einfach wieder in den Spannungswert umrechnen.
PS: PC0 ist kein analoger Eingang! Beim Atmega32 sind die alle am PORT A !!!







Zitieren

Lesezeichen