- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 20

Thema: 5 Minuten Timer mit Attiny 13

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    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

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

Solar Speicher und Akkus Tests