Inhaltsverzeichnis:

Sonic Fliege von David Boldevin Engen - Gunook
Sonic Fliege von David Boldevin Engen - Gunook

Video: Sonic Fliege von David Boldevin Engen - Gunook

Video: Sonic Fliege von David Boldevin Engen - Gunook
Video: Я полечу с тобой (Оригинал / Видео с текстами песен) фон Джиджи д'Агостино 2024, November
Anonim
Image
Image

Eine kompakte Fliege, die die Umgebungsgeräusche kontinuierlich in vier verschiedenen Frequenzen auf ihren zwei verspiegelten 4x5 LED-Arrays anzeigen kann

In diesem Tutorial erfahren Sie, wie Sie eine Fliege herstellen, mit der Sie in jeder Menge auffallen.

Was Sie für dieses Projekt benötigen:

1 Arduino Pro Micro oder ein ähnlich großes Arduino, das mit 16 MHz läuft

40 3mm LEDs

1 einfacher Knopf

1 Elektret-Mikrofon

1 wiederaufladbarer 3,7 V 800 mAh 25C 1-Zellen-LiPo-Akku

10 100Ω Widerstände

1 10kΩ Widerstand

1 220Ω Widerstand

Zugang zu einer PCB-Maschine (Printed Circuit Board)

Eine billige verstellbare Haken- / Clip-On-Fliege oder einfach nur das verstellbare Haken- / Clip-On-Nackenband

Schritt 1: Drucken Sie die Platine

Drucken Sie die Platine
Drucken Sie die Platine

Beim Bedrucken einer Leiterplatte müssen Sie ggf. die.cmp-Datei an die Anforderungen des Herstellers anpassen. Die Platine im Original wurde jedoch mit einer ziemlich ungenauen Methode hergestellt, sodass die meisten Hersteller die Platine höchstwahrscheinlich ohne Änderungen herstellen können. Auf den Bildern sieht man die Vorder- und Rückseite der Platine. Das Design geht davon aus, dass Lötlöcher keine Vias enthalten und dass Vias nur separat platziert werden können (bei Leiterplatten mit mehr als einer Seite sind Vias Verbindungen zwischen Schichten).

Jedes Licht wird individuell mit einer Technik namens Charlieplexing adressiert, die viel weniger Eingangsknoten als eine normale LED-Matrix ermöglicht ohne auffälliges Blinken. Charliplexing funktioniert, indem es anstelle von zwei Signalen 1 und 0 drei 1, 0 und Z hat. Wobei Z wie ein offener Stromkreis funktioniert, indem es eine sehr hohe Impedanz hat. Jedes Licht wird also eingeschaltet, indem der Knoten eine Kombination von 1, 0, Z, Z, Z hat, was bedeutet, dass der Strom nur von einem Knoten zu einem anderen gleichzeitig fließen kann.

Schritt 2: Alles zusammenlöten

Alles zusammenlöten
Alles zusammenlöten

Beim Löten der Lichter auf der Platine ist es sehr wichtig, die positive Seite der LED konsequent auf die Quadrate und die negative auf den Kreis zu löten. Wenn Sie es umgekehrt machen, schaltet die Adresse im Code die falschen Lichter ein, und eine Inkonsistenz führt dazu, dass mehrere Lichter durch die gleichen Reize eingeschaltet werden.

Dann die 10 100Ω Widerstände an der Vorderseite der Fliege anlöten.

Verbinden Sie dann die anderen Teile wie im Schaltplan gezeigt. Es ist in Ordnung, die Batterie direkt an das Arduino zu löten, da es aufgeladen wird, wenn das Arduino über USB angeschlossen ist. Bevor Sie alle Teile auf die Rückseite der Platine kleben, sollten Sie auf Fehler im Array testen.

Schritt 3: Hochladen von Code und Debuggen

Laden Sie den obigen Code hoch. Wenn es hochgeladen wurde, drücken Sie die Taste, um es zu aktivieren. Jetzt sollte eine nach innen gerichtete Dreiecksform auf der Fliege nach oben oder unten scrollen.

Wenn Sie dies nicht tun, verwenden Sie die Blink(LED)-Funktion, die eine Eingabe einer Zahl von 1-20 für jedes Licht einzeln in der while(mode=0)-Schleife in der void-Schleife benötigt, während Sie den Rest von while auskommentieren Schleife.

