ADC mit ATtiny85-20PU

OP #3616601
Lesenswert?

Hallo liebe Community,

ich habe folgendes Problem:

Ich möchte über den ADC des ATtiny85 eine analoge Spannung in einen 
digitalen Wert umwandeln.

Für den Anfang soll der ADC, wenn die Spannung am Eingang 0V = GND 
beträgt, eine LED anschalten andernfalls die LED aus.

Im Anhang befindet sich mein C-Code...
Gerade stehe ich etwas auf dem Schlauch, da dieser Code nicht 
funktioniert. Für Tipps zur Verbesserung wäre ich sehr dankbar.

P.s: Die Schaltung soll am Ende der Entwicklung eine analoge Spannung 
von einem Mikrophon in einen digitalen Wert umwandeln und bei einen 
bestimmten Pegel ein LED-Band zum Blinken bringen :)
Angehängte Dateien:
Gast #3616631
Lesenswert?

Hmm,
das Tutorial bist Du schon durch:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Analoge_Ein-_und_Ausgabe 
?
Dann kann es sein das Dein Poti nicht 100%ig auf GND geht, nimm also 
einen Schwellenwert ab dem Du sagst nun ist der Poti ganz am Anschlag, 
z.B. 16 o.ä.
ADC-Pins korrekt gesetzt in den I/O Registern ?
Teste es einfach mal mit einem Wert von 512, dann müßte die LED aus sein 
sobald Du den Poti über der Mittelstellung hast ...
OP #3616652
Lesenswert?

Also die LED funktioniert, sie ist auch richtig herum gepolt.
Fuses ? Müssen bestimmte Fuses gesetzt sein damit der ADC funktioniert ?

Der CPU-Takt ist in den Fuses auf 8 MHz gesetzt mit dem Internen 
Quarz...

Ich habe den Bereich jetzt mal auf 200 hochgesetzt... Wenn ich den 
Eingang des ADC nun direkt mit GND verbinde tut sich nichts...
Angehängte Dateien:
#3616666
Lesenswert?

Christian Karle schrieb:
> Also die LED funktioniert, sie ist auch richtig herum gepolt.
> Fuses ? Müssen bestimmte Fuses gesetzt sein damit der ADC funktioniert ?
Ja. Da du nach wie vor den Reset-Pin einliest, mußt du die RSTDSBL-Fuse 
setzen. Wenn du keinen HV-Programmer hast, kannst du deinen Controller 
danach allerdings wegschmeissen. Also nimm einen anderen Pin!

mfg.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren