- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 20

Thema: 5 Minuten Timer mit Attiny 13

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    es ist nicht einfach auf Deine Fragen zu antworten, weil sie sehr allgemein sind.

    Ton für Buzzer: es gibt so viele Töne... Wie funktioniert Dein Buzzer (wie muß der angesteuert werden)? Anscheinend, nach Deinem Programm (Gratuliere übrigends), hast Du den ja schon in Betrieb.
    Zwei Zeiten: ???
    Müßtest genau, Schritt für Schritt beschreiben, was genau passieren soll wenn Du was machst.

    Danach kannst Du das Programm schon fast selbst schreiben. Konkrete Fragen zu einem geposteten Programm lassen sich viel einfacher beantworten.

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

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

    ich habe mal das Datenblatt von meinem verwendeten Piezo Signalgeber angehängt. Dann werde ich jetzt mal die gewünschte Funktion beschreiben:

    Wenn ich den Taster (S1) kurz betätige, soll eine Zeit von 5 Minuten ablaufen. Wird anstatt dem Taster (S1) der Taster (S2) betätigt sollen 10 Minuten ablaufen. Wärend dieser Zeit sollen die Schaltausgänge 1 und 2 geschaltet werden. Nachdem die Zeit Abgelaufen ist, sollen die Schaltausgänge 1 und 2 wieder abgeschaltet werden. Sobalt die Schaltausgänge 1 und 2 abgeschaltet wurden soll am Schaltausgang 3 ein Piezo Signalgeber / Summer für 2 Sekunden angesteuert werden. Den Port ( PB5) habe ich mir als Reset Option überlegt.

    Taster (S1) --> PB0
    Taster (S2) --> PB1
    Taster (S3) (Reset) --> PB5
    Schaltausgang 1 --> PB2
    Schaltausgang 2 --> PB4
    Schaltausgang 3 (Piezo Signalgeber / Summer) --> PB3

    Gruß
    John13
    Angehängte Dateien Angehängte Dateien
    Geändert von John13 (12.04.2011 um 17:35 Uhr)

  3. #13
    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

  4. #14
    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 18:48 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  5. #15
    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

  6. #16
    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]

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

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    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

  9. #19
    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

  10. #20
    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

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Wartezeiten von mehreren Minuten
    Von MechMac im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 24.08.2010, 20:41
  2. Timer ATTiny - keine Funktion?
    Von dl1akp im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 19.02.2010, 16:03
  3. Antworten: 6
    Letzter Beitrag: 04.02.2009, 20: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, 17:36
  5. Timer bei ATTINY 26 manuell reseten
    Von The Man im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 30.12.2006, 22:48

Berechtigungen

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

Solar Speicher und Akkus Tests