Leere Schleife () {

während (Modus == 0) {

Blinzeln(1); // Testen Sie einen nach dem anderen, ob die Lichter so funktionieren, wie sie sollten und welche nicht

//Blinken(2); // nächster Schritt bis 20

/* if (digitalRead(Button) == 0) {

Modus = 1;

Aus();

einschalten(1);

Verzögerung (200);

brechen;

}

Aus(); */ // dieser Abschnitt wird beim Debuggen auskommentiert

}

…..

Debuggen:

Wenn Sie auf jeder Seite unterschiedliche Lichter haben, stimmt etwas mit dem Löten nicht und Sie sollten die betroffenen Lichter entlöten und Schritt 2 erneut ausführen.

Wenn Paare von 2 Lichtern ausgeschaltet sind, können Vias fehlen.

Wenn immer zwei Lichter zusammen aufleuchten und weniger hell sind als andere, wurde eine falsch verlötet.

Wenn sich jedes Licht einzeln einschaltet, aber nicht dem Muster folgen, das in den Anweisungen oben im Code beschrieben ist, haben Sie Schritt 2 durcheinander gebracht.

andere Probleme können durch schlechte Verbindungen oder einen Kurzschluss auf der Platine entstehen.

Achtung: Dieses Segment ist sehr technisch und für die Herstellung der Fliege unnötig

Ich habe den Spektrumanalysecode speziell für einen Arduino mit einer 16-MHz-Taktfrequenz geschrieben. Ich bin mir also nicht ganz sicher, wie gut es auf anderen Systemen funktionieren wird, es könnte dazu führen, dass alle Bands sehr unterschiedlich reagieren, aber es kann sich nicht viel ändern.

Es funktioniert, indem es 60 Samples in etwa 6, 7 ms nimmt, was einer Abtastfrequenz von etwa 8, 9 kHz entspricht. Analysieren Sie sie dann auf 4 verschiedene Arten und geben Sie 4 verschiedene Frequenzen an.

Die Höchstfrequenzanalyse funktioniert, indem sie jeden zweiten Abtastwert mit dem nächsten vergleicht, den Wert quadriert und ihn für jedes s Abtastwertpaar summiert. Dies ergibt den höchsten Effekt bei der halben Abtastfrequenz, also ist es ein Bandpassfilter um 4, 4 kHz.

Eine grobe mathematische Formel zur Analyse:

Σ(sq(x[2n-1]-x[2n]))

Der nächste funktioniert sehr ähnlich, fügt jedoch zunächst zwei Samples gleichzeitig hinzu. Dies ergibt effektiv die Hälfte der Abtastfrequenz des letzten Systems, während die höchsten Frequenzen herausgefiltert werden, wodurch ein Bandpassfilter um 2, 2 kHz entsteht.

Das nächste System macht dasselbe, aber anstatt 2 Samples gleichzeitig hinzuzufügen, fügt es 10 hinzu, was zu einem Bandpassfilter für 440 Hz wird.

Die letzte Analyse summiert die ersten 30 Samples und vergleicht sie mit der Summe der letzten 30. Dies wird effektiv zu einem Bandpassfilter für 150 Hz.

Schritt 4: Kleben Sie alles zusammen

Alles zusammenkleben
Alles zusammenkleben

Es ist wichtig, das Arduino von der Platine getrennt zu halten, da es bei Kontakt zu einem Kurzschluss führen kann. Dies kann durch Zusammenkleben mit Isolierband dazwischen erfolgen. Es ist auch von Vorteil, die Batterie auf einem Flügel der Fliege und den Mikrocontroller auf dem anderen zum Ausgleich zu haben. Sie sollten versuchen, die Mitte der Fliege ziemlich leer zu halten, da hier das Nackenband befestigt wird, mit Ausnahme des Mikrofons, das einige Millimeter herausragen und in Richtung Ihrer Speiseröhre zeigen sollte das wird jeder am deutlichsten sehen.

Denken Sie daran: Auf der Rückseite der Fliege ist Funktionalität viel wichtiger als Ästhetik, da dies niemand sieht.

Empfohlen: