Archiv verlassen und diese Seite im Standarddesign anzeigen : Poti und RN-Control
Hallo Leute,
Ich besitze den RN-Control und bin Neuling. Ich würde ich gerne einen Poti ( 0 bis 420kOhm) anschließen und mit diesem etwas arbeiten.
Wie sieht das Programm aus (Bascom: Der Widerstandsbereich soll in 8 Bereiche aufgeteilt werden, für die LEDs, die dann nacheinander leuchten sollen, wenn den Poti höher schraube ).
Ich weiß, dass es einfach ist, aber ich hab das noch nie gemacht!
Moritz f.
18.05.2006, 19:22
Hallo,
das ganze passiert über einen sogenannten ADC (analog/Digital converter)
Google mal danach oder schau dir dieses Beispiel an, da ist auch die ausgabe an einem Lcd dabei.
http://mikrocontroller.cco-ev.de/php/counter/counter.php?datei=Bas_ADC.zip&location=http://mikrocontroller.cco-ev.de/files&type=count
MfG Moritz
Hallo,
das ganze klappt bei mir noch nicht richtig. Mit dem ADC weiß ich bescheid. Das Programm erkennt bei mir nicht die Werte für den Poti. Ich habe den Poti am PA.6 und PA.7 (RN-Control Mega32 Board) angeschlossen, die Spannung verändert sich auch, wenn ich am Poti drehe, doch das Programm reagiert nicht, obwohl ich viel ausprobiert habe.
Könnte mir vielleicht jemand ein weiteres Beispiel zeigen und sagen, ob ich den Poti richtig angeschlossen habe!
Gruß, Palmer
Andree-HB
19.05.2006, 13:33
...wie sieht denn Dein Programm aus ?
Hallo,
Mein Programm sieht so aus (da sind wahrscheinlich viele Fehler):
Config Portc = Output
Config Pina.7 = Input
Porta.7 = 1
Config Adc = Single , Prescaler = Auto
Start Adc
Dim W As Word , Channel As Byte
Channel = 0
Do
If W = Getadc(7) Then
Portc = &B00000000
Else
Portc = &B11111111
End If
Loop
End
Das ist mein erstes.
Mein zweites lautet:
Config Portc = Output
Config Pina.7 = Input
Porta.7 = 1
Declare Sub T1()
Declare Sub T2()
Declare Sub T3()
Declare Sub T4()
Declare Function Tastenabfrage() As Byte
Config Adc = Single , Prescaler = Auto
Dim Taste As Byte
Start:
Portc = &B11111111
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call T1
Case 2
Call T2
Case 3
Call T3
Case 4
Call T4
End Select
Else
End If
Sub T1()
...
End Sub
Sub T2()
...
End Sub
Sub T3()
...
End Sub
Sub T4()
...
End Sub
Loop
Function Tastenabfrage() As Byte
Local Ws As Word
Tastenabfrage = 0
Start Adc
Ws = Getadc(7)
If Ws < 500 Then
Select Case Ws
Case 400 To 450
Tastenabfrage = 1
Case 330 To 380
Tastenabfrage = 2
Case 260 To 305
Tastenabfrage = 3
Case 180 To 220
Tastenabfrage = 4
End Select
End If
End Function
Für das Zweite Programm habe ich einen Teil der Demo von den Tastern benutzt, um die einzelnen Widerstandsbereiche festzulegen (Das Poti habe ich am Porta.7 und Porta.6 angeschlossen). Diese sind wahrscheinlich falsch, doch ich weiß nicht wie sie aussehen müssen. Mein Poti besitzt einen Widerstand von 420kOhm.
Gruß, Palmer
Hallo,
wie genau hast Du das Poti angeschlossen?
Normal hängt der mittlere Anschluss am Port, die anderen
beiden an +5V und GND.
Du schreibst von PA.6 und PA.7. Das Poti gehört aber nur an
einen Port ...
Im ersten Programm oben muss nach dem Do ein W = Getadc(7)
folgen, wenn das Poti an PA.7 hängt.
Hallo,
ich hab den fehler gefunden. Mein Programm funktioniert zwar (mit PA.7), aber am Poti hat eine Klemme nicht richtig gesessen (ich wollte den einen Poti an zwei Datenleitungen setzten), deswegen war kein Kontakt da!
Danke, Palmer
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.