Fototransistor SFH 300 an ADC vom Atmega644

OP Persönliche Seite #1347134
Hi,

mal wieder scheitere ich wohl an den einfachsten Dingen...

Ich wollte die Helligkeit mit einem Fototransistor messen, habe mir 
dafür den SFH 300 besorgt. Hab gelesen das der Emitter (langes Bein) 
Richtung GND muss. Dann hab ich ein paar Beiträge gefunden wonach es 
wohl Schaltungen gibt die diesen mit 100 Omh aber auch mit 10kOhm 
betreiben. Ich hab mitlerweile 270 Ohm, 4.7kOmh und 10kOhm getestet, das 
ist alles was ich in dem Bereich da habe. Ich habe dazu den Widerstand 
im Stromfluss vor den Fototransistor geschaltet und den Widerstand mit 
Vcc verbunden. Den Fototransistor dann an PA0 (ADC0). AVCC liegt auf VCC 
und GND unterhalb von AVCC ebenfalls auf "normalem" GND.

Wiefolgt mein Code das dann zu messen und anzuzeigen:
1
// enable ADC
2
ADCSRA |= (1<<ADEN); 
3
// disable ADC interrupt
4
ADCSRA &= ~(1<<ADIE); 
5
// prescaler = 110 = 64
6
ADCSRA |= (1<<ADPS2) | (1<<ADPS1);
7
ADCSRA &= ~(1<<ADPS0);
8
// AVCC as reference
9
ADMUX &= ~(1<<REFS1);
10
ADMUX |= (1<<REFS0);
11
// ADC0 as input
12
ADMUX &= ~(1<<MUX4);
13
ADMUX &= ~(1<<MUX3);
14
ADMUX &= ~(1<<MUX2);
15
ADMUX &= ~(1<<MUX1);
16
ADMUX &= ~(1<<MUX0);
17

18
spi_master_init();  
19

20
dogm_init();
21

22
while (1)
23
{
24
  dogm_clear();
25

26
  // start converstion
27
  ADCSRA |= (1<<ADSC);
28
  while (ADCSRA & (1<<ADSC));
29

30
  uint16_t val = ADCL;
31
  val += (ADCH<<8);
32

33
  char tmp[6];
34
  ItoA(val, &tmp);
35
  dogm_goto(0,0);
36
  dogm_print_string(tmp);
37

38
  _delay_ms(5000);
39
}

Ich messe leider immer 1023 als maximalwert, außer ich zieh den 
Fototransistor dann pendelt der freie pin bei ca. 110. Es ändert sich 
nichts je nach Lichtverhältnis und Widerstand :( Kann mir jemand helfen 
und sagen was ich falsch mache?

CU Chris

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.