@florian: Sag ich ja, 10k geht, aber viel mehr soll's angeblich nicht mehr sein
Druckbare Version
@florian: Sag ich ja, 10k geht, aber viel mehr soll's angeblich nicht mehr sein
Hallo,
wenn ich bei einem 10k Poti den Schleifer an Port 40 , und die beiden Enden an 32 und 31 schalte, druckt folgender Coder nur 1023.
KAnn mir jemand Hilfestellung geben?
Code:$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000
Config Adc = Single , Prescaler = Auto
'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 > 7 Then Channel = 0
Loop
End
Hallo Arne!
Mit C kenne ich mich leider nicht allzu gut aus, aber normalerweise müsste es so wie beschrieben funktionieren!
Macht auch nix, weil der Code in BASIC ist :DZitat:
Zitat von Florian
Der Code reicht auch.Code:$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000
Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word
Do
W = Getadc(0)
Print W
Loop
End
Hast du auch 5V an 30 angelegt?
habe 5 Volt an 30 gelegt, Schleifer an 40. Wo müssen denn die anderen hin. Sonst ist er noch völlig unbeschaltet.
Wo muss wer noch hin?
Die anderen beiden Anschlüße des Potis hast du doch schon angeschlossen.
Was liegt denn an 32 an?
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
30 und 32 sind unbeschaltet.
Hi Marco78!
OAPS! *lol*Zitat:
Macht auch nix, weil der Code in BASIC ist
Danke für den Hinweis!
So langsam müsste ich das aber auch mal auseinander ahlten können! *g*
Ein Beinchen des Potis muss an + und eins an - und das Dritte, der Schleifer, der muss an den Port!
*edit*
Du muss die Pins Aref und Avcc mit Vcc (5V) verbinden und GND mit GND verbinden.
Dann musst Du auf externe Referenzspannung umschalten!
Die interne Referenzspannung liegt bei 2,56V!
Wenn die Referenz auf Internal steht, werden nur Spannung bis 2,56V gemessen.
an 30 und 32 müssen 5V angeschlossen sein und an 31 Masse. Dann sollte es gehen.
Den Fotowiderstand kannst/musst du auch als Spannungsteiler anschliesen.
5V an den LDR, das andere Ende des LDR an den ADC und vom ADC ein Widerstand (nimm erstmal etwa 5kOhm) gegen Masse.
EDIT: Da war Flo mit editieren schneller als ich mit antworten ;)