Re: Fotowiderstand am ADC-Port Kategorie: Programmierung Basic (von ET-Meister - 17.06.2009 21:48) | ||
Als Antwort auf Re: Fotowiderstand am ADC-Port von Montelucon - 17.06.2009 12:15 | ||
| ||
> > Hallo allerseits, > > > > ich habe folgendes einfaches Programm (am Bsp. Gewächshaus angelehnt) eingetippt: > > > > Dim lux As Integer > > > > Sub main() > > > > outputAktoren() > > > > Do While(True) > > > > inputSensor() > > > > If lux>200 Then > > > > Port_WriteBit(30,0) ' LED 1 geht an > > > > Else > > > > Port_WriteBit(30,1) ' LED 1 geht aus > > > > End If > > > > AbsDelay(2000) ' Aktualisierungzeit festlegen (alle 2 Sekunden Sensor (IST-Wert) lesen) > > > > End While > > End Sub > > > > Sub inputSensor() > > > > ADC_Set(ADC_VREF_VCC,ADC0) 'Festlegung der Referenzspannung für ADC0 > > lux=ADC_Read() 'Auslesen des anliegenden Wertes > > > > End Sub > > > > Sub outputAktoren() > > > > Port_DataDirBit(30,1) 'LED1 als Ausgang > > > > End Sub > > > > Als Hardware verwende ich den Mega 32 mit Aplikationsboard... > > > > Am ADC-Port 0 habe ich einen Fotowiderstand mit 10k Widerstand als Spannungsteiler angeschlossen. > > Ich möchte keine genauen Werte messen, sondern nur in Erfahrung bringen ob es sonnig, > > weniger sonnig oder dunkel ist. > > > > Wenn ich das Programm laufen lasse geht sofort LED1 an und bleibt dauerhaft an, egal ob es dunkel > > oder hell ist! Warum ist das so? Funktioniert überhaupt der ADC-Port? (Am Eingang des ADC-Ports > > messe ich ja Werte zwischen 0 und 5 Volt, je nach Helligkeit. > > > > Ich freue mich über jede Antwort! > > > > Hallo ET-Meister, > > Du solltest noch den ADC-Port als Eingang definieren. > Ich hatte es auch schon, dass er in der "Werkseinstellung" als Ausgang definiert war. > > Hinzu kommt, dass der ADC-Port mitunter vergisst, dass er ein Eingang ist. > Erst nachdem ich in der Ausleseroutine (das wäre bei dir "Sub inputSensor") die Definition als Eingang > reingeschrieben hatte, war das Problem weg. > > > Gru� > > Monte > Hallo Monte! Danke für deinen Tip, jetzt funktioniert das ganze! Komisch jeden digitalen Port deklariere ich sonst auch als Ein- bzw. Ausgang, aber am ADC-Port hatte ich nicht gedacht. Ist klar, wenn der Port in "der Luft" hängt, dass undefinierte Zustände vorkommen. Vielen Dank nochmal für deine Mithilfe! Gru�, ET-Meister | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum