www.mikrocontroller.net

Forum: Codesammlung µCke Microcontroller Mücke (Atmel Tiny13)


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

Hallo
das hier ist eine Mücke ohne Stachel ^_^
µCke - eine Microcontroller Mücke aus einem Tiny13.

Sourcecode, Schaltplan, Prinzip der Tonerzeugung und eine Beispiel MP3
befindet sich in der .rar Datei hier im Anhang.

Die LED in dem Schaltplan dient hier als Lichtsensor. Die leuchtende
Substanz von LEDs verhält sich wie ein lichtempfindlicher Kondensator.
Die LED wird dabei in entgegengestzter Richtung aufgeladen, dann wird
mit dem AD Wandler des Tiny13 geprüft nach wieviel Zeit sich dieser 'LED
Kondensator' wieder entladen hat.
Je heller es ist desto schneller entlädt er sich.
Das verwende ich hier um Helligkeit zu 'sehen'. Wenn es Hell wird (Licht
geht an oder Tags) dann ist die Muecke still.
Wird es wieder dunkel dann summt sie weiter nach 2 Minuten Pause. Das
gibt den richtigen Nervfaktor hahahahaha :)

viel Spass
Alex
Autor: kaffeetas (Gast)
Datum:

respekt, das mp3 hört sich echt realistisch an. mal so als Gag
zwischendurch echt genial.

Grüße
 kaffeetas
Autor: Paul Baumann (Gast)
Datum:

Manchmal passiert es sogar, dass ein Tiny 13 auch mit anderem Programm
im Flash die Mücke macht....
;-)

MfG Paul
Autor: Magnus Müller (Gast)
Datum:

G E N I A L !

Meine Wertung laut der YMMD-Skala (1-10 Punkte): 10 Punkte
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Aufpassen das keiner mit der Zeitung draufhaut :)
Autor: Frank L. (hermastersvoice)
Datum:

und wer macht jetzt einen Elefanten draus?
Autor: Klaus (Gast)
Datum:

Absolut genialer Blödsinn :D
Autor: Alex S. (byteman)
Datum:

^_^ Danke für die netten Kommentare.

hab noch eine kleine Änderung an der 'niedrigsten Frequenz' abfrage
gemacht.
Jetzt geht das Summen nicht mehr so tief. Werte von 900 auf 750
geändert:
lf01:
    cpi r25,high(750)
    brne lg03
lg02:
    cpi r24,low(750)
    breq l100    

...und ein kleiner Fehler im Comment in Zeile 136. Dort soll es
natürlich nicht ';=addi r23,1' sondern ';=addi r17,1' heissen.
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Ich würde feste Zahlenwerte am Anfang des Programms definieren, dan kann
man beim Ändern nix 'vergessen' falls der gleiche Wert mehrmals
auftritt. das gleiche gilt für die Register, vermeidet dann so
"Zahlendreher": z.B.
.equ blow = 750
.def pulsdauer = r17
.
.
Autor: Alex S. (byteman)
Datum:

@Läubi
Ja, das wäre besser aber ich bin halt ein chaotischer Programmierer :))

...mir fällt grad auch noch auf das subi r17,1 (zeile 130) und subi
r17,-1 (zeile 136) auch mit dec r17 bzw. inc r17 ersetzt werden kann.
Ausserdem ist der comment falsch. so sieht es dann aus:
cpi r17,8
    breq lf00
    dec r17 ;lautstaerke senken
    rjmp lf00

l116:  
    cpi r17,76
    breq lf00
    inc r17 ;lautstaerke erhoehen

das ist aber nur eine Schönheitsreparatur, an der Funktion des Programms
ändert sich dadurch nichts.
Autor: Mindy (Gast)
Datum:

Kann das mal jemand nach C portieren?
Bei Assembler steigt ja keiner durch.
Autor: Alex S. (byteman)
Datum:

@Mindy
Von C habe ich leider keine Ahnung, aber wenn ich dir etwas an dem
Assembler Programm erklären soll dann frag ruhig.
Das Programm ist wirklich sehr einfach und ich finde die Assembler
Befehle sind selbsterklärend. Vieleicht gibt es auch ein Tool das
Assembler nach C Konvertiert.
Autor: Sachich Nich (dude) Benutzerseite
Datum:

:)
Autor: Thomas Bender (Gast)
Datum:

Axel S. schrieb:
>ich finde die Assembler
>Befehle sind selbsterklärend.

 LOL 
