Hallo,
es funktioniert - aber noch nicht richtig.
ich habe den Code geändert, man beachte den Zusatz reference= internal. Wenn ich nun die Enden an +5V und Gnd schalte - und den Schleifer an 40 kann ich bei einem 10k Ohm Poti Werte erreichen.
Sie gehen von 0- 1023. Allerdings kann ich nur 1/4 des Potis ausnutzen. 1023 scheint ein Maximalwert zu sein.. wie kann ich das ändern?
Ohne den Zusatz "internal reference" erhalte ich nur den Wert 1023. An Pin 30 (AVCC) habe ich keine Spannung angelegt.
Wie kann ich jetzt die ganze Bandbreite des Poti ausnutzen?
Liegt der Fehler in der Hard / Software?.
Ansonstnen wollte ich noch einen Fotowiderstand dazu schalten. Wie müsste ich den anschließen. Hat ja nur 2 Enden.
Danke
Code:
$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000
Config Adc = Single , Prescaler = Auto , Reference = Internal
'Now give power to the chip
Start Adc
'With STOP ADC, you can remove the power from the chip
'Stop Adc
Dim W As Word , Channel As Byte
Channel = 0
'now read A/D value from channel 0
Do
W = Getadc(channel)
Print "Channel " ; Channel ; " value " ; W
Incr Channel
If Channel > 0 Then Channel = 0
Loop
End
Lesezeichen