PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erstes Projekt: auf Tastendruck soll Motor starten



RN-Controler
22.07.2007, 12:47
Moin Moin,

hab mir ein RN-Control 1.4 gekauft und versuch nun mein erstes Projekt, was natürlich nicht auf anhieb funktioniert. Wenn man auf Taste1 drückt soll der Motor starten, allerdings tut sich beim Tastendruck gar nichts, woran kann das liegen?



Declare Sub Motortest()


Declare Function Tastenabfrage() As Byte
$regfile = "m16def.dat"

$crystal = 16000000
$baud = 9600





Config Pina.7 = Input
Porta.7 = 1




Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.4 = Output

Config Adc = Single , Prescaler = Auto
Dim Taste As Byte




Function Tastenabfrage() As Byte
Local Ws As Word
Tastenabfrage = 0

Start Adc
Ws = Getadc(7)
If Ws < 1010 Then
Select Case Ws
Case 410 To 450
Tastenabfrage = 1


End Select

End If
End Function


Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call Motortest

End Select
End If
Waitms 100
Loop
End


Sub Motortest()

Portc.6 = 1
Portc.7 = 0
Portd.4 = 1



Pwm1a = 100
Pwm1b = 100


End Sub

Goldstein
22.07.2007, 13:42
Mal ne blöde Frage, was isn das fürne Sprache?^^ Sieht irgendwie aus wie ASM, aber irgendwie auch nicht xD

RN-Controler
22.07.2007, 14:24
Mal ne blöde Frage, was isn das fürne Sprache?^^ Sieht irgendwie aus wie ASM, aber irgendwie auch nicht xD

das ist Basic also mit in Bascom geschrieben

albundy
22.07.2007, 14:25
Hallo,

die Function sollte nicht am Anfang des Programmes stehen.
Sonst wird das Hauptprogramm nie ausgeführt.
Die Do ... Loop Schleife gehört an den Anfang. (nach Dim Taste as Byte)

Die Select Case Anweisungen sind falsch.
( nach Case ... gehört ein Doppelpunkt und dahinter die Anweisung )
sieh dir am Besten mal die Hilfe dazu an.

Pwm1a und Pwm1b in der Sub bewirkt überhaupt nichts, da du keine PWM eingerichtet hast.
sieh dir mal Config Timer1 = Pwm in der HIlfe an.
In dem Beispiel wird gezeigt, wie eine PWM eingerichtet wird.

Goldstein
22.07.2007, 14:32
Ähm vorhin war der Thread aber noch im Elektronik-Forum, oder? Weil andernfalls war meine Frage ganz schön dämlich :D

Danke ;)

RN-Controler
22.07.2007, 14:33
ok danke, werde mal die fehler durchgehen...hab nämlich noch so gut wie keine ahnung von Bascom

RN-Controler
22.07.2007, 14:34
Ähm vorhin war der Thread aber noch im Elektronik-Forum, oder? Weil andernfalls war meine Frage ganz schön dämlich :D

Danke ;)

ne, das war die ganze Zeit schon hier O:)

RN-Controler
22.07.2007, 14:49
geht das ganze vielleicht auch leichter?
also per Knopfdruck Motor starten?

adrisch
22.07.2007, 16:01
NAja, im Hauptprogramm eine while-Schleife, die solange ausgeführt wird, bin der Tasterport auf 1 is. Dann muss man nur noch den Motor anschalten.

Beim ASURO (in Bascom) würde das so aussehen:


$regfile = "m8def.dat"
$crystal = 8000000
$baud = 2400


Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 'PWM konfigurieren
Config Pinb.0 = Input 'Taster konfigurieren
Portb.0 = 1
Taster Alias Pinb.0


While Taster = 0 'Solange kein Tastendruck...
Wend 'Nichts tun
Pwm1a = 255 'danach: Motor anschalten



Do

Loop


MfG,
Adrian

RN-Controler
22.07.2007, 19:55
NAja, im Hauptprogramm eine while-Schleife, die solange ausgeführt wird, bin der Tasterport auf 1 is. Dann muss man nur noch den Motor anschalten.

Beim ASURO (in Bascom) würde das so aussehen:


$regfile = "m8def.dat"
$crystal = 8000000
$baud = 2400


Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 'PWM konfigurieren
Config Pinb.0 = Input 'Taster konfigurieren
Portb.0 = 1
Taster Alias Pinb.0


While Taster = 0 'Solange kein Tastendruck...
Wend 'Nichts tun
Pwm1a = 255 'danach: Motor anschalten



Do

Loop


MfG,
Adrian

danke, hab aber noch 2 fragen:
1. wo kann ich die benötigten pins für den taster nachgucken?
(Config Pinb.0 = Input Portb.0 = 1 Taster Alias Pinb.0)

2. muss ich auf meinem board noch irgendwas verbinden, hab ja das rn-control 1.4?

adrisch
22.07.2007, 20:23
zu 1.: Schaltplan
zu 2.: Naja, ich kenn den Schaltplan vom RN-Control nich, aber wenn man die Ports umändert, müsstes gehn.Ich schaus mir mal an

MfG,
Adrian

RN-Controler
23.07.2007, 13:00
so siehts nun aus wenn ich es nach deiner Vorgabe mach, allerdings passiert da gar nichts wenn ich auf die Taste drück. Wenn ich anstatt pwm1a pwm1b schreibe, dann läuft der Motor komischerweise ununterbrochen, egal ob Tastendruck oder nicht.





$regfile = "m16def.dat"

$crystal = 16000000
$baud = 9600

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1 'PWM konfigurieren
Config Pina.7 = Input 'Taster konfigurieren
Porta.7 = 1
Taster Alias Pina.7



While Taster = 0 'Solange kein Tastendruck...
Wend 'Nichts tun
Pwm1a = 255 'danach: Motor anschalten



Do

Loop
[/list]