Hallo, ich möchte für ein Kinderspiel eine Art musikalisches Codeschloss bauen. Eine Kiste soll sich öffnen, wenn eine bestimmte (möglichst einfache, max. 5 verschiedene Töne) Melodie auf einer Flöte gespielt wird. Für die Auswertung der Töne bin ich jetzt auf folgende Schaltung gestoßen: http://www.myplace.nu/avr/gtuner/index.htm Was meint Ihr? Könnte das damit hinhauen? In der Software könnte man ja die Hysterese deutlich größer machen um einen Ton sicher zu erkennen. Wie gesagt, keine Profianwendung, nur ein Spiel. Wenn jemand andere Vorschläge hat die nicht auf einer kompliziert FFT - Analyse beruhen, gerne her damit ;-) Bin wirklich dankbar für weitere Ideen, bevor ich mir die Teile besorge. Gruß, Bernhard
Tux schrieb: > Goetzel-Algorithmus/Filter wäre mein Vorschlag. Das wäre aber Kanonen auf Spatzen gerichtet :-) Die Fötentöne können / sollen ja durch die Grundtöne identifiziert werden und da reicht der Vergleich mit jeweils einer einzigen der jeweils bekannten 5 Frequenzen. Das funktioniert dann, wenn die Töne genügend lange gepielt werden, also z.B. 32 Phasen, was auch bei tiefen Tönen leicht übertroffen wird. Man baut eine Art AGC mit einem Opamp und einen Rechteckkomparator der mit dem Sollton gespeist wird. Müsste jeder Micki-AVR locker schaffen. Wenn bei der Koerrelation des Signals ein genügend grosser Wert erzielt wird, ist die Bedingung erfüllt und die state machine wartet das Tonende ab - hüpft in die Warteschleife für den nächste Ton. Wenn Du es Dir mit dem Triggern der Phase ganz einfach machen willst, prozessierts Du komplex (IQ) indem Du ein 90° verschobenens Rechteck ausgibt. Dann halt auf zwei Komparatoren. Der Rest ist Mathe im AVR.
Jürgen Schuhmacher schrieb: > Tux schrieb: >> Goetzel-Algorithmus/Filter wäre mein Vorschlag. > Das wäre aber Kanonen auf Spatzen gerichtet :-) Nicht wirklich. Goertzel ist doch wirklich recht einfach zu implementieren und arbeitet erheblich zuverlässiger als alles, was auf der Analyse von Nulldurchgängen beruht. Man spart sich viel Ärger, wenn man sich gleich für Goertzel entscheidet und den einmalig etwas höheren Aufwand in Kauf nimmt.
Alex Bürgel schrieb: > Guck dir mal den NE567 an, ist zwar schon alt, könnte bei deiner > Anwendung aber reichen. Leider geht der nur für eine Frequenz. Um 5 Tonhöhen auszuwerten, bräuchte man also 5 Stück und entsprechend viele Portpins. Der Gitarrentuner ist doch schon ganz gut, muss bloss erweitert werden.
Bernhard R. schrieb: > für ein Kinderspiel Jürgen Schuhmacher schrieb: > Die Fötentöne Ahh ja :D Aber im Ernst... Bevor man da irgendwelche "komplizierten" Hardwareaufbauten anfängt (OpAmps, etc.) würde ich das dann doch auch eher in Software lösen. Dann hast du auch den Vorteil, dass du leicht verschiedene Möglichkeiten testen kannst. Entweder du wandelst tatsächlich das o.g. Stimmgerät ab oder du nimmst wirklich den Goertzel :) Bernhard R. schrieb: > Wenn jemand andere Vorschläge hat die nicht auf einer kompliziert FFT - > Analyse beruhen, gerne her damit ;-) Den Algorithmus in C findet man bei Google, dann musst du eigentlich nur noch die Funktion aufrufen. Ich würde behaupten, dass das auch nicht viel komplizierter ist als die andere Option. :) Edit: http://www.embedded.com/design/configurable-systems/4024443/The-Goertzel-Algorithm
Hei, da ich das nicht softwaremäßig lösen könnte, würde ich einen billigen Gitarrentuner (<15 Euro) nehmen und dessen Anzeige mit einem analogen Eingang eines µC verheiraten. Grüße, Tom
Hallo zusammen, bin jetzt soweit, dass ich das Mikrofonsignal auf einen Pegel von ca. 50mV bekommen habe. Laut der Seite http://www.myplace.nu/avr/gtuner/index.htm passt das ja zur Auswertung. Ich habe das Ausgangssignal jetzt mal über die Soundkarte mitgeschrieben und bekomme folgendes Signal für den Kammerton A angezeigt (siehe Anhang). Leider habe ich kein richtiges Oszi um mir das Audiosignal mal genauer anzuschauen. Jetzt wo ich dieses Signal sehe, verstehe ich den C-Code nicht mehr. Wie kann ich durch zählen der Flankenübergänge auf die Grundfrequenz 440Hz kommen? Hab ich irgendwo einen Denkfehler oder kann mir jemand folgenden Code-Schnipsel erklären:
1 | for (i=0;i<32;i++) |
2 | {
|
3 | while (bit_is_set(PINB,1)) // ignore hi->lo edge transitions |
4 | if (count_hi > 80) // skip if no edge is seen within |
5 | break; // a reasonable time |
6 | |
7 | while (bit_is_clear(PINB,1)) // wait for lo->hi edge |
8 | if (count_hi > 80) // skip if no edge is seen within |
9 | break; // a reasonable time |
10 | |
11 | count += (count_hi << 8) + inp(TCNT0); // get counter value |
12 | outp(0,TCNT0); // clear counter |
13 | |
14 | if (count_hi > 80) // skip if counter has accumulated a |
15 | break; // too high value |
16 | |
17 | count_hi = 0; // clear hi count |
18 | }
|
19 | |
20 | |
21 | |
22 | |
23 | // initially turn off both leds
|
24 | sbi(PORTB,0); |
25 | sbi(PORTB,2); |
26 | |
27 | if (count_hi <= 80) // if count is reasonable |
28 | {
|
29 | |
30 | count = count >> 5; // average accumulated count by dividing with 32 |
Ich habe das so verstanden: In der If Schleife wird 32mal ein Flankenwechsel abgefragt, die verstrichene Zeit zu einer Variablen hinzugefügt und danach die Variable durch 32 geteilt um einen Durchschnittswert zu bekommen. Wenn der Abstand zwischen zwei Flanken zu lange ist, wird die Messung unterbrochen. Das passt aber nicht zu meinem aufgenommenen Signal. Kann mich mal jemand erleuchten? Ich möchte das auf einem Attiny44 oder 2323 umsetzten und den Code und die Funktionsweise verstehen.
Hallo Bernhard, die o.g. Anfrage ist ja schon so lange her...;-) und ich habe mir diese Idee für einen Geocache ausgeliehen, da ich diese Idee genial finde... Inzwischen habe ich eine funktionierende Lösung, die auf Intervallerkennung optimiert ist, wobei der 1. Ton frei wählbar ist, nur die Folgetöne müssen in die Intervallfolge passen. Am 8.8.26 geht das System in den 1. Praxistest... Wenn Dich das (noch) interessiert, dann melde Dich bei mir; d.h. ich bin natürlich gerne bereit Dir näheres mitzuteilen. Liebe Grüße Roland
Dominik S. schrieb: > Bernhard R. schrieb: >> Wenn jemand andere Vorschläge hat die nicht auf einer kompliziert FFT - >> Analyse beruhen, gerne her damit ;-) > > Den Algorithmus in C findet man bei Google, dann musst du eigentlich nur > noch die Funktion aufrufen. > Ich würde behaupten, dass das auch nicht viel komplizierter ist als die > andere Option. :) Der Rechenaufwand für eine komplette FFT ist erheblich größer, als ein paar wenige Frequenzen mit dem Goertzel-Algorithmus abzuklappern. Nur wenn du die Kompliziertheit einzig nach dem Codeumfang für einen Funktionsaufruf irgend einer Library bewertest, magst du Recht haben. Vor 13 Jahren dürfte die erforderliche Rechenleistung allerdings noch ein deutliches höheres Gewicht bei der Entscheidung gehabt haben. Inzwischen hat sich da viel verändert.
Rainer W. schrieb: > Inzwischen hat sich da viel verändert. Stimmt. Zum Beispiel ist der STM32G431 für solche Aufgaben bestens ausgestattet. Und das ist kein High-End Bolide, sondern in der 3€ Mittelklasse.
Nemopuk schrieb: > Rainer W. schrieb: >> Inzwischen hat sich da viel verändert. > > Stimmt. Zum Beispiel ist der STM32G431 für solche Aufgaben bestens > ausgestattet. Und das ist kein High-End Bolide, sondern in der 3€ > Mittelklasse. 5 Goertzels im Audiobereich sind ein Witz. Dafür tut's auch ein 70Cent-ATtiny. Tat's übrigens auch vor 13 Jahren schon. Da war es allerdings noch nicht ganz so einfach, weil die ollen Tinys nicht in Hardware multiplizieren konnten. Aber es war möglich. Oder anders ausgedrückt: Wer für diese anspruchslose Aufgabe einen STM32G431 benötigt, der kann schlicht nicht programmieren.
Rainer W. schrieb: > ein > paar wenige Frequenzen mit dem Goertzel-Algorithmus abzuklappern. Ich hatte damals vor 13 Jahren schon erklärt wie man das auch ohne kann - die beschriebene Mimik lässt sich 1:1 in SW machen, wobei es eben durchaus auch auf die Signalkonditionierung ankommt. In SW braucht es ein gewndeltes Signal mit entsprechende Amplitude und das idealerweise offesetfrei.
Jörg schrieb: > Wie hieß der Film nochmal? https://de.wikipedia.org/wiki/Unheimliche_Begegnung_der_dritten_Art
Markus T. schrieb: > https://de.wikipedia.org/wiki/Unheimliche_Begegnung_der_dritten_Art Mit H7-25 in seiner ersten Rolle.
Ob S. schrieb: > 5 Goertzels im Audiobereich sind ein Witz. Seh' ich genauso, zumal es bei dieser Anwendung ja nun wirklich keinerlei zeitkritische Anforderungen gibt. Hatte ich vor ca. 20 Jahren mit einem AT90S8515 (?) @ 4 MHz gemacht als Gitarrenstimmgerät für die Tochter.
Habe mal meine Wühlkiste untersucht, nach einer schnellen einfachen Lösung für das Eingangsproblem. Gefunden habe ich ein "Maix Dock M1W" Board. Völlig überzogen für die Aufgabe, aber alles Nützliche schon drauf. Mikrofon FFT in Hardware Gar ein KI Modul(wer es braucht) Dual Core RISC-V64 Die sprichwörtliche "Kanone auf Spatzen". Aber dafür kein Löten, kein Basteln mit Analog Verstärker/Kompressor usw. Noch gibt es welche im Handel, aber die Luft wird zunehmend dünner.
Arduino F. schrieb: > Völlig überzogen für die Aufgabe Das kann man wohl nicht anders sagen. > aber alles Nützliche schon drauf. Hat z.B. ein Tiny25 ebenfalls. Kostet bei Digikey 85Cent. Hmm... Bis auf das Mikro und ein wenig Hühnerfutter zu dessen Anbindung. Zusammen noch mal so ca. ein knapper Euro. Das ist schon ein bissel was anderes als 55 Euronen...
Thilo L. schrieb: > Seh' ich genauso, zumal es bei dieser Anwendung ja nun wirklich > keinerlei zeitkritische Anforderungen gibt. Na doch, gibt es natürlich schon. Es muss sichergestellt sein, dass jeder Goertzel jedes Sample mitbekommt und innerhalb einer Samplezeit verarbeitet. Aber es gibt zwei einfache Tricks, um den Rechenzeitaufwand der Goertzels möglichst gleichmäßig zu verteilen. 1) Variation der Lauflängen der Goertzels 2) Versatz um ein Sample von Goertzel zu Goertzel Oder natürlich Kombinationen beider Ansätze. Allerdings hängt es von der konkreten Anwendung ab, was sinnvoll ist, denn beide Ansätze haben natürlich auch Nachteile. So wie das praktisch immer in der Signalverarbeitung ist: nix ist perfekt.
Ob S. schrieb: > Na doch, gibt es natürlich schon. Nö, seh' ich nicht. Mal angennommen, das Kind schafft es, pro Sekunde einen Ton zu spielen, dann habe ich, sagen wir mal, 100ms Zeit, um hunderte von Samples zu sammeln, und 900 ms für den Görtzel. WIMR hat mein Görtzel damals (=4 MHz-AVR) ca. 50 ms benötigt, also wo ist das Zeitproblem? Da kann ich lässig mit 10facher Redundanz arbeiten...
:
Bearbeitet durch User
Thilo L. schrieb: > Nö, seh' ich nicht. [...] 1) Während der "Betriebszeit" des Goertzels muss er JEDES Sample mitbekommen, sonst filtert er nicht auf die gewünschte Frequenz. 2) Dazu kommt bei mehreren Goertzels das Problem, dass ein recht großer Teil des gesamten Rechenzeitaufwands nur bei jeweils einem Sample anfällt, dem letzten der "Betriebszeit". Aber auch dieses Sample muß deutlich innerhalb einer Samplezeit verabeitet sein, sonst kann für die konkurrierenden Goertzels Bedingung 1) nicht mehr sichergestellt werden. Außerdem: > 4 MHz-AVR Was genau? Classic-Tiny oder Mega? Classic-Tinys können (mit einer Ausnahme) nicht in Hardware multiplizieren, Megas schon. Das macht einen ziemlichen Unterschied. Was der Mega in zwei Takten erledigt, dafür braucht der Tiny ca. 40.
Ob S. schrieb: > Was genau? Classic-Tiny oder Mega? Ooops, gerade erst gesehen: AT90S8515. Keine Ahnung, ob die HW-Mul konnten. Habe ich nie verwendet. Der "Nachfolger" Mega8515 konnte das jedenfalls.
Hmmm, entweder wir reden aneinander vorbei, oder ich verstehe Deine Argumente nicht. Ich sammle einen Buffer voll Samples => fertig für die Verarbeitung durch den Görtzel. Ich kann nun sogar während des Görtzels weiter Samplen, muss ich aber nicht, das ich ja einen aussagekräftigen Buffer voll Samples bereits habe. Zur Sicherheit kann ich mehrmals samplen, der Redundanz wegen. Sobald ein Ton erkannt wurde, erhöhe ich einen Zähler. Das ganze "Gesampele und Gegörtzele" führe ich einfach ongoing fort, ggfs. überlappend, bis mein Zähler auf 5 steht - Voilá! Ich muss doch nicht lückenlos samplen, es reicht, wenn ich schnell einen Buffer mit (lückenlosen) Samples fülle, dann den Görtzel laufen lasse. Ob ich in der Zeit des Görtzels hunderte potentieller Samples verpasse oder nicht, spielt doch für die Decodierung keinerlei Rolle. Wo ist mein Denkfehler? ;-)
Thilo L. schrieb: > Hmmm, entweder wir reden aneinander vorbei, oder ich verstehe Deine > Argumente nicht. Nun, zumindest habe ich jetzt wohl verstanden, welche Lösung dir vorschwebt. Du benutzt die Goertzels nacheinander. Also warte auf ersten erwarteten Ton, wenn "gesehen", warte auf zweiten erwarteten Ton (also: lasse Goertzel mit anderen Parmetern laufen) usw. Das ist natürlich deutlich suboptimal. Jedes breitbandige Störgeräusch wird diese Logik durcheinander bringen. Teste das einfach mal dadurch: spiele zwei Töne, laß ein Schlüsselbund runterfallen, spiele die restlichen Töne...
Na ja, die Töne werden auch nacheinander gespielt, also muss ich sie auch nacheinander detektieren, oder?
Du musst jeden Ton detektieren, das Ergebnis sequenziell in einen Speicher ablegen. Quasi Bit für Bit. Jeder Ton der erkannt wird belegt einen festen Platz. Gleich danach prüfst du ob die gewünschte Reihenfolge eingehalten ist. Wenn nicht, dann gleich alle Speicherpositionen löschen und wieder von vorne. Ton 1 detektiert, Speicherflag 1 setzen, auf den nächsten Ton warten. Ist es dann der gewünschte 2. Ton, dann Speicherflag 2 setzen, ist es ein anderer, dann alle Speicherflags löschen und wieder bei eins starten. Usw. Hast du dann alle fünf Flags gesetzt, Aktion auslösen.
Thilo L. schrieb: > Na ja, die Töne werden auch nacheinander gespielt, also muss ich sie > auch nacheinander detektieren, oder? Klar, die Sequenz der Töne muß natürlich sequentiell geprüft werden. Der Trick ist aber, schon die die einzelnen Töne möglichst zuverlässig zu erkennen. Also auch dann, wenn sie z.B. nur relativ leise reinkommen oder dann, wenn ein breitbandiges Störgeräusch das tut, was Störgeräusche halt so tun: stören. Wenn man also 5 Goertzels laufen lassen kann, dann nutzt man immer alle fünf. Den gewünschten Ton erkennt man dann am Verhältnis der Ergebnisse der 5 Kanäle. Das ist zwar noch nicht optimal, aber schon viel besser als die Auswertung nur eines einzelnen Kanals. Das Prinzip zur Perfektion getrieben kannst du z.B. bei DTMF finden. Sehr gute Decoder benutzen da 16 Kanäle, weniger gute nur 8. Und sie tun das immer parallel und werten halt die Pegelverhältnisse der 8 oder 16 Kanäle aus, nicht nur den Wert eines einzelnen Kanals. In Wirklichkeit ist es sogar noch komplizierter, weil bei den sehr guten Decodern mit 16 Kanälen auch noch die Phasenlage der Einzelsignale ausgewertet wird. Das dient dazu, unerwünschte Oberwellen zu erkennen, also Fakes des eigentlich zu identifizierenden Tones auszusieben. Leider kannst du bei der Melodieerkennung so weit nicht gehen, denn es ist völlig natürlich, dass Musikinstrumente auch Oberwellen produzieren (das macht ja gerade ihren typischen Klang aus). Im Gegensatz zu den synthetischen DTMF-Tönen, die per Definition weitgehend oberwellenfrei gesendet werden müssen.
Vielleicht findet noch jemand das Gitarrenstimmgerät mit Arduino, sowie Code, das über ein paar LED als Anzeige arbeitete. Dann müßte nur noch abgefragt werden, ob die LED in der richtigen Reihenfolge aufleuchten.
:
Bearbeitet durch User
STM32F oder STM32U Serie, da gibt es eine ganze Reihe SoC die gleich ausreichend (12 Bit) gute ADC/DAC im Chip haben. Software FFT gibt es wie Sand am Meer. Eine auf Audio ausgerichtete Übersicht gibt es zum Beispiel hier: https://community.vcvrack.com/t/complete-list-of-native-fft-libraries-for-audio/9153 Wenn man dann noch Gemini oder eine anderen KI befragt, dann bekommt man einen guten Überblick, was man für so eine Software FFT als Rechenleistung benötigt und welche Chips als Rechenknechte in Frage kommen. Ein STM32F411 Blackpill Board kann die Aufgabe mehr als lösen, es bringt nicht nur genug Rechenleistung für eine FFT, sondern auch einen DSP mit, der die FFT im Handumdrehen erledigt. Arduino wäre für Software FFT zu langsam, die integrierten ADC von ESP32 sind zu schlecht. Daher der Rat zu STM32.
Ulrich schrieb: > Ein STM32F411 Blackpill Board kann die Aufgabe mehr als lösen, es bringt > nicht nur genug Rechenleistung für eine FFT, sondern auch einen DSP mit, > der die FFT im Handumdrehen erledigt. Grundsätzlich hast du Recht, jedoch: Kanone ──▶ Spatz Ein fertiges PICO oder PICO2 Board für den kleinsten unserer Euro-Scheine kann es ebenfalls. Bequem in Python. Erkennung von bis zu acht gleichzeitig erklingenden Töne in ca. 20ms. Wenn man sich auf die Hälfte der verfügbaren Kerne beschränkt. Sonst doppelt so schnell. Und man benötigt keinen Programmer, wodurch man weiterhin nur den kleinen Euro Schein von oben braucht.
Blackpill Aliexpress ca 3,50€ für ein einzelnes exemplar, ca 7€ für zwei, ab 10€ gibt es gerne auch schon mal 4 Boards. Da kann man sich dann ordentlich einarbeiten und seine nächsten Projekte auch auf das Gelernte aufsetzen. Die Programmer für STM kosten im Stick Format 6€ aber du brauchst für den BlackPill keinen Programmer, der hat einen integrierten ST-Link V2. Du kopierts einfach den bin file in das sich öffnende Verzeichnis, wenn das Ding im ST-Link Modus angestöpselt oder in den Modus resettet wird.
https://store-usa.arduino.cc/products/arduino-tiny-machine-learning-kit https://github.com/emlearn/emlearn Oder die Flötentöne als Samples vorgeben, und dann matchen - könnte auch hilfreich sein. Die Flötentöne zum Vergleichen könnte man sogar mit Synth erstellen.
Ulrich schrieb: > Blackpill Aliexpress ca 3,50€ für ein einzelnes exemplar, Ach so, also C³ Ich dachte wir wollen bequem in Deutschland ein Original einkaufen. Wenn's C³ sein darf, hätte ich etwas für 1,49. Wollen wir das tatsächlich weiter machen? ;-) Aber dass STLINK ein Laufwerk öffnet, das wusste ich noch nicht. Ich hatte meinen STMF4 bisher immer per ›st-flash‹ programmiert. Muss ich bei Gelegenheit doch mal reinschauen. C³: cheap China crap
Rbx schrieb: > Oder die Flötentöne als Samples vorgeben, und dann matchen - könnte auch > hilfreich sein. Die Flötentöne zum Vergleichen könnte man sogar mit > Synth erstellen. Der sourcecode würde mich mal interessieren. Und das erzielbare Ergebnis.
Norbert schrieb: > Ach so, also C³ > Ich dachte wir wollen bequem in Deutschland ein Original einkaufen. Das Eine muss das Andere nicht ausschließen. Wenn der TO am Projekt Spaß findet, dann kann er nach Rapid Prototyping auf C³ Hardware, eine eigene Platine designen und mit hochwertiger Elektronik bestücken. Aber um eine Machbarkeit zu prüfen, gegen die eigenen Fähigkeiten abzugleichen und ggf. in die Ecke zu werfen, reicht das C³ schon aus. Man sollte auch nicht die Module für 98 ct kaufen, bei denen nur 1x Verkauft steht, sondern schon einen Anbieter wählen, der schon >1000 Module verkauft hat und diese für >3€ anbietet. Ein Originalteil gibt es da in der Richtung kaum, es sind die gleichen Teile aus der gleichen Fabrik im gleichen China, sie haben nur eine andere Farbe und laufen zu einer anderen Uhrzeit vom Band. Ob ein echter STM32 drauf ist, kannst Du nur als Firmenkunde bei Mouser, Farnell oder Digikey herausfinden. Privatkunden steht da kaum eine Möglichkeit offen. Das einzig wirklich super schlechte aus China ist, sind die Dupont-Stecker mit einer maximalen Steckzyklen Zahl von 3. Danach kommen die kleinen Steckbretter mit einer Zyklenzahl von 5 bis 10. Aber von den 10 BluePills (STM32F10x), die ich schon verbastelt habe, war nur eine wirklich DOA. Aber ja, ich habe auch sehr viele EVKs direkt von ST vom Messegeschenk bis zum 500€ STM32H7 Board. Ich habe auch alle ST-Link Programmer in allen Versionen. Aber ich arbeite auch seid 20 Jahren mit den Dingern. Trotzdem mag ich die Blue- und BlackPills, weil ich nicht erst über Datenblätter herausfinden muss, welche GPIOs bereits durch Zeug belegt ist, das ich nicht brauche.
Ulrich schrieb: > Blackpill Aliexpress ca 3,50€ für ein einzelnes exemplar, ca 7€ für > zwei, ab 10€ gibt es gerne auch schon mal 4 Boards. Da kann man sich > dann ordentlich einarbeiten und seine nächsten Projekte auch auf das > Gelernte aufsetzen. > > Die Programmer für STM kosten im Stick Format 6€ aber du brauchst für > den BlackPill keinen Programmer, der hat einen integrierten ST-Link V2. > Du kopierts einfach den bin file in das sich öffnende Verzeichnis, wenn > das Ding im ST-Link Modus angestöpselt oder in den Modus resettet wird. Du darfst jetzt für jeden deiner genannten Artikel noch jeweils 3€ addieren, dann stimmt die Rechnung wieder. Siehe: Beitrag "Re: China SUPER Bauteile-Schnäppchen Thread [V4]" oder Beitrag "Wegfall der 150-Euro-Zollfreigrenze"
Loco M. schrieb: > Du darfst jetzt für jeden deiner genannten Artikel noch jeweils 3€ > addieren, dann stimmt die Rechnung wieder. Gut, also 6€ für einen einzelnes BlackPill, 13€ für den Viererpack. Digikey: 14€ für ein DFRobot BlackPill, 16€ für das Nukleo, 26,25 für das AdaFruit BlackPill. Dazu kommen noch die Landesübliche Steuer und Mindermengenzuschlag für Bestellungen unter 60USD. BerryBase will 32€ für ein BlackPill, Eckstein führt ihn nicht. Solange die Elektronikbranche weiter aktiv ihre einstiegswilligen Jung-Kunden vergrault, bleiben eBay, Amazon-Shops und AliExpress die besten Quellen für "Ich möchte mal was probieren, ohne gleich Pleite zu sein, wenn's nicht klappt" Hardware.
Ulrich schrieb: > Solange die Elektronikbranche weiter aktiv ihre einstiegswilligen > Jung-Kunden vergrault, Vor ein paar Jahren konnte man in jedem blauen C Laden für'n Fünfer einen PICO mitnehmen. Bei Berrybase (und ganz sicher vielen anderen) immer noch. Genauer gesagt, einen PICO für 4,10€ und einen PICO2 für 5,50€. Bei Versand halt plus überschaubare 4,95€ Versandkosten. Ich denke, das sind durchaus überschaubare Einstiegskosten.
Rbx schrieb: > Oder die Flötentöne als Samples vorgeben, Bei der Auwahl aber unbedingt sorfältig bei der Melodiewahl vorgehen. Also kein französisches Lied verwenden, das mit l'amour anfängt. Die Melodie darf auch nicht zu schwer sein, sonst flötest Du vergeblich, bis Du als Nachtlärmrabauke abgeholt wirst. Das sind alles Punkte einer Risikobetrachtung, weshalb es das nicht von der Stange zu kaufen gibt.
Oh Mann! Da bin ich aber froh, dass man die Raspberry Pi Pico und Raspberry Pi Pico 2 nicht nur noch mit 0 und 2 abkürzt! Ich habe nicht verstanden, was Du mit PICO und PICO2 meinst! In meiner Karriere sind alle 3 Buchstaben Abkürzungen bereits mindestens 3-fach belegt, und alle 4-buchstabigen bereits doppelt! Klar gehen die RPi Picos auch! Der Pico hat einen etwas verrauschten ADC, der Pico 2 liegt da gleichauf mit dem STM32F4. Bei der Verwendung von 12-bit ADCs reichen Integer-Berechnungen, also tun es alle vorgeschlagenen SoC. Vorteil von STM32F4 und PCO2 (;P) sind deren DSP, so könnte man die Mathematik effizienter laufen lassen was aber nur bei Batteriebetrieb etwas bringen würde. Ich habe mit FFT schon viel aber mit Goertzel noch nie etwas gemacht. Bedenken sollte man, dass echte Musikinstrumente eingesetzt werden sollen, der TO nannte eine Flöte. Also bekommt man es mit vielen Oberwellen zu tun, denn sie definieren die Klangfarbe des Instruments. Dort kann eine FFT besser funktionieren als Goertzel, da letzterer ggf den falschen Peak findet. Für FFT gibt es dann noch die Möglichkeit des Harmonic Product Spectrum (HPS) die das Oberwellenproblem elegant lösen könnte, wenn harmonische Oberwellen dominieren. In meiner Vorstellung muss man gewünschte Ergebnis bei Goertzel vorab ausrechnen und vorgeben. Bei der FFT hat man den Vorteil, dass man sich die erkannten Werte einfach ausgeben lassen kann, bevor man sie dann als Vergleichswerte vorgibt. Theoretisch kann man dem Schloss dann auf Knopfdruck immer wieder andere Tonfolgen vorspielen, um den Code zu ändern.
Ulrich schrieb: > Vorteil von STM32F4 und PCO2 (;P) sind deren DSP, so könnte man die > Mathematik effizienter laufen lassen Hatte gestern noch einmal nachgesehen, auf einem ›Raspberry Pi Pico board based on the Raspberry Pi RP2040 microcontroller chip‹ kann man den ℕ-Goertzel mit acht Frequenzen tatsächlich alle 3½ms (MicroPython) laufen lassen *¹. Ich hatte zuvor fälschlicherweise 20ms angegeben. Nützte man einen ℝ-Goertzel, dann geringfügig länger (als die 3½ms). Im log (enthält ANSI-Farben, mit less -R anschauen) kann man einen Lauf mit sehr niedriger Amplitude plus Rauschen plus variablen Frequenzabweichungen sehen. Resultate (Erkennung) im Bereich 0…999, >=900 grün, >=800 magenta, sonst schwarz. Und um andere Frequenzen zu detektieren berechnet man nur kurz die Breiten der bins und die acht Koeffizienten (Mikrosekunden-Kram) *1) Sampling time für je einen Block beträgt 25,65ms und läuft ohne Unterbrechungen im Hintergrund.
:
Bearbeitet durch User
Ulrich schrieb: > Blackpill Aliexpress ca 3,50€ für ein einzelnes exemplar das war vielleicht vor 2 Wochen noch so, jetzt 6,50
Walter S. schrieb: > das war vielleicht vor 2 Wochen noch so, jetzt 6,50 Du wirst dran sterben. Oder du wartest, bis die neue digitale Plattform zur Abwicklung und Kontrolle der Einfuhr nach jetzigem Plan im 1. Juli 2028 verfügbar ist. Die 3 € Pauschale als ist nur eine Verzweifelungstat, um der Kleinpaketflut Herr zu werden, weil die Plattform noch nicht so weit ist. Gut (?) Ding will Weile haben. Ob von den 3 €/Warengruppe wohl zusätzliches Personal eingestellt wird? Oder dauert so eine Einstellung auch wieder so lange, dass bis dahin die neue Plattform verfügbar ist?
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


