- 3D-Druck Einstieg und Tipps         
Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 41

Thema: Hilfe bei Zeitsteuerung

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    58
    Beiträge
    117
    Anzeige

    LiFePo4 Akku selber bauen - Video
    'hier nach der debounce abfrage von porta.1

    Wait 1
    A = A + 1
    If A = 60 Then
    Porta.2 = 1
    If A = 61 Then
    Porta.2 =0
    End If
    If A =80 Then
    Porta.4 = 1
    If A = 81 Then
    Porta.3 = 0
    End If
    If A = 90 Then
    Porta.4 = 1
    If A = 91 Then
    Porta.4 = 0
    End if

    Loop Until A > 91

    A = 0

    'wieder an den progamm anfang springen

    weiss jetzt nicht wenn du das so übernimmst, ab dies läuft!
    aber so in etwa sollte es funktionieren.
    habe jetzt nicht viel zeit ,aber morgen werde ichmir das mal
    näher ansehen.
    berichte wie weit du bist.


    edit:

    sicher kannst du das machen,musst nur die wait 1 ändern und in millisekunden zählen lassen und die entsprechenden zeiten eintragen.

  2. #12
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.02.2007
    Beiträge
    341
    Müsste es nicht auch so klappen ?

    Code:
    $regfile = "m16def.dat"                                     'definieren des verwendeten Chips
    
    $crystal = 8000000                                          'definieren des verwendeten externen Quarz (8MHz)
    
    Config Pinc.A = Output  
    Kanal1 Alias Porta.0  
    Config Pinc.A = Output  
    Kanal2 Alias Porta.1
    Config Pinc.A = Output  
    Kanal3 Alias Porta.2
    
    Wait 1 
    A = A + 1 
    
    If A = 60 Then 
    Kanal1 = 1 
    Waitms 1000
    End If
    
    If A = 70 Then 
    Kanal2 = 1 
    Waitms 1000
    End If 
    
    Loop Until A > 71 
    
    A = 0

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    58
    Beiträge
    117
    es fehlen noch das ausschalten der pins und die deklarierung
    des pins heisst pinc.1 und nicht pinc.a.

    schau dir den code von dem link weiter oben mal an und verwende mal deinen mega16,wenns nicht klappt schreibe ich dir morgen mal dein
    programm.gebe mir aber mal die genauen anforderungen dazu,oder
    ist das was du ganz oben geschrieben hast noch aktuell.

  4. #14
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.02.2007
    Beiträge
    341
    Hi, danke das du das machen würdest.

    Ja das von oben ist noch Aktuell. Nur die Zeit soll in Minuten/Sekunden/Millisekunden angegeben werden.

    mfg Yannic

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    58
    Beiträge
    117
    so habe mal ein kleines prog geschrieben,schreibe es auf deine
    ports um. nur so lernst du etwas.ich habe auch erst im dez 2006
    angefangen.ich nehme mir kleine programme aus denn forum und
    schreibe sie mir um und erweitere sie,nur so lernt man etwas.
    auch wenn man sie nicht braucht.also viel spass damit.
    [/code]
    Angehängte Dateien Angehängte Dateien

  6. #16
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.02.2007
    Beiträge
    341
    Danke werd ich machen

  7. #17
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.02.2007
    Beiträge
    341
    Hi,

    also ich hab heute mein Board von Pollin bekommen und erstmal die testdatei von denen aufgespielt. Funktioniert soweit auch alles super:

    Testdatei von Pollin:

    Code:
    '--------------------------------------------------------------------------'
    '                        Testtool.bas                                      '
    '                   2006 ,Pollin Electronic                                '
    '                          Freeware                                        '
    '--------------------------------------------------------------------------'
    '                                                                          '
    'Pollin Electronic Atmel-Evaluation-Board                                  '
    'Bestellnummer: 810022                                                     '
    'Testprogramm für ATmega16                                                 '
    'Der gesendete Text kann mit dem Hyperterminal von Windows angezeigt werden'                                                               '
    'Einstellungen am Hyperterminal:                                           '
    '              Bits pro sekunde:   9600                                    '
    '              Datenbits       :      8                                    '
    '              Parität         :  keine                                    '
    '              Stoppbits       :      1                                    '
    '              Flusssteuerung  :  keine                                    '
    '                                                                          '
    '--------------------------------------------------------------------------'
    
    $regfile = "m16def.dat"                                     'definieren des verwendeten Chips
    
    $crystal = 8000000                                          'definieren des verwendeten externen Quarz (8MHz)
    
    Dim A As Byte                                               'dimensionieren der verwendeten Variablen
    Dim B As Byte
    
    Ddrd = &B11100000                                           'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
    Portd = &B00000000                                          'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
    
    
    Main:                                                       'Hauptprogramm
    Do                                                          'Anfang der Schleife
    
      If Pind.2 = 1 Then                                        'Wenn an Pin 2 von Port D ein high level anliegt, dann...
    
      Toggle Portd.5                                            '...setze Pin 5 von Port D von high auf low oder umgekehrt
      Bitwait Pind.2 , Reset                                    'warte bis an Pin 2 von Port D wieder ein low level anliegt
    
      End If                                                    'Ende der Bedingung
      If Pind.3 = 1 Then                                        'Wenn an Pin 3 von Port D ein high level anliegt, dann...
    
      Toggle Portd.6                                            '...setze Pin 6 von Port D von high auf low oder umgekehrt
      Bitwait Pind.3 , Reset                                    'warte bis an Pin 3 von Port D wieder ein low level anliegt
    
      End If                                                    'Ende der Bedingung
      If Pind.4 = 1 Then                                        'Wenn an Pin 2 von Port D ein high level anliegt, dann...
    
      Gosub Beep                                                '...gehe zum Untermenü "Beep"
      Gosub Textausgabe                                         '...gehe zum Untermenü "Textausgabe"
      Bitwait Pind.4 , Reset                                    'warte bis an Pin 4 von Port D wieder ein low level anliegt
    
      End If                                                    'Ende der Bendingung
    
    Loop                                                        'zum Anfang der Schleife
    
    Beep:                                                       'Untermenü "Beep"
    
      Portd.7 = 1                                               'setzte den Pin 7 von Port D auf high
      Waitms 500                                                'Warte 500 ms
      Portd.7 = 0                                               'setzt den Pin 7 von Port D auf low
    
    Return                                                      'zurück zum Hauptmenü
    
    Textausgabe:                                                'Untermenü "Textausgabe"
    
      Print "Atmel-Evaluation-Board"                             'Sende den Text in den Anführungszeichen über RS232 zum PC
    
    Return                                                      'zurück zum Hauptmenü
    Um Nun erstmal aufm Board zu testen ob die Zeitsteuerung funktioniert, habe ich sie auf die internen Boardelemente umgeschrieben:

    Code:
    $regfile = "m16def.dat"                                     'definieren des verwendeten Chips
    
    $crystal = 8000000                                          'definieren des verwendeten externen Quarz (8MHz)
    
    Dim A As Byte                                               'dimensionieren der verwendeten Variablen
    Dim B As Byte
    
    Ddrd = &B11100000                                           'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
    Portd = &B00000000                                          'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
    
    
    Main1:  
    A = 0                                                       'variable der zeit auf null                                                    'Hauptprogramm
    Do                                                          'Anfang der Schleife
    
      If Pind.2 = 1 Then                                        'Wenn an Pin 2 von Port D ein high level anliegt, dann...
    
    Main2:
    
    Do                                                          ' start der schleife
    
    Wait 1                                                      ' wartezeit eine sekunde
    
     A = A + 1                                                  'variable un eins erhöhen
    
       If A = 5 Then                                           ' bei 1 minute
        Portd.5 = 1                                             'port einschalten
       End If
         If A = 10 Then
           Portd.1 = 0                                          'nach einer sekunde wieder ausschalten
         End If
    
       
     
    
    Loop Until A > 20                                      'zeit abgelaufen schleife verlassen
    
    '***** Zeit abgelaufen *************************
    
    Goto Main1                                                  'rücksprung zum start
    
    End                                                         'end programm
    Leider passiert wenn ich den Taster aufm Board drücke nichts.

    Han ich was falsch gemacht ? Eigentlich sollte auf em Board nach drücken des Tasters eine Led nach 5 Sek angehen. Die verwendeten Ports vom Pollin Board stehen im oberen Code.

    Könnt ihr mir helfen ?

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    58
    Beiträge
    117
    hallo, schaue dir deinen code mal genauer an.compilere ihn und du
    bekommst deine fehler angezeigt.hast da einige drin.
    nur mal so: main2: wo ist die?
    do loop schleifen überprüfen.

    mike

  9. #19
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.12.2006
    Alter
    58
    Beiträge
    117
    so habe dir den code geändert.
    du darfst nicht einfach drauf los schreiben,musst dir schon ein
    paar gedanken machen.immer im simulator prüfen oder
    oben auf den syntax-prüfen icon drücken.dann bekommst du deine
    fehler angezeigt
    Angehängte Dateien Angehängte Dateien

  10. #20
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.02.2007
    Beiträge
    341
    Hm, das programm funktioniert so leider trotzdem nicht.

    Wenn ich den Taster drücke passiert nichts.

    Edit. bzw. wie mache ich aus der .bas datei ne Hex Datein ? Wenn ich die .bes in Ponyprog einfüge macht er ja gleich ne Hex draus, aber dabei scheints probleme zu geben.

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte

Berechtigungen

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

12V Akku bauen