Dann hätte ja C nicht erfunden werden brauchen.
OK, bei so einem relativ kurzen Programm kann man noch einigermaßen
folgen; ich bewundere nur die Leute, die es schaffen größere Programme
rein in Assembler zu schreiben. Da könnte ich nicht mithalten.
Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Thomas Bender schrieb:
> Axel S. schrieb:
>>ich finde die Assembler
>>Befehle sind selbsterklärend.
>
> * LOL *
> Dann hätte ja C nicht erfunden werden brauchen.
Naja wenn da irgenwo Steht: add r1, 30 oder in C i = i + 1.
Oder out TCNT0, r17  oder in C TCNT0 = i ...
Also von daher hat er schon recht...
Autor: Stefan Wimmer (wswbln)
Datum:

...erinnert sich noch jemand an die "Streichholzschachtelelektroniken"
auf der Innenseite des Streifbandes der Elektor irgendwann in den
70-ern?
Da gab es sowas (auch als Einchipper, aber mit 4069) als Grille.
Autor: Alex S. (byteman)
Datum:
Angehängte Dateien:

@Stefan Wimmer
Ich kenne nur die Mücke aus den '304 Schaltungen' von Elektor von 1996.
Schaltplan ist im Anhang. Der ist aber mit einem 4093 (Schmitt-Trigger)
und 4020 (Binärzähler), würde aber auch mit samt 9V Batterie in eine
Streichholzschachtel passen (die Versorgungsspannung kann laut
Schaltplanbeschreibung zwischen 4,5 V und 9 V liegen, Stromverbrauch 2
bis 5mA).
Meine µCke funktioniert ja fast so ähnlich wie die in diesem Schaltplan.
Autor: Gast (Gast)
Datum:

electronic mosquito sound generator
Autor: AVRNeuling (Gast)
Datum:

Lustiges Projekt :-)

Mal ne dumme Frage, bin neu bei den ATMEL Controllern :)

Mit was kann man denn den ATtiny13 programmieren?

also was für ein programmier gerät und was für ne software? Das hex file
in deinem Archiv kann man ja dann einfach draufspielen? Oder gibts sonst
noch was zu beachten`?`?

MFG
Autor: Gast (Gast)
Datum:

AVRISP MK-II USB dazu AVR Studio und den GCC, der Programmer kostet 39
Euro der Rest ist für lau.
Autor: Alex S. (byteman)
Datum:

@AVRNeuling
es gibt mehrere Varianten:
Parallelport:
- ein paar Widerstände reichen = sehr Gefährlich für den PC wenn etwas
falsch angeschlossen wird.
- oder mit einem 74HCT244 = sicherer
- oder ein fertiges Programmiergerät kaufen = natürlich teuerer als
selberbauen.
USB Port:
- selberbau = kompliziert
- fertiges Programmiergerät kaufen = teuer

Ich benutze die Selbstbauvariante mit dem 74HCT244 am PC Parallelport
und als
'Brennsoftware' das altbekannte PonyProg2000 (freeware).
Mit PonyProg kann man die .hex Datei problemlos in den Tiny13 schieben.
Oben AVRmicro und ATtiny13 einstellen und nicht vergessen die 'fuses'
vom Tiny13 auch richtig zu setzen, das geht bei dem 'Schloss' Button
menü.

Um Programme zu schreiben benutze ich AVR Studio (freeware).

such mal nach 'AVR Programmieradapter' oder so... dann findest du
Schaltpläne usw.

viel Spass
Alex
Autor: Magnus Müller (Gast)
Datum:

Axel S. schrieb:
> es gibt mehrere Varianten:
(...)
> USB Port:
> - selberbau = kompliziert

Bei der Selbstbauvariante mit USB-Port käme dann schnell das altbekannte
"Henne-Ei-Problem" zum Tragen. Wenn er die Hardware zusammengestrickt
hätte müsste er immer noch den µC auf dem Programmer mit der
entsprechenden Firmware impfen. Dies wiederum geht nur über einen
Programmer.

Neverending Story....      ;o)
Autor: Wim (Gast)
Datum:

Hallo, in der .rar Datei kann ich gar kein Schaltplan und keine MP3
Datei finden :-(?
Autor: Timo S. (kaffeetas)
Datum:

zum Henne Ei Problem:

da könnte man doch ein "Wander Mega8" Projekt daraus machen ;-). Es wird
ein z.B. mit der USBASP Firmware programmierter Mega8 an den 1.
Interessierten verschickt. Dieser verpflichtet sich dann wiederum an den
nächsten Interessierten einen (mit seinem neuen USBASP) programmierten
Mega8 zu verschicken.
So erhält jeder die Chance einen einfachen USB Programmierer zu bauen
und kann dann auch gleich einem interessierten Neueinsteiger
weiterhelfen.

Gerade für den USBASP gibt es einfache einseitige Layouts so dass weder
der Nachbau auf Lochraster noch das Selberätzen einer Platine einen sehr
hohen Einstiegslevel bedeuten.
Es gibt auch eine "alternative" Firmware für den USBASP dass dieser sich
dann wie ein AVRISPmkII verhält. Also damit z.B. direkt aus dem
AVR-Studio heraus programmiert werden kann.

Alternativ könnte man auch einfach ein serielles bzw. parport
Programmierkabel "durchreichen".

Wenn einer hierzu einen Artikel aufsetzt, mit dem das ganze gesteuert
wird, wäre ich bereit den initialen Mega8 bzw. das serielle
Programmierkabel zu verschicken.
Ich hoffe es gibt keine rechtlichen Bedenken bzgl. der Firmware.

Grüße
 kaffeetas

P.S: Ich habe zu anfang auch Ponyprog mit einem einfachen seriellen
Adapter verwendet. Es gelang mir selten die Fuses auf Anhieb richtig zu
setzten. Heute lass ich mir die FuseBytes im Internet "ausrechnen" und
setze sie dann per avrdude -> keine Probleme mehr mit den Fusebits.
Autor: Alex S. (byteman)
Datum:

@Wim
habe gerade die .rar Datei heruntergeladen und bei mir ist alles da:
µCke Prinzip.jpg
µCke Schaltplan.jpg
µCke.mp3
info.txt
muecke.asm
muecke.hex

@kaffeetas
Gute Idee. Gerade auch weil ja modernere Motherboards keine Parallel-
und Seriellports mehr haben, dann wäre Dein Vorschlag eine gute Hilfe.
Autor: Karl Heinz Buchegger (kbuchegg) (Moderator)
Datum:

Schönes Projekt.

Aber wo ordne ich das jetzt bloss im Sotwarepool ein?
http://www.mikrocontroller.net/articles/AVR_Softwarepool

Unter Spassprojekte? Oder doch Tonerzeugung? Oder ev. als LED-Projekt.
Egal: erst mal in jede Kategorie rein.


(Womit wieder mal der Aufruf gemacht wäre, interessante Projekte im
Softwarepool unterzubringen :-)
Autor: Alex S. (byteman)
Datum:

@kbuchegg
:) Dankeschön
Autor: Klaus Huber (klaushuber)
Datum:

Was für einen Summer habt ihr verwendet? Muss es was spezielles
(Spannungsbereich) sein oder tut's was aus nem alten Mainboard?

"SUMMER BM 15B" von reichelt z.B.?

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

hab das 'Summen' noch etwas höher gemacht. So finde ich es besser.
Siehe Anhang: muecke(hoeheres summen).rar
Inhalt:
muecke(hoeheres summen).asm
muecke(hoeheres summen).hex
µCke Foto.jpg

Änderungen zur Vorgängerversion:

zeile 78: ldi r24,low(326) ;pre- und postpause initialisieren...
zeile 79: ldi r25,high(326) ;...
zeile 150: cpi r25,high(300)
zeile 153: cpi r24,low(300)
zeile 156: sbiw r25:r24,2
zeile 160: cpi r25,high(350)
zeile 163: cpi r24,low(350)
zeile 166: adiw r25:r24,2
Autor: Alex S. (byteman)
Datum:
Angehängte Dateien:

@Klaus Huber
hab einen mit 28mm Durchmesser verwendet, siehe Foto.
Der 'SUMMER BM 15B' hat zwar nur 17mm aber das wird völlig ausreichen um
genügend Mückenlärm zu verbreiten ^_^.

EDIT: Oh, es könnte sein das der 'SUMMER BM 15B' schon eine
Summelektronik beinhaltet (Alarmmelder). Das geht dann natürlich nicht.
Es muss der 'nackte' Piezo Schallwandler sein.
Autor: Alex S. (byteman)
Datum:

Die Summer aus einem Mainboard gehen. ... Sorry für den dreifach post...
Autor: Klaus Huber (klaushuber)
Datum:

danke :)
Autor: Wim (Gast)
Datum:

Habe das Archive mal unter Linux ausgepackt, jetzt sehe ich die Files
auch. Lag wohl daran das Filzip ein Problem mit dem µ hat.
Autor: Eberhard (Gast)
Datum:

Hey Alex - Prima Projekt - alle "Zutaten" habe ich hier noch gefunden
und zugleich eine Mücke gebastelt. - Programmiert und finde: eine tolle
Idee!

