- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: 5 Minuten Timer mit Attiny 13

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7

    5 Minuten Timer mit Attiny 13

    Hallo,

    vielleicht könnt Ihr mir bei folgendem Problem weiterhelfen. Ich würde gerne einen 5 Minuten Timer für den Attiny 13 Programmieren mit folgenden Anforderungen.

    Beschreibung:

    -Wenn ein Taster S1 (Eingang 1) betätigt wurde, sollen die 5 Minuten ablaufen.
    -Wärend die 5 Minuten ablaufen, werden 2 Ausgänge (Ausgang 1 und 2) geschaltet.
    -Nachdem die 5 Minuten abgelaufen sind, sollen die 2 Ausgänge (Ausgang 1 und 2) wieder abgeschaltet werden.
    -Daraufhin soll ein weiterer Ausgang (Ausgang 3) für (1-2sek.) einen Piezo - Summer ansteuern.
    -Danach soll man den Ablauf mit (S1) neu starten können.

    Ich habe mir die Belegung der Ports so vorgestellt:

    Klicke auf die Grafik für eine größere Ansicht

Name:	LPmikroSoft.jpg
Hits:	102
Größe:	45,7 KB
ID:	18402

    Eingang 1 = PB1
    Ausgang 1 = PB2
    Ausgang 2 = PB3
    Ausgang 3 = PB4

    Wie kann ich das Programm in z.B Bascom Programmieren? Ich habe leider kaum Ahnung vom Programmieren. Kann mir vielleicht einer weiterhelfen?

    Gruß
    John13

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hallo John,
    Zitat Zitat von John13 Beitrag anzeigen
    ...Wie kann ich das Programm in z.B Bascom Programmieren? Ich habe leider kaum Ahnung vom Programmieren. Kann mir vielleicht einer weiterhelfen?...
    Um Programmieren zu können muß man das erst mal lernen. Meine ersten Schritte zum AVR Programmieren habe ich zB mit dem RN-Wissen Artikel AVR-Einstieg_leicht_gemacht getan.

    Dort wird zwar mit Mega16 bzw Mega32 gearbeitet. Eine Anpassung der einfachen Bascom Übungen auf ATtiny13 sollten aber kein Problem darstellen und Fragen dazu werden hier sicher auch beantwortet.

    Ansonsten solltest Du uns mehr über Deine Voraussetzungen erzählen.

    zB Hast Du Bascom schon auf dem PC installiert und damit schon den ATtiny13 geflasht?


    Gruß
    Searcher
    Geändert von Searcher (03.04.2011 um 07:35 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7
    Hallo Searcher,

    Danke für den Link. Ich besitze das Mikrocontroller Lernpaket von Franzis und habe damit auch schon die Grundschaltungen Programmiert. Auf meinem Rechner habe ich übrigens Bascom, AVR Studio 4 und WinAVR. Mit Bascom und AVR Studio 4 habe ich auch schon kleine Programme (Blinkschaltung) geflasht. Natürlich alles nach dem Handbuch von Franzis.

    Gruß
    John13

  4. #4
    Hallo, John13,
    das ist so ein schönes Anfängerproblem, dass Du das in kurzer Zeit selbst schaffst. Für den Anfang kannst Du es ja mit wait (Puristen weghören!) probieren, aber dann auf jeden mit dem Timer.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7
    Hallo dolivo,

    ich habe mal versucht das programm zu schreiben, aber irgendwie haut das noch nicht so richtig hin.
    den quellcode habe ich im Anhang.

    Code:
    '5 Minuten Timer für Attiny13                                                   05.04.2011'
    
    'Einstellungen ---------------------------------------------------------------------------'
    
    $regfile = "attiny13.dat"
    $crystal = 1200000
    $hwstack = 0
    $swstack = 0
    $framesize = 0
    
    Config Portb.1 = Input                                      ' Taster(S1)
    Config Portb.2 = Output                                     ' LED1
    Config Portb.3 = Output                                     ' LED2
    Config Portb.4 = Output                                     ' Piezo-Summer
    Config Timer0
    
    'Hauptprogramm ---------------------------------------------------------------------------'
    
    Do
          if Portb.1 = 1 then
          Portb.2 = 1 
          Portb.3 = 1
          Waitms 300000
          then Portb.4 = 1
          Portb.2 = 0
          Portb.3 = 0
          Waitms 1000 
          then Portb.4 = 0
    Loop
    Die Grundlagen habe ich mir übrigens auch schon durchgelesen.
    Ich hoffe einer von euch kann mir da weiter helfen

    Gruß
    John13

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.05.2005
    Ort
    Berlin
    Beiträge
    316
    Ich hab die Bascom Feinheiten jetzt nicht im Kopf, aber wenn du einen Eingang abfragen willst, musst du das über PIN.X machen.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von Bernd_Stein
    Registriert seit
    19.09.2008
    Ort
    Deutschland : Nordrhein-Westfalen ( NRW )
    Alter
    53
    Beiträge
    407
    Zitat Zitat von John13 Beitrag anzeigen
    Hallo,
    ...

    Wie kann ich das Programm in z.B Bascom Programmieren? Ich habe leider kaum Ahnung vom Programmieren. Kann mir vielleicht einer weiterhelfen?

    Gruß
    John13
    Hallo,

    da das Programm nicht allzu kompliziert erscheint, solltest Du nach einem ähnlichen Programm für den ATtiny13 suchen, das dann umgestrickt werden kann.
    D.h. nach Monoflop, Zeitrelais und dergleichen suchen. Ich selbst übe mich in Assembler, eine andere Programmiersprache kann ich nicht. Lass Dich für dein Problem nicht von Assembler abhalten, da z.B. ein Monoflop in ASM nicht so das Problem sein dürfte.


    Bernd_Stein

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Hi,
    ich versuch's mal auf die Schnelle im Groben und ohne Gewähr. Zum Testen die wait Zeiten auf einstellige Sekundenzeiten begrenzen
    PRG ist sehr einfach aufgebaut, sicher verbesserungswürdig und Du hast auch noch was zu tun; während die Zeiten laufen kann man nur die RESET Taste drücken um alles abzuschalten.

    Der Summer braucht nach Datenblatt nur 2mA. Spannung paßt auch und kann direkt an PB3 und GND angeschlossen werden. Sobald PB3 auf high geht sollte der schon einen ca 4kHz Ton ausgeben.

    Tasten prellen beim Drücken. Hier ist im Kapitel 21 etwas dazu: http://halvar.at/elektronik/kleiner_bascom_avr_kurs/ Sollte hier aber zunächst nichts machen.

    Code:
    Bascom Header
    
    dim S1 as byte
    dim s2 as byte
    
    s1 = 0  'variable initialisieren, eigentlich nicht notwendig jedoch sicher
    s2 = 0 
    
    config PORTB.0 (für S1) = input
    config PORTB.1 (für S2) = input
    PORTB.0 (für S1) = 1  'Pullup Widerstand ein - PIN ist high (S1 schaltet GND bei Drücken)
    PORTB.1 (für s2) = 1  'Pullup Widerstand ein - PIN ist high (S2 schaltet GND bei Drücken) 
    
    config PORTB.2 (Schaltausgang 1) = output
    config PORTB.4 (schaltausgang 2) = output
    config PORTB.3 (schaltausgang 3) = output 'Summer
    
    PORTB.2 = 0  'Schaltausgang 1 auf low
    PORTB.4 = 0  'Schaltausgang 2 auf low
    PORTB.3 = 0  'Schaltausgang 3 auf low '(Summer)
    
    
    DO
      s1 = PINB.0  'Einlesen Zustand von Schalter 1 an PORTxn
      S2 = PINB.1  'Einlesen Zustand von Schalter 2 an PORTxn
    
      if S1 = 0 then
        PORTB2 = 1 'Schaltausgang 1 schalten
        PORTB4 = 1 'Schaltausgang 2 schalten
        wait 300
        PORTB.2 = 0 'Schaltausgang 1 abschalten
        PORTB.4 = 0 'Schaltausgang 2 abschalten
        PORTB.3 = 1 'Summer ein
        wait 2
        PORTB.3 = 0 'Summer aus
      endif
    
      if S2 = 0 then
        PORTB.2 = 1 'Schaltausgang 1 schalten
        PORTB.4 = 1 'Schaltausgang 2 schalten
        wait 600
        PORTB.2 = 0 'Schaltausgang 1 abschalten
        PORTB.4 = 0 'Schaltausgang 2 abschalten
        PORTB.3 = 1 'Summer ein
        wait 2
        PORTB.3 = 0 'Summer aus
      endif
    LOOP
    Geändert von Searcher (12.04.2011 um 17:48 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2011
    Beiträge
    7
    Hallo,

    Danke schon mal für die super Hilfe. Es würde mich nur noch interessieren, ob es schlimm ist den Reset Taster zu benutzen?

    Gruß
    John13

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    39
    Beiträge
    647
    Nein das ist nicht so ohne weiteres möglich. Du kannst zwar die Fuses so setzen, das du ihn verwenden kannst. Dann fällt allerdings die möglichkeit den µC seriell zu flashen weg. Dann benötigst du ein anderes Programmiergerät und die sind ziemlich teuer!

    Also versuch einen anderen Pin zu nutzen. Wenn dir die Pins ausgegangen sind, kauf dir nen größeren µC
    Evtl. kann man dann auch mit Multiplex o.ä. arbeiten. Das hängt dann von der jeweiligen Situation ab.

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Wartezeiten von mehreren Minuten
    Von MechMac im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 24.08.2010, 19:41
  2. Timer ATTiny - keine Funktion?
    Von dl1akp im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 19.02.2010, 15:03
  3. Antworten: 6
    Letzter Beitrag: 04.02.2009, 19:49
  4. Nach ca 15 Minuten etwas auslösen, ohne Timer zu benutzen?
    Von x8r im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 21.03.2007, 16:36
  5. Timer bei ATTINY 26 manuell reseten
    Von The Man im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 30.12.2006, 21:48

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress