- Reichelt Elektronik    Werbung      
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
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.720
    Hi,
    ich versuch's mal auf die Schnelle im Groben und ohne Gewähr. Zum Testen die wait Zeiten auf einstellige Sekundenzeiten begrenzen Bild  
    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

  2. #2
    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

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    41
    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 Bild  
    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]

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.07.2009
    Beiträge
    405
    Wenn ein Port fehlt dann einfach deine Zwei Ausgänge zusammenlegen - machen ja eh das Gleiche - gibt keinen Sinn die seperat anzusteuern. Sollten die 40mA pro Pin nicht reichen dann einfach ein Transitortreiber nachschalten.
    Ansonsten: Reset Pin nutzen kein Problem - nur sollte dann das Programm nicht laufen, muß man sich ein HVProgrammer kaufen um wieder auf den MC zugreifen zu können. In der Praxis würde das bedeueten: Attiny wegschmeißen und ein Neuen nehmen.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.720
    Hallo John,
    wie möchtest Du den Reset Taster nutzen?
    Zitat Zitat von Searcher
    ...während die Zeiten laufen kann man nur die RESET Taste drücken um alles abzuschalten....
    Damit meinte ich, daß Du über RESET den µC zurücksetzt, wenn da eine Taste dran ist, eben über Drücken der Taste zum resetten, damit er wieder von vorne mit dem Programm beginnt. Da wäre nichts schlimm dran und ist normal.

    Man kann den RESET Pin auch anders nutzen durch Umstellen der Fuses. Ist jedoch erstmal nichts empfehlenswert und macht man erst, wenn man es wirklich braucht.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

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

    Damit meinte ich, daß Du über RESET den µC zurücksetzt, wenn da eine Taste dran ist, eben über Drücken der Taste zum resetten, damit er wieder von vorne mit dem Programm beginnt.
    genau so habe ich das auch gemeint. Die Frage hat sich also erledigt.

    Gruß
    John13

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    23.12.2013
    Beiträge
    21
    Hi, ich habe gerade versucht deinen Aufbau nachzustellen. Es gelingt aber nicht ihn zu starten. Ich habe den Code in Bascom-Avr eingegeben, eine Hex Datei erstellt und diese in den Chip geladen mit der Software von Franzis.
    Nun wollte ich den Chip ohne Verbindung zum PC testen. (will ihn im Gartenhaus verbauen) Aber ich bekomme die LEDs nicht ans laufen. Welchen Aus/Eingang hast du mit was angeschlossen? Gruß Glenn

Ä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
  •  

    Werbung      fchao-Sinus-Wechselrichter AliExpress