Okay habe ein poti angeschlossen(PC5) und habe mir mit dem DoctorAsuro programm die spannung auslesen lassen, wenn ich das poti drehe geht die Volt zahl höher bzw. tiefer bis 0V und 5V.
Also brauche nur noch Software hilfe ;->
mfG
Philip
Okay habe ein poti angeschlossen(PC5) und habe mir mit dem DoctorAsuro programm die spannung auslesen lassen, wenn ich das poti drehe geht die Volt zahl höher bzw. tiefer bis 0V und 5V.
Also brauche nur noch Software hilfe ;->
mfG
Philip
Also wenn Volt < 1 ist soll er die Zeit von Msleep ändern und wenn Volt < 2 ist wieder ändern usw. oder geht das auch stufenlos?
Geändert von AsuroPhilip (12.03.2011 um 19:51 Uhr)
Hi Philip,
du willst also den PC4 auslesen. Dazu muss man AVCC an VCC anschließen (über widerstand/Spule) und an AREF über einen Kondensator an Masse anschließen (vgl. Asuro-Schaltplan).
Der Code dazu: (aus AsuroLib, angepasst):
Beim PC4 liefert die Funktion einen Wert zwischen 0 und 255.Code:unsigned int ReadPC4() { ADMUX = (1 << REFS0) | (_BV(MUX2)); // Referenz mit externer Kapazitaet und Mux auf PC4 ADCSRA |= (1 << ADSC); // Starte AD-Wandlung while (!(ADCSRA & (1 << ADIF))) // Ende der AD-Wandlung abwarten ; ADCSRA |= (1 << ADIF); // AD-Interupt-Flag zuruecksetzen return ADC; // Ergebnis als 16-Bit-Wert }
Das kann man dann zur Zeitsteuerung nutzen:
Eine Verzögerung zwischen 200 und 2750 ms.Code:Msleep(ReadPC4()*10+200);
Gruß
ASUR0
Hi danke für deine antwort hat mir seeeeeeehr weitergeholfen!!
Geht denn auch eine Verzögerung zwischen 10 und 200 ?
Habe ein 2,5K Poti an PC4:
Mitte an PC4
Potianfang an gnd
Potiende an vcc
PS: Kann ich mir zur Kontrolle den msleep wert im hyperterminal anzeigen lassen?
Geändert von AsuroPhilip (12.03.2011 um 22:44 Uhr)
Hast du die AsuroLib? Dadrin gibt es eine Funktion, um Zahlen an HT zu übertragen.
Man kann z.B. mit
eine Verzögerung zwischen 10 und 265 ms erhalten.Code:Msleep(ReadPC4()+10);
Gruß ASUR0
Lesezeichen