- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Anfänger Problem

  1. #1
    smookie
    Gast

    Anfänger Problem

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi ich habe da mal ein Problem

    ich fange gerade mit der programmierung von atmels in Basic an und möchte nun gern eine Steureung programmieren die dafür sorgt das ein Fahrzeug einer linie folgt soweit so gut. aber das Fahrzeug soll wenn es an bestimmte punkte kommt für eine gewisse zeit stehen bleiben. dafür wird von einem Sensor ein Eingang auf 1 geschaltet bleibt aber auch so geschaltet nun soll eine Zeit ablaufen und das Fahrzeug weiter fahren. bis jetzt hab ich es nur geschaft das die Zeit abläuft wenn der Eingang wieder auf null liegt.

    Ich hoffe ihr könnt mir Helfen

    smookie

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    Tip:
    Timer und Interrupt rising faling
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    smookie
    Gast
    die beiden Begriffe sagen mir zur zeit nicht viel da ich wie gesagt ein absoluter anfänger bin

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    47
    Beiträge
    408
    na du mußt doch bloß deine schon vorhandene eingangsabfrage negieren
    für IF pina.1 = 0 machste IF pina.1 =1
    Und wenn du mit dem internen Timer (nicht wait Befehle) und interrupt arbeitest dann siehe vitis

    ansonsten poste mal den codeteil

  5. #5
    smookie
    Gast
    Code:
     Config Portd.5 = Output
     Led1 Alias Portd.5
     Config Pind.2 = Input
    
     Taster1 Alias Pind.2
     Config Portd.6 = Output
     Led2 Alias Portd.6
    
     Config Pind.3 = Input
     Taster2 Alias Pind.3
    
     Config Pind.4 = Input
     Taster3 Alias Pind.4
     Portd.5 = 0
     Portd.6 = 0
    
      Do
         If Taster3 = 0 Then
    
         If Taster1 = 1 Then
           Gosub Pulse1
         Else
           Led1 = 0
         End If
    
         If Taster2 = 1 Then
           Gosub Pulse2
         Else
           Led2 = 0
         End If
    
         Else
           Reset Led1
           Reset Led2
           Wait 2
         End If
         Waitms 100
    
      Loop
    
    
    Pulse1:
          Led1 = 1
          Waitms 20
          Led1 = 0
          Waitms 20
          Return
    
    Pulse2:
          Led2 = 1
          Waitms 20
          Led2 = 0
          Waitms 20
          Return
    Das ist mal das Gesamte Programm.
    Wenn ich Taster3 drücke werden in dem Moment wo ich ihn los lasse alle amdere Eingangs Signale für 2 Sekunden blokiert. Aber ich habe an dem Taster3 in dem Moment wo er blockieren soll ein dauer Signal das ist mein problem
    Hoffe ich stell mich nich total blöd an

    €: wenn ich den taster3 gedrückt halt passiert gar nichts.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    47
    Beiträge
    408
    ist der taster 3 gegen masse geschaltet oder gegen 5V ?

    davon mal abgesehn erklär mal wie das programm arbeiten soll


    und reset led1 ist das gleiche wie led1=0

  7. #7
    smookie
    Gast
    der taster 3 sowie die anderen ist gegen 5V geschaltet

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    47
    Beiträge
    408
    wenn du eine abfrage einmal abgearbeitet haben willst setzt dir einen merker
    zb

    do
    ...

    if taster = 1 then gosub warteschleife (wenn taster gedrückt)
    if taster =0 then a=0 (wenn taster losgelassen dann merker wird zurückgesetzt)
    loop

    warteschleife:
    if a=0 then wait 2
    a=1 ( merker wird gesetzt )
    return

  9. #9
    smookie
    Gast
    könnte ich dann in den unterpunkt warteschleife auch gleich ein abschalten der beiden ausgänge mit einbauen?


    mir ist gerade noch eine andere idee gekommen gibt es eine möglichkeit extern also mit bauelementen aus dem dauersignal einen kurzen impuls zu machen.

    schonmal vielen dank

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.12.2005
    Ort
    @FFM
    Alter
    47
    Beiträge
    408
    extern ist aufwendig und blödsinn:

    oder mach halt so

    do

    code
    ..
    if taster3=1 then (wenn taster gedrückt
    if a=0 then gosub xyz ( und vorher auf 0 war springe xyz )
    endif
    a=0

    code ...
    loop

    xyz:
    hier kannst du alles reinschreiben was passieren soll wenn der taster gedrückt wurde

    a=1
    return

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Solar Speicher und Akkus Tests