- 12V Akku mit 280 Ah bauen         
Ergebnis 11 bis 20 von 24

Thema: Mehrere Programme gleichzeitig laufen lassen geht nicht.

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    15.02.2005
    Alter
    35
    Beiträge
    23
    Hallo
    Hier ist das gesamte Prog.

    Code:
    '###################################################
    'Überwachungsroboter.bas
    'Überwachungsroboter
    'Projekt von Andres
    '#######################################################
    
    
    Declare Function Bewegungsmelder() As Byte
    Declare Sub Linieverfolgung()
    
    
    
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    
    
    Dim I As Integer
    Dim N As Integer
    Dim Ton As Integer
    
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    Config Adc = Single , Prescaler = Auto                      'Für Tastenabfrage und Spannungsmessung
    
    Config Pina.7 = Input                                       'Für Tastenabfrage
    Porta.7 = 1                                                 'Pullup Widerstand ein
    
    Config Pina.5 = Input
    Config Pina.6 = Input
    Config Pina.2 = Input
    Config Pina.3 = Input
    Config Porta.4 = Output
    
    
    Dim Taste As Byte
    Dim Volt As Single
    ' Für Linieverfolgung
    'Ports für linken Motor
    Config Pinc.6 = Output                                      'Linker Motor Kanal 1
    Config Pinc.7 = Output                                      'Linker Motor Kanal 2
    Config Pind.4 = Output                                      'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output                                      'Rechter Motor Kanal 1
    Config Pinb.1 = Output                                      'Rechter Motor Kanal 2
    Config Pind.5 = Output                                      'Rechter Motor PWM
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02                                     'Prescaler = 8
    
    
    
    
    
    I = 0
    Waitms 5000
    Sound Portd.7 , 400 , 450                                   'BEEP
    Sound Portd.7 , 400 , 250                                   'BEEP
    Sound Portd.7 , 400 , 450
    Print
    Print "**** RN-Control 1.4 *****"
    Print "Das neue Experimentier- und Roboterboard"
    Print "Weitere passende Zusatzboards bei www.robotikhardware.de"
    Print "Projekt Ueberwachungsroboter von Andres"
    Print
    Do
    
    
    
    
    
    
    Do
    
       Taste = Bewegungsmelder()
          If Taste <> 0 Then
    
    Select Case Taste
    
            Case 1
             Pwm1a = 0                                          'Linker Motor aus
             Waitms 1000
             Pwm1a = 1023
             Print "Rechts weisse Linie erkannt"
    
            Case 2
             Pwm1b = 0
             Waitms 1000
             Pwm1b = 1023
             Print "Links weisse Linie erkannt"
    
            Case 3
              Waitms 2000
              Porta.4 = 1
              Waitms 800
              Porta.4 = 0
              Waitms 1000
              Porta.4 = 1
              Waitms 500
              Porta.4 = 0
              Waitms 4000
              Porta.4 = 1
              Waitms 500
              Porta.4 = 0
              Waitms 4000
              Porta.4 = 1
              Waitms 500
              Porta.4 = 0
              Print "Person gesichtet und fotografiert"
              Waitms 5000
              Call Linieverfolgung
              End Select
       End If
    
      Waitms 100
    Loop
    
    End
    
    
    
    
    Function Bewegungsmelder()
    Local B As Word
    Local C As Word
    Local We As Word
    Bewegungsmelder = 0
                                           'Diese Unterfunktion überwacht den Raum und folgt Der Linie
    Start Adc
    B = Getadc(5)
    C = Getadc(6)
    We = Getadc(2)
       If We < 1010 Then
       Select Case We
       Case 380 To 470
          Bewegungsmelder = 3
    
       Case 535 To 720
          Bewegungsmelder = 3
       End Select
       End If
       If B < 1010 Then
       Select Case B
       Case 412 To 820
        Bewegungsmelder = 1
       Case Else
    '   Print "Wert anpassen!ADC Wert B=" ; B
       End Select
       End If
    
    
       If C < 1010 Then
       Select Case C
       Case 412 To 820
        Bewegungsmelder = 2
        Print "Wert anpassen!ADC Wert C=" ; C
       End Select
       End If
    
    
    End Function
    
    
    
    Sub Linieverfolgung()
    
      Waitms 1000
    
    
       'Linker Motor ein
       Portc.6 = 1                                              'bestimmt Richtung
       Portc.7 = 0                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
       'Rechter Motor ein
       Portb.0 = 1                                              'bestimmt Richtung rechter Motor
       Portb.1 = 0                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
       I = 0
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 10
          I = I + 5
       Loop Until I > 1023
                                                           '
       Waitms 100
    
      Do
       Pwm1a = 1023
       Pwm1b = 1023
      End
    
    End Sub
    
    
    
      Loop
      Loop

    Und hier der Schaltplan zum ansteuern der CN70's
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltplan_883.jpg  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress