"Klatschschalter" mit ATtiny13

Gast #1669529
Lesenswert?

Hallo,

ich würde gerne auf dem ATtiny13 durch dreifaches Klatschen 
hintereinander ein Relais schalten. Ich dachte daran, eines der 
0,35€-Mikrofone von Pollin (bspw. 660 108) zu verwenden und durch einen 
OpAmp zu verstärken.
Mit den OPVs habe ich keine Erfahrung, ich dachte daran, eventuell 
TLC272 zu verwenden. Auf den ersten Blick scheinen die mir geeignet - 
seht ihr das ähnlich?

Und softwaremäßig wäre das ja nicht viel mehr, als einfach regelmäßig 
via ADC die Pegel zu prüfen, wenn einer davon erstaunlich hoch ist, 'n 
Counter runterzählen und prüfen, ob, bevor der Counter 0 ist, das ganze 
noch zwei mal passiert, oder?

Grüße,
Dodo
#1669530
Lesenswert?

Dodo M. schrieb:

> Und softwaremäßig wäre das ja nicht viel mehr, als einfach regelmäßig
> via ADC die Pegel zu prüfen, wenn einer davon erstaunlich hoch ist, 'n
> Counter runterzählen und prüfen, ob, bevor der Counter 0 ist, das ganze
> noch zwei mal passiert, oder?

Du klatsch früh morgens
Mittags, wenn du nach Hause kommst, knallt die Tür.
Und abends, bei der Tagesschau, klatscht du vor Schreck in die Hände.

Macht 3 Klatscher und das Licht geht aus :-)

-> ganz so einfach ist es dann auch wieder nicht.
#1669800
Lesenswert?

Willst du wirklich klatschen erkennen, oder nur, wenn sich etwas lautes 
abgespielt hat (das kann auch das zuschlagen einer tür sein)
in letzterem fall könnte auch ein transistorverstärker ausreichend sein 
und mim avr erkennste dann die lauten pegel des mikrofons
nur so ne idee, aber die fertigen bausätze haben auch keinen opamp an 
board.
#1669879
Lesenswert?

Der OPA(2)340 eignet sich gut für unsymetrische Spannungen wie es bei
einfachen Schaltung die Regel ist (nur GND u. 5V).
Der Ein- und Ausgangsspannungsbereich reicht bis an beide
Grenzen der Betriebsspannung (Rail to Rail). Diese Teile kommen
dem 'idealen OP' schon recht nahe.
Hat aber den Nachteil das er relativ teuer, unnötig schnell
(Schwingneigung) und nicht überall erhältlich ist.

Den TL071 halte ich für diese Anwendung für ungeeignet da
die Ein-/Ausgangsspannungsbereiche doch arg eingeschränkt sind bei
5V Betriebsspannung - falls es damit überhaupt geht. Ich würde den
TLC271 bzw. TLC272 nehmen. Der Eingang arbeitet zwischen 0-4V und die 
Ausgangsspannung liegt zwischen 0-3.5V.
Man könnte noch einen 4k7 Widerstand zwischen Ausgang und den 5V
Schalten um dem Ausgang etwas unter die Arme zu greifen bei Voll-
aussteuerung. Geht aber auch so.
Gast #1670338
Lesenswert?

Warum nimmst Du eigentlich nicht den Komparator ? Der wäre so 
beschaltbar, daß er auf Signale im mV Bereich reagiert.

Oder möchtest Du den Verlauf des Signals sampeln ? Dann böte sich der 
Tiny25 an, der kann auf Differentialeingänge mit 20facher Verstärkung 
eingestellt werden, damit sparst Du Dir dann den OpAmp.
Gast #1670344
Lesenswert?

Zuerst ein dreifaches Klatschen mit dem Computer aufnehmen, um zu sehen 
wie  das Signal im Zeitbereich (Soundkartenoszilloskope) aussieht und 
dann entscheiden - wie es ausgewertet wird. Auf jeden Fall bitte hier 
posten.
Gast #1943052
Lesenswert?