Jedoch finde ich, es gäbe Verbesserungsmöglichkeiten:
Findet Ihr auch, dass es gut wäre, wenn es nicht die ganze Zeit surren
würde, sondern auch Pausen dazwischen wären?
Ausserdem: mit welchem Controller bekäme man einen geringeren
Stromverbrauch hin?

Viele Gruesse
Eb
Autor: Armin (Gast)
Datum:

Hi, Alex ich hab das mal nachgebaut soweit funkt es auch nur das mit der
IR - LED Katode an Pin3 Anode an GND da tut sich bei mir nichts.

IRLED ist von Reichelt LD 274-3 liegt es vieleicht an der?

übrigens "Klasse Projekt"

Armin
Autor: Thomas O. (kosmos)
Datum:

gibt auch ein Audiofile von
http://www.mikrocontroller.net/attachment/55129/mu...
wollte es nicht unbedingt nachbauen um es mir anzuhören.
Autor: Martin S. (panik)
Datum:

erstmal ein großes Lob:

super Projekt (Daumenhoch)

Mein Nachbau funktioniert fast perfekt, nur die IR-LED reagiert nicht
empfindlich genug. Es moß schon extrem hell sein bis die Mücke Ruhe
gibt. Wie müßte ich den Code anpassen? Soweit ich das verstanden habe
gibt es hier keinen absoluten Wert für die hell/dunkel-Schwelle. Die
relative Änderung wird aber nicht korrekt erkannt. Bitte gebt mir einen
Tip
Autor: Alex S. (byteman)
Datum:

Oh, vielen Dank an euch...^_^

@ Eb
Um das Mückensummen zu unterbrechen ohne das Licht auf die Diode
gefallen ist kannst du es z.B. so ändern:
l110:  
        ldi r16,2
        cpi r21,253
        brlo xxx
        dec r16
xxx:    cpi r23,123
        brne l115
        dec r16
        breq l117
        
        ;lpm ;3fach nop (ausgleichstakte)
        ;lpm ;3fach nop (ausgleichstakte)
        ;lpm ;3fach nop (ausgleichstakte)

wenn die Zufallsgenerator-Register r21>=253 und r23=123 sind dann gibts
ne pause. Gute Idee, dadurch wirds noch nerviger denn wenn die Mücke
nicht mehr summt dann ist sie bestimmt gelandet und sticht zu ^_^.
Stromverbrauch senken? die braucht doch nur 1,7mA.


@ Armin
vieleicht falsch herum angeschlossen? Meine IR Diode hatte mir auch
einen Streich gespielt. Ich gehe immer davon aus das die breite Seite in
der Diode die Kathode ist, bei der IR-Diode war es aber genau
andersherum.


@ Martin S.
versuch mal bei 'l119:' anstelle von cpi 'r19,0' statt 0 höhere Werte
auszuprobieren oder nimm einfach eine andere Diode. Das Programm muss
leider so einigermassen Taktgenau ablaufen desshalb kann es nicht so
einfach an andere Entladekurven angepasst werden.

viel Spass
Alex
Autor: adrian (Gast)
Datum:

Hey Leute,
ist es eigentlich auch möglich die Schaltung auf einem tiny2313
aufzubauen? Nur einfach die Pins aus dem Datenblatt angleichen oder?

mfg :)
Autor: Alex S. (byteman)
Datum:

@adrian
Hast du einen AD Wandler in deinen Tiny2313 reingezaubert? :)
denn normalerweise hat der keinen drin und deshalb wirds damit auch
nicht funktionieren.
Fazit: Nee, geht nicht mit 2313 weil die LED nicht abgefragt werden kann
ohne AD Wandler.

viel Spass
Alex
Autor: adrian (Gast)
Datum:

Mist :) Danke für deine Antwort. Dann muss ich wohl oder übel Morgen mal
zum großen C dackeln ;)

mfg
Autor: Nop M. (gtf)
Datum:
Angehängte Dateien:

Hallo AlexS,
was für ein geniales Projekt. Top Deluxe.
 Hab’s gleich nachgebaut, und war echt überrascht wie echt und nervig
der Sound doch ist :- )
Leider hat die IR-LED mit streiken angefangen. So ein Biest, und ich
wollte doch noch am selben Abend das Teil im Wohnzimmer verstecken  :-p

Aufgeben wollte ich die Muecke aber auch nicht. Also beschloss ich mich
den Source an einen LDR-Widerstand anzupassen. Hat auch prima geklappt,
nur leider musste ich den Schaltplan etwas ändern.

