- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: Mega8 soll bei 5V Signal schalten

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519

    Mega8 soll bei 5V Signal schalten

    Anzeige

    E-Bike
    Hallo

    Ich bin in Bascom noch ein ziemlicher Anfänger.
    Nun es ist so, dass mein MEga8 bei einem 5V Signal am Eingang dann die Motoren schalten soll.

    Wie muss ich das programmieren...
    Momentan sieht das ganze so aus:

    Code:
    $regfile = "m8def.dat"                                     
    $crystal = 3686411                                          
    
    Ddrd = &B11110000                                         
    Ddrc = &B00000000
    
    
    
    
    
    Do
    
    Loop
    
       If Pinc.2 = 1 Then                                    
    
         Portd.4 = 0
         Portd.7 = 0
    
         Portd.6 = 1
         Portd.5 = 1
         Waitms 2000
       End If
    
    End
    Mein AVR lässt das aber kalt, der macht da überhaupt nix wenn ein 5V Signal an PC2 kommt

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    du solltest in den else teil packen dass die ganzen ports wieder zurückgesetzt werden, ebenso nach den 2 sekunden wartezeit... sonst schaltet der AVR ein mal und dann nie wieder...

    alternativ so:

    Do

    Loop

    If Pinc.2 = 1 Then

    Portd.4 = 0
    Portd.7 = 0

    Portd.6 = 1
    Portd.5 = 1
    Waitms 2000
    End If

    Portd.4 = 0
    Portd.7 = 0

    Portd.6 = 0
    Portd.5 = 0
    End

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    29.12.2004
    Ort
    Bayern
    Alter
    45
    Beiträge
    90
    hallo,
    was macht die "do loop" Anweisung am anfang?
    das heißt, der mega führt nur das aus, was zwischen "do" und "loop" steht, also nix.
    wenn das Prog. einmal ablaufen soll, das "do loop" weglassen, wenn es immer wieder laufen soll, dann "do" am Anfang, "loop" am Ende des abzuarbeitenden Progs.
    mfg ralf

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    also insgesamt so:


    Do

    If Pinc.2 = 1 Then

    Portd.4 = 0
    Portd.7 = 0

    Portd.6 = 1
    Portd.5 = 1
    Waitms 2000
    End If

    Portd.4 = 0
    Portd.7 = 0

    Portd.6 = 0
    Portd.5 = 0

    loop


    End[/quote]

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.03.2005
    Ort
    Ulm
    Alter
    37
    Beiträge
    519
    Danke, nun geht es

Berechtigungen

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

Labornetzteil AliExpress