Dag allemaal,

na jullie zoekmachine te raadplegen kom ik ten einde raad jullie hulp vragen bij het oplossen van mijn probleem. ik heb namelijk een programmatje geschreven waarbij een analoge spanning wordt ingelezen en afhankelijk van zijn grote zullen er meer of minder leds branden. Maar de leds die de spanning dienen weer te geven branden niet.

Het programma is geschreven in basic en is misschien wat lang voor wat de toepassing uiteindenlijk zal zijn, maar wel duidelijk denk ik. De microcontroller is een atmega 8 waarvan ik via pin C2 de analoge waarde inlees. de volledige portb dient de waarde weer te geven.

Code:

$regfile = "m8def.dat"

Config Portd = Output
Config Portc = Input
Config Portb = Output

Dim W As Word
Dim Channel As Byte
Dim Led0 As Byte
Dim Led1 As Word
Dim Led2 As Word
Dim Led3 As Word
Dim Led4 As Word
Dim Led5 As Word
Dim Led6 As Word
Dim Led7 As Word
Channel = 2
Led0 = 128
Led1 = 256
Led2 = 384
Led3 = 512
Led4 = 640
Led5 = 768
Led6 = 896
Led7 = 1024
Config Adc = Single , Prescaler = Auto
Start Adc

Do

W = Getadc(channel)
If W > Led0 Then
Pinb.0 = 1
End If
If W > Led1 Then
Pinb.1 = 1
End If
If W > Led2 Then
Pinb.2 = 1
End If
If W > Led3 Then
Pinb.3 = 1
End If
If W > Led4 Then
Pinb.4 = 1
End If
If W > Led5 Then
Pinb.5 = 1
End If
If W > Led6 Then
Pinb.6 = 1
End If
If W > Led7 Then
Pinb.7 = 1
End If

Loop

Stop Adc

End

Ziet iemand misschien hier de fout inzitten? zo niet dan zal het aan de hardware liggen.

Alvast bedankt,

Gerrit

Leds aangesloten met een weerstandje?

LED7 = 1024 gaat niet werken. De adc is 10bits en dus 1024 stappen. Dat is 0 tot 1023.

ja inderdaad dat moet 1023 zijn maar ondanks dat werkt geen enkele led. en ze zijn met een weerstand verbonden aan de massa ja. Ik vroeg me misschien af of ik hardwarematig een fout maak namelijk moet ik mijn analoog signaal ook een massa geven of mag een enkele signaal draad gewoon aan de analoge ingang leggen zonder massa?

groeten

Gewoon een potmeter, 1 poot aan de +, de andere aan de - en de middenaftakking aan de pin van je uC. Meer is het niet.

Geef anders eens een aansluit schema.