www.mikrocontroller.net

Forum: Projekte & Code Zirpende Feldgrille v3 (Atmel Tiny13)


Autor: Alex S. (byteman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

2008 hatte ich eine 4fach Grille gebaut die mir aber jetzt nicht mehr so 
sonderlich gut gefällt:
Beitrag "4fach Grille mit Klatschschalter(Tiny13)"

desshalb jetzt eine neue Version.
Feldgrille v3.

Damit es sich möglichst realistisch anhört habe ich mir eine Aufnahme 
vom Zirpen einer Feldgrille besorgt und es genauer angeschaut.
Die Grundfrequenz des Zirpens ist ca. 2350Hz (=D7 auf dem Klavier) und 
es gibt jeweils 8 Wiederholungen eines einzelnen Zirps.

Mit dem Microcontroller ist es am einfachsten einen Rechteckton zu 
erzeugen das passt auch sehr gut denn die Obertöne die dabei entstehen 
sind genau richtig fürs Zirpen.
Das ganze wird als Pulsweitenmodulation ausgelegt damit ein 
Lautstärkenanstieg beim Anschwingen möglich ist, dann klingt es nicht so 
hart (Das hat bei der 4fach Grille gefehlt).

Und damit es sich lebendiger anhört werden folgende Werte laufend per 
16bit Pseudozufall verändert:
-Zirpwiederholungen von 7 bis 9 einzelnen Zirps
-einzelnens Zirp mit 2 stufiger Länge
-Zirplautstärkeveränderung beim Anschwingen in 5 bis 7 stufen
-Pausendauer nach den 7 bis 9 Zirps von 116ms bis 167ms
-Zirpwiederholung von 3 bis 127 mal '7 bis 9 Zirps'
-Lange Pause von 3s bis 27s

Etwas herumprobieren und das Zirpen ist fertig.

Die Piezo-Schallwandler (27mm Durchmesser) sind eigentlich in der 
Wohnung schon laut genug aber wenn es noch lauter werden soll dann 
einfach die Alluhülle von Teelichtern mit etwas Doppelklebeband da drauf 
kleben dann freuen sich auch die Nachbarn.

Auf eine Verpolungsschutzdiode habe ich verzichtet weil der Tiny13 das 
bei 3V kurzzeitig überlebt.

Drei elektronisch zirpende Grillen erzeugen die richtige 
Sommerstimmung...

Falls es jemand nachbauen möchte, in der Zip-Datei im Anhang (oben) ist 
alles drin was man dazu braucht (Schaltplan, info, Klangbeispiele(mp3), 
Assembler und hex Datei, Fotos)

viel Spass
Alex

Autor: Informant (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ASM

Autor: Alex S. (byteman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ist asm von AVR Studio 4.12

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
cool - danke für das schöne Projekt.
Werde das mal bei einem Kollegen im Büro deponieren :-)

Autor: Eddy Current (chrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gab mal eine Ausgabe der Zeitschrift ELO (7/81), die hatten so eine 
elektronische Grille mit einem Fotowiderstand kombiniert, also:

Licht aus -  Grille (mit einiger Verzögerung) an
Licht an  -  Grille sofort wieder aus

Ideal für die Wohnung, um Nachts liebe Mitmenschen in den Wahnsinn zu 
treiben :-)

Autor: frage zu attiny13 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man da eigentlich jeden Attiny13-Typ nehmen?
Bei Reichelt gibt es ATTINY 13V, ATTINY 13A und ATTINY 13-20

Autor: Stephan S. (uxdx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Für alle PIC-Freunde habe ich eine Grille mit dem PIC16F1825 gemacht. 
Ausreichend wäre natürlich der PIC12F1822 mit nur 8 Pins, den hatte ich 
aber gerade nicht da. Man kann den Code aber leicht anpassen, oben die 
Zeilen list p=16f1825 und #include <p16f1825.inc> sowie von Port C auf 
Port A. Es geht auch mit einem PIC12F683, dann muss man aber mehr ändern 
(CONFIG und Banks).

Die Frequenz kann man mit dem Register OSCTUNE etwas ändern oder die 
Bursts von 8 auf 7 oder 9 stellen und die lange Pause von 16 auf andere 
Werte. Hat man mehrere Grillen gleichzeit laufen, ergibt das lustige 
Effekte. Anbei mal ein MP3 mit 2 Grillen in Stereo.

Der interne Oszillator läuft aus Stromspargründen mit 125 kHz, die 
Grille braucht damit im Mittel knapp 200 µA und läuft mit einer CR2032 
etwa 6-8 Wochen.

Viel Spass beim Nachbauen!

Autor: tt2t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist ein fehler im Programm, es muss PORTA statt PORTC heissen oder 
man schliesst die Piezo-Scheibe an PORTC0 und PORTC5 an (dann geht das 
Programm aber nicht mit PIC16F1822 bzw PIC16F683).

; PIEZO an PORTA0 (Pin 13) und PORTA5 (Pin 2)
; p0 = eine Schwingung 

p0
  movlw  B'00100000'      ; Ausgänge setzen: 5
  movwf  PORTA
  movlw  B'00110000'      ; Ausgänge setzen: 5 4
  movwf  PORTA
  nop
  movlw  B'00000001'      ; Ausgänge setzen: 0
  movwf  PORTA
  movlw  B'00000011'      ; Ausgänge setzen: 0 1
  movwf  PORTA


Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.