Hallo,
kann mir jemand helfen.
schreibt irgend was, was euch dazu einfällt.
ich habe eine schaltung aufgebaut die richtig sein soll.???
kann sie nur nicht so programieren dass sie löpt.
Bild hier
gegeben:
-Vcc = 5v gleichspannung (stabiel)
-GND = 0V
-PD = pinc.4 ( input)
Also ich habe das:
-RN-Control 1.4 Mega32
-[BSctrl32]
und möchte einen taster anschliessen an den I/O port anschliesen.
habe ich nun auch, aber mit meiner programmierung funtzt es net richtig. Löst manchmal die Sub Ausweichen aus, wenn die kontakte sich nicht berühren.
ich proge mit Bascom AVR-Basic.
hier mein prog:
Code:
()$regfile = "m32def.dat"
$crystal = 16000000
Declare Function Tasterab() As Word
Declare Sub Vor()
Declare Sub Ausweichen()
Config Pinc.4 = Input
'Motor
'links
Config Pinc.6 = Output 'Linker Motor Kanal 1
Config Pinc.7 = Output 'Linker Motor Kanal 2
Config Pind.4 = Output 'Linker Motor PWM
'rechts
Config Pinb.0 = Output 'Rechter Motor Kanal 1
Config Pinb.1 = Output 'Rechter Motor Kanal 2
Config Pind.5 = Output
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
Tccr1b = Tccr1b Or &H02
Sound Portd.7 , 400 , 450 'BEEP
Sound Portd.7 , 400 , 250 'BEEP
Sound Portd.7 , 400 , 450
Dim Taster As Word
Do
Taster = Tasterab()
If Taster = 1 Then
Call Ausweichen()
Sound Portd.7 , 300 , 200
Else
Call Vor()
End If
Loop
End
Function Tasterab()
Tasterab = 0
If Pinc.4 = 0 Then
Tasterab = 1
Else
Tasterab = 0
End If
End Function Tasterab() As Word
Sub Vor()
Portc.6 = 0
Portc.7 = 1
Portd.4 = 1
Portb.0 = 0
Portb.1 = 1
Portd.5 = 1
Pwm1a = 220
Pwm1b = 220
End Sub Vor()
Sub Ausweichen()
Pwm1a = 0
Pwm1b = 0
Wait 1
Portc.6 = 1
Portc.7 = 0
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
Wait 3
Pwm1a = 0
Pwm1b = 0
Portc.6 = 0
Portc.7 = 1
Portd.4 = 1
Portb.0 = 1
Portb.1 = 0
Portd.5 = 1
Pwm1a = 200
Pwm1b = 200
Wait 1
Pwm1a = 0
Pwm1b = 0
Wait 5
End Sub Ausweichen()
WArum oder besser habe ich einen fehler im prog oder in der schaltung ?????
DANKE der UriAn
BITTE HELFT MIR.
Lesezeichen