Ich hoffe dass du nichts dagegen hast, wenn ich meinen Source hier rein
poste.

Danke noch mal für das simple und doch so tolle Projekt.

Gruß
gtf
Autor: gtf (Gast)
Datum:

Oh nein, erst jetzt fällt es mir auf, dass der Autor nicht AlexS sondern
AxelS heißt.
Sorry, Axel war nicht böse gemeint. Hoffentlich werd ich dafür nicht
ausgeknockt :- )

Gruß gtf
Autor: Alex S. (byteman)
Datum:

Hallo gtf

SUPER! Ich bin begeistert.
Schön, das dir die µCke gefällt. Deine SMD-Version kommt ja von der
Grösse her schon fast an eine echte Mücke ran :)
Deine LDR-Änderung werd ich mir auch mal aufbauen.
Da hab ich wohl glück gehabt mit meinen IR-LEDs denn die Empfindlichkeit
ist bei mir gut (die waren aus einer alten TV-Fernbedienung).

viele Grüsse
Alex
(du hast keinen Fehler gemacht, so heisse ich. Keine Ahnung warum ich
mich hier als Axel angemeldet habe.)
Autor: friedel (Gast)
Datum:

Mal eine kurze Frage:
Die Mücke erzeugt das Tonsignal ja nun eigenständig..., aber,
...mit welchem AVR könnte ich z.B. das Miauen meiner Katze,
welches ich vorher aufnehme, rippe und als mp3 abspeichere,
einlesen und per Zufallsgenerator ca. alle 20 Min ausgeben?
Autor: Sauger (Gast)
Datum:

Nabend,

wenns auch wav sein darf:

Beitrag "Xmega Soundcheck"

MfG
Autor: Klaus (Gast)
Datum:

friedel schrieb:
> Mal eine kurze Frage:
> Die Mücke erzeugt das Tonsignal ja nun eigenständig..., aber,
> ...mit welchem AVR könnte ich z.B. das Miauen meiner Katze,
> welches ich vorher aufnehme, rippe und als mp3 abspeichere,
> einlesen und per Zufallsgenerator ca. alle 20 Min ausgeben?

Das hat nix mit diesem Thread zu tun, also unterlasse bitte das
Entführen von fremden Thread für deine Fragen. Mach ein neuen auf, für
neue Fragen.
Autor: Bastler (Gast)
Datum:

Hallo

Entschuldigt wenn ich den Therd noch einmal ausgrabe, aber das Projekt
sieht interessant aus. Aber leider kann ich die mit der ".rar"-Datei
nichts anfangen kann das bitte Jemand in eine Zip-Datei convertieren?
Autor: Alex H. (hoal) Benutzerseite
Datum:

Falls du Windows nutzt, versuch's damit:
http://www.7-zip.org
Autor: Bastler (Gast)
Datum:

Falls du Windows nutzt, versuch's damit:
http://www.7-zip.org

Funktioniert super!
Jetzt bräuchte mann nur noch Soraund-Klang und mann wird wirklich
Verückt. ;)
Autor: 7.1 (Gast)
Datum:

Bastler schrieb:
> Jetzt bräuchte mann nur noch Soraund-Klang

Dann baust Du 7 Mücken und brummst dazu. ;-)
Autor: Ekart (Gast)
Datum:

Funktioniert Super!

Sogar so mache Hauskatze wird Verückt von dem Geräusch.
Autor: Oliver J. (skriptkiddy)
Datum:

Geile Sache. Hört sich wirklich täuschend echt an.

Hat das mal jemand nach C portiert bekommen?

Gruß Oliver
Autor: Tim Music (tim_m)
Datum:

hmm, ich bin grad dabei ;)

Nur derzeit ist die Mücke noch im Entwicklungsstadium.

Als Akku verwende ich nen Memopuffer (Reichelt), welchen ich bei bedarf
über einen Fet(KSQ) laden kann. Das erste Layout wurde leider von meinem
Vater aufgrund einer nächtlichen Störung komplett zerstört. :(

Tm
Autor: chris (Gast)
Datum:

Du könntest eine 3.6V Solarzelle verwenden:
www.hobby-roboter.de/forum/viewtopic.php?f=5&t=43

Dann lebt die Mücke auch länger ;-)
Autor: Bastler (Gast)
Datum:

chris schrieb:
> Du könntest eine 3.6V Solarzelle verwenden:
> www.hobby-roboter.de/forum/viewtopic.php?f=5&t=43
>
> Dann lebt die Mücke auch länger ;-)

Aber nur mit verbindung eines Akkus oder Goldcap.

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




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net