Falls das noch jemand interessiert:
Habe einen Klatschschalter mit einem Tiny 13 realisiert, der keinen 
Vorverstärker benötigt. Electret- Mikrofonkapsel, über ein Poti zur 
Empfindlichkeitseinstellung , Potischleifer auf einen Analogeingang, als
ADC- Referenz die interne Ref. von . ca. 1,1 V  gewählt , Ausgangs- 
Impuls verlängert , geht tadellos.
(Firma: TravelRec.) Persönliche Seite #1943241
Lesenswert?

Wenn es unbedingt empfindlich sein soll, kann man das Signal der 
Elektret-Kapsel auch über einen BC847 verstärken und dann dem ADC 
zuführen. Klassische Emitterschaltung genügt. C mit 4k7 an Vcc, E an 
Masse, 220kOhm von B nach C und mittels 100nF das Mikro an B ankoppeln. 
Der ADC wird an C angschlossen und Vcc als Referenz eingestellt.
Gast #1943271
Lesenswert?

Hallo Knut

Warum das? Wenn man als Ref.-Spannung nicht VCC, sonder die interne 
Referenz
von 1.1 Volt nimmt , kann man doch den Transistor + Zubehör glatt 
sparen.
Oder welchen Vorteil soll der Transistor haben?
#1943293
Lesenswert?

Ja mich interessierts. ;) Suche so eine Einganschaltung für eine 
Blitzauslöser.

Du hast doch eine Stromversorgung für das Electret MIkro vorgesehen? Wie 
hast Du das Poti verschaltet?
Was meinst Du mit "Ausgangsimpuls" verlängert?
Reagiert der Prozessor auf das erste Auftreten einer bestimmten 
Spannung? Schall ist ja Wechselspannung. Integriert der ADC das 
irgendwie?

Könnte man die Empfindlichkeitseinstellung auch rein Softwareseitig 
lösen. Z.B. durch Veränderung der Referenzspannung, oder durch die 
Auswertung der "Ansprechpegel" am ADC Eingang?
Ich würde das gern über einen Drehgeber realisieren.

Viele Grüße
Andreas
Gast #1943333
Lesenswert?

Es geht auch ohne OP, wenn man einen geeigneten Piezo-Speaker direkt an 
den einen AD-Eingang des Attiny anschließt. Parallel dazu ist noch ein 
1MOhm Widerstand anzuschließen.
Hab ich schon gemacht. Geht.
Gast #1960114
Lesenswert?

WAS meinst Du mit Sourcen uppen ?

Also ein wenig sportlichen Ergeiz solltest Du schon noch selbst an den 
Tag legen...

Wenn Du die Schaltung nachbaust und den Hex- Code in den Tiny lädst,
sollte das Ding laufen.
Gast #1960339
Lesenswert?

Den Quelltext meine ich damit :-)

Ich bin grad dabei :-)

Ergeiz hab ich genug :-D
Nur nicht so große Erfahrung im Programmieren, deshalb würd ich mir mal 
gerne deinen Text ansehen....

Noch irgendwas mit den Fuse´s beachten oder alles so lassen wie es ist?

LG
Gast #1960670
Lesenswert?

Fuses kanst Du lassen, wie sie fabrikmäßig sind.
Ja, Pin 6 wird für ca. 250 msec. high = + 5 Volt beim
Klatschen. Messe mal direct am Pin 6 ohne Last evt. ist
Dein Multimeter zu langsam für den 250 msec. Puls.
Gast #1961491
Lesenswert?

Augustin schrieb:
> ...und was meinst Du mit Statur LEDs ?

Sorry das war ein schnellschuss :-D
Kleiner Tippfehler....

Status Led...  die Duo Led!

Die fuktioniert! Widerstand hatte ich einen drinnen!
640 Ohm....

Hatte den Tiny13 in der "Bastelkiste" gefunden!
Kann sein, das der schon kaputt war!

Aber an Pin6 hängt MISO, ohne den lässt sich der ja auch nicht 
Proggen...
Das klappte sofort!

Leider ist wie es der Teufel will mein Multimeter defekt -.-

Hab mit ner LED gemessen, ob der Ausgang schaltet!
Natürlich mit Widerstand :-)

