Forum: Mikrocontroller und Digitale Elektronik LED mehrere Helligkeitsstufen?


von Curby (Gast)


Lesenswert?

Hallo Leute,

ich habe einen Atmega8 und Atmega16 und Minimalbeachaltung, miteinander 
verbunden über I2C.

Der Mega16 sendet, der Mega8 empfängt. Am Mega16 liegt am ADC0 ein CNY70 
an. Finger drauf = 0.8V , Finger weg ca. 3.6V Betriebsspannung am ADC0. 
Das funtioniert.

Ich hab nun folgende Hauptprogrammschleife:
1
i=0;
2
while(1){
3
if  (adc() > 127){
4
        if (i == 0) {
5
        i = 1;
6
        PORTD=1;
7
      }
8
    else
9
      if (i == 1) {
10
        i = 0;
11
        PORTD = 0;
12
      }
13
    }
14
}

Ergebnis:
Finger weg: Led leuchtet.
Finger auf CNY70: Malist die Led aus, mal heller?

Wieso ist die LED manchmal heller? Ich kann das nicht ganz 
nachvollziehen.

Kann mir da jemand helfen?

mfg
Curby

von Mike (Gast)


Lesenswert?

Curby schrieb:
> Finger weg: Led leuchtet.

Bist du sicher, dass sie dauernd leuchtet?
Die wird schnell flackern.

von Magic S. (magic_smoke)


Lesenswert?

Yep, das ganze schwingt wild herum und das was Du misst oder siehst ist 
nur der Mittelwert.

von Curby (Gast)


Lesenswert?

Ok, ihr habt recht. Ich habe mal ein Delay in die Schleife gesetzt und 
die LED blinkt.

Anstatt mit dem Finger die LED an/aus zu machn stoppe ich das blinken. 
Das ist aj ein grober Programmierfehler...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.