Archiv verlassen und diese Seite im Standarddesign anzeigen : Erstes Projekt: auf Tastendruck soll Motor starten
RN-Controler
22.07.2007, 13: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, 14: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, 15: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
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, 15: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, 15:33
ok danke, werde mal die fehler durchgehen...hab nämlich noch so gut wie keine ahnung von Bascom
RN-Controler
22.07.2007, 15: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, 15:49
geht das ganze vielleicht auch leichter?
also per Knopfdruck Motor starten?
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, 20: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?
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, 14: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]
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.