Hab auch mal ein Elko drangehangen um die Leuchtzeit etwas zu erhöhen...

Da kommt nix! Ich werd mich morgen mal in den Baumarkt begeben, um mir 
ein billig Multimeter zu holen!

Mein Voltcraft ist auf Garantie weg :-D

LG
Gast #1962186
Lesenswert?

Einen Selbstgebauten Seriellen Adapter...

Der ist aber ok! Alles andere geht ohne Probleme... habs nochmal 
ausprobiert, und ein paar andere Controller beschreiben...

Keine Probleme!

Hab den auch über einen Widerstand dran gehabt....

LG
Gast #1963640
Lesenswert?

Im Ruhezustand liegt dort LOW = 0 Volt und beim Klatschen geht Pin 6 für 
250 msec. auf HIGH. Eine LED mit 680 Ohm Vorwiderstand zwischen Pin 6 
und 0 Volt = Minus richtg rum gepolt, Anode Richtung Pin 6, Kathode 
Richtung Minus ergibt beim Klatschen einen sichtbares Aufleuchten. 
Kathode der LED ist da wo das KLO ist (sieht aus wie eine Kloschüssel, 
wenn man reinguckt..)
Gast #1963699
Lesenswert?

Augustin schrieb:
> O.k., dann entferne mal den Programmer ganz vom Tiny (alle Anschlüsse
> trennen, ablöten...) der muß ja nur zum progrmmieren und dann nicht mehr
> angeschlossen sein und messe dann an Pin 6.

Mein Programmer wird über einen 10-Poligen ISP Stecker angechlossen...
Alle "Leiterbahnen" haben untereinander kein Kontakt (Mit Multimeter 
gemessen)



Hab den Tiny13 in die Fassung gesteckt, Pin 6 umgebogen und mit ner LED 
und Widerstand geprüft gegen Masse.

Leuchtete nicht! Status LED reagierte!

Multimeter sagt ebenfalls nix...
Gast #1963708
Lesenswert?

Ich habe noch einen Tiny85!

Der ist ja Pinkompatibel mit dem Tiny13...

Zwar ziemlich überdimensioniert aber ist ja mal egal. Bei der nächsten 
Bestellung von Reichelt, werde ich mir nen Tiny13 mitbestellen.

Wärst du so freundlich und würdest das mal grad für den Tiny85 
kompilieren?
Sollt ja für dich kein Problem sein :-)

Ich denke wirklich das der Tiny13 kaputt ist!
Gast #1963774
Lesenswert?

Ich hab unter dem Tiny 2 Leiterbahnen und alles drum herum ist auch 
total verbaut :-(

Ich bekomme unmöglich die Leiterbahn an Pin 7 :-(

Außerdem ist der wie oben schon geschriben dauernt High :-(


Kannst du evtl deine Software ändern, das diese auf Pin 6 auf High 
schaltet sowie Geklatscht wird?

Hab wie im Schaltplan einen Transistor dran hängen mit 1k Widerstand, 
der mir einen Controllerpin auf Masse zieht.

Kann unmöglich was an der Leiterbahnführung ändern :-(

Müsste quasi dann alles neu Löten :-(
Gast #1963778
Lesenswert?

Augustin schrieb:
> Ja, WMS hat recht ! Tut mir leid, mein Irrtum. Du kannst aber Pin 7 als
> Ausgang benutzen um etwas zu schalten.

Hi Augustin,

es werden zwar PB0, PB1, PB2 & PB4 als Ausgang gesetzt, jedoch werden 
ausschließlich PB2 & PB4 geschaltet, es wird KEIN anderer Portpin 
umgeschaltet.

Das ist recht einfach zu erkennen, die Anzahl der Befehle die einen Port 
ansprechen können ist begrenzt.

Interessanterweise ist an der richtigen Stelle sogar eine Delayfunktion 
eingebaut, jedoch passiert vor und nach dieser Funktion nichts, also 
wird dort auch kein Portpin gesetzt und wieder gelöscht.

Compilier doch mal Deine Originalsource neu.
Gast #1963801
Lesenswert?

Nehme an WMS ist dermaßen Profi, dass er den HEX - Code lesen kann.
Oder gibt es eine Möglichkeit den HEX- Code wieder in den BASCOM - Code
zurück zu übersetzen ? Bin selbst noch nicht so lange in diese Branche..
Gast #1963809
Lesenswert?

Manuel schrieb:
> Es wurden keine Sourcen geuppt!
>
> Woher wisst ihr das? :-D

Abgesehen davon daß ich keine Gruppe bin, man kann den Maschinencode im 
Hex File lesen ;-)

Augustin schrieb:
> Nehme an WMS ist

MWS bitte.
Genau, das Hex disassemblieren und den Assemblercode lesen, AVR Studio 
erlaubt das. Da's nur wenig Code ist, hat man das auch recht schnell 
durch.

Augustin schrieb:
> Oder gibt es eine Möglichkeit den HEX- Code wieder in den BASCOM - Code
> zurück zu übersetzen ?

Nein, das geht nicht,
Gast #1963954
Lesenswert?

Kann leider nichts erkennen, aber das ist etwas derb, wie Du die Bahnen 
herstellst. Ich würde dazu entweder Kupferlackdraht oder aus einer Litze 
ein einzelnes, blankes Drähtchen nehmen und nur da Lötpunkte setzten, wo 
ein Bauelementedraht /- Pin durch das Lötauge gesteckt ist. Vermute mal, 
da ist wo eine Brücke.
Gast #1963962
Lesenswert?

...und nein, der Tiny sollte mit dieser Last nicht warm werden. Bei dem 
7805 kommt es darauf an, wie hoch die unstabilisierte Eingangsspannung 
ist und was Du sonst noch am Ausgang dran hängen hast. Miss mal den 
Strom, der aus dem 7805 in die Schaltungs fließt. Multipliziere die 
Differenz...na, mess erst mal.
Gast #1968759
Lesenswert?

Da Pin 2 ein Analoageingang ist , darf er nicht offen sein. Lege Pin2 an 
GRD, dann müßte Pin 6 Low sein. Pin 2 darf auch nicht offen sein . Er 
muß auf VCC gelegt werden . Evt. über 10 k Ohm, damit Du noch 
programmieren kannst.
#1969417
Lesenswert?

 
@Augustin

wie kann man nur so sadistisch sein ?

gib den Jungs doch die ~20 Zeilen Basic Programm,
dann kann doch jeder das mit der Demo von Bascom
bearbeiten und selber expiremtieren....

oder willst du hier als Klatschschaltergott
angebetet werden ?

* kopfschuettel *


vlg
Charly
Gast #1970854
Lesenswert?

Aber ich habe Pin2 auf Masse gezogen!
Pin 6 ist immernoch dauernt High!

Alle anderen Pins haben nur Verbindung zum ISP-Stecker

Habe die Verbindungen durchgemessen. Diese sind alle voneinander 
Isoliert!

LG
Gast #2199048
Lesenswert?

Ich greif dass hier nochmal mal auf:
In einem Seminar in der Schule soll ein Klatschschalter realisiert 
werden. Da die Schüler keine Ahnung von Programmierung haben, wäre es 
toll, dass ohne einen uC zu machen. Deshalb die Frage:

Kann man eine Schaltung die auf zweifaches Klatschen realisiert auch 
ohne Microcontroller realisieren (ich mein: klar gehts, aber gehts auch 
ohne dass der Aufwand unermesslich ansteigt?) - wenn ja, hätte da jemand 
einen Schaltungsvorschlag?

Und die zweite Frage:
Könnte man Klatschen durch eine Bandpassfilterung eindeutig(er) 
bestimmen? So dass nicht auf andere laute Geräusche reagiert wird?
#2199121
Lesenswert?

Möglich ist das. Ich habe mal eine Schaltung gebaut, die auf einmaliges 
Klatschen reagiert hat. Dort wurde aber jedes laute Geräusch 
ausgewertet, sodass es eher ein Audiopegelschalter war.
Wenn du ein Monoflop nutzt, kannst du auch kontrollieren, ob in einer 
gewissen Zeitspanne 2 mal ein solches Ereignis eintritt und daraufhin 
entsprechend zum Beispiel ein Relais schalten.

Die Schüler haben keine Ahnung von Programmierung, sollen aber einen 
Bandpass berechnen und realisieren können? Wird generell ziemlich 
schwierig, die Frequenzen eines Klatschens festlegen zu können. Kommt 
auch immer draus an, wer Klatscht, wie fest und in welcher Entfernung 
zum Mikrofon er sich befindet. Darüber hinaus klingt zum Beispiel das 
Klatschen einer Frau, de viel kleinere Hände hat viel heller als zum 
Beispiel meines.

Ich schau nachher mal in meinen Unterlagen, ob ich den schaltplan von 
damals noch habe, dann kann ich diesen nochmal hochladen.
Gast #2199243
Lesenswert?

Das wäre super.
Naja, es geht halt darum, dass verstanden werden soll was ungefähr 
gemacht wird. Vielleicht sollte man das mit dem Bandpass wirklich 
weglassen und man belässt es bei der Detektion von lauten Signalen. 
Allerdings das mit dem detektieren von "zwei Klatschern in Folge" wäre 
schon wichtig, damit nicht jedes Tür zu schlagen einen Impuls erzeugt :)
Gast #2199606
Lesenswert?

Die Schaltung geht angeblich, aber ich hab da ein Verständnisproblem 
bzw. Denkfehler. Vielleicht kann mir einer, der sich mit Transistoren 
und Timern gut auskennt auf die Sprünge helfen?

1.
Ein Mikrofonsignal sorgt doch dafür, dass der Ausgang vom OPV kurz mal 
"High" wird..oder? Warum wird dann der Eingangspin vom Timer-IC2 dann 
Low und löst den Trigger aus? Dort liegt ja normalerweise über den 150k 
und den 100k Widerstand eine definierte Spannung an. Warum wird diese 
dann niedriger, wenn ich "noch mehr Spannung" anlege? Hat das was vom 
Satz der Ersatzquelle zu tun?

2.
Wenn kein Impuls vorhanden ist sperrt Q1, weil der IC2 Timer ja auf Low 
steht. Der Kollektor von Q1 hat dann doch das Potential von VCC oder? 
Somit liegt der Eingang vom IC3 auch wenn kein Impuls da ist auch auf 
VCC und der Timer läuft nicht los. Das ist ja ganz gut.
Aber wenn dann mal ein Impuls da war und der IC3 Timer läuft (also der 
Kondensator sich aufläd), dann ist dieser "Retrigger"-Transistor (Q2) 
doch schon nach 250ms durchgeschaltetet. Also bevor die eigentliche 
Timer-Zeit (750ms) abgelaufen ist. Somit kann sich der Kondensator vom 
Timer IC3 doch nie aufladen und er kommt nie zu einem Ende. Oder wo ist 
hier mein Denkfehler ?

3. Der IC4 (4017-Zähler) zählt bei jedem Übergang von CP0 von Low zu 
High eins weiter? Also wird am Anfang auch ohne Impuls auf jeden Fall 
ein Zählschritt stattfinden, weil der CP0 ja am Anfang High ist, und 
dort so lange bleibt, bis ein Impuls statt findet - oder?
Gast #2200378
Lesenswert?

die Antwort auf 1 hab ich mittlerweile selber:
Die Spannung wird durch den Spannungsteiler am Trigger vom Timer-IC2 auf 
0.4 VDD eingestellt.
Ein Audio-Signal (Klatschen) ruft eine Wechselspannung hervor, die diese 
0.4 VDD überlagert: Deshalb komt man in den Bereich < 0.3 VDD und der 
Timer läuft los.
Gast #2200401
Lesenswert?

Frage 2 ist mir jetzt auch klar: das is ja ein PNP Transistor - der 
braucht zum Durchschalten ja eine niedrige Spannung und keine hohe...
naja und Frage 3 wird einfach so sein, wie ichs gedacht hab :P

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren