Lichter Orgel bzw Bass Steuerung

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
hansebaenger
Junior Member
**

Beiträge: 8
Registriert seit: Mar 2016
Bewertung: 0
#1
27.03.2016, 15:27

Hey Leute ich bin neu hier und habe noch nicht viel Erfahrung. Hab aber vor ca einem halben Jahr ein kleines Projekt angefangen. Und die ganze Funktionsweise schon im Kopf es scheitert nur an ein paar programier technischen Umsetzungen.

Folgendes Projekt:

Im meinem Auto sind im Fahrer Und Beifahrer Fußraum jeweils ein rgb Led stripe verbaut. An Fahrer und Beifahrer Türe auch jeweils einer.

In der Mittelkonsole sind verbaut:

1x Poti
1xschalter mit 3 Stellungen
1x Taster

1x Uno
1x experimentierplatine mit Schaltung.

Vom Autoradio wird der 2te cinch subwoofer Ausgang benutzt und am analogen Eingang des arduino angeschlossen.. Davor ist noch ein Verstärker mit einem Poti zum regeln geschalten.

Es funktioniert soweit auch alles. Momentanes Hauptproblem ist das sich der Ausgangspegel des Radios natürlich mit der Lautstärke ändert. Was für die Programmierung wiederum schlecht is. Das heißt sobald ich am Radio leiser mache blinken die stripes nicht mehr. Dann muss ich am Verstärker Poti wieder nachlegen und das bei jeder änderung.

Hat vielleicht jemand eine Idee einer andere Umsetzung?

Bin über jeden Vorschlag dankbar.

Gesendet von meinem SM-N915FY mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 728
Registriert seit: Apr 2014
Bewertung: 5
#2
27.03.2016, 17:49

Hi,

herzlich willkommen im Forum!

Also, ich habe folgendes verstanden: Das Audiosignal vom Subwooofer-Ausgang des Radios liegt an einem analogen Pin des Arduino an. Der Arduino verarbeitet das Signal und sobald im analogen Signal ein bestimmter Pegel überschritten wird, schaltest Du einen digitalen Pin des Arduinos und steuerst damit deine LED-Stripes an. Da analoge Signal verstärkst Du, bevor es in den Arduino geht ein wenig, damit Du ordentliche Pegel hast, oder?

Wenn das analoge Signal schwächer wird (bei leiserer Musik), reicht der Pegel nicht mehr und die LED's werden nicht geschaltet.

Habe ich das richtig verstanden?

Jetzt musst Du uns evtl noch ein paar Infos geben. Und zwar:

- Was tut der Schalter?
- Was tut der Taster?
- Was ist das für eine Experimentierplatine?

Eine mögliche Lösung könnte sein, die LED-Stripes über ein Darlington-Transistor-Array (z.B ULN2803) anzusteuern. Um aber prüfen zu können, ob das passt, wären ein paar Hintergrundinformationen hilfreich. Es wäre auch hilfreich, wenn Du Dein Programm dazu packen würdest.

Keine Sorge, wir sind hier alle keine Vollprofis sondern einfach Leute, mit Spaß an elektronischen Basteleien. Hier lacht also niemand! :-)

Viele Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
hansebaenger
Junior Member
**

Beiträge: 8
Registriert seit: Mar 2016
Bewertung: 0
#3
27.03.2016, 18:04

Danke für die Schnelle Antwort.

Der Schalter hat 3 Stellungen.

Oben: startet Programm fussraum bass
Mitte: stripes im fussraum und an den Türen gehen mit türkontakt an.
Unten: fussraum und Türen blinken zum Bass.

Der Taster soll mal als auf und zu Taster für die noch nicht vorhandene zentralverriegelung sein.

Das Poti soll zum Programm bzw farbauswahl dienen.

Gesendet von meinem SM-N915FY mit Tapatalk

Was würde das Transistor Array denn anders machen als die normale Transistor Schaltung?

Gesendet von meinem SM-N915FY mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 728
Registriert seit: Apr 2014
Bewertung: 5
#4
27.03.2016, 20:10

Da ich Deinen Schaltungsaufbau und Dein Programm nicht genau kenne, kann ich nur Vermutungen anstellen. Und meine Vermutung ist, dass das analoge Signal einen gewissen Pegel unterschreitet, den Du in Deinem Programm abfragst. Meine Idee war, mit dem Array deine Stripes direkt anzusteuern. Da die Eingänge des Arrays schon mit kleinen Spannungen komplett schalten und Du so ein klareres Signal am Strip hättest.

Wenn ich aber über meine Idee so nachdenke, dann ist das wohl eher keine gute Idee. Eigentlich musst Du wohl eher Dein Programm anpassen. Aber um Dir da helfen zu können, müsstest Du es hier mal posten.

Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
hansebaenger
Junior Member
**

Beiträge: 8
Registriert seit: Mar 2016
Bewertung: 0
#5
27.03.2016, 20:24

Danke. Gibt es kein Bauteil oder etwas das den analogen Pegel vom Radio immer auf den gleichen Pegel anhebt bzw verringert. Das ich immer gleichen eingangspegel am Eingang des arduinos hab? Bzw ein arduino Programm das die Frequenz liest und immer bei einem Signal von sagen wir mal 150 Hz die stripes schaltet.

Gesendet von meinem SM-N915FY mit Tapatalk

Programmierung kommt noch sobald ich am Rechner bin.

Gesendet von meinem SM-N915FY mit Tapatalk

Aber eigentlich momentan simples Programm. Mit analogRead wird der Eingang gelesen und wenn zu der Wert zw 250 und 300 liegt leuchtet blau zw 300 und 350 grün und zw 400 und 450 rot.

Gesendet von meinem SM-N915FY mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 728
Registriert seit: Apr 2014
Bewertung: 5
#6
27.03.2016, 20:59

Zitat:Danke. Gibt es kein Bauteil oder etwas das den analogen Pegel vom Radio immer auf den gleichen Pegel anhebt bzw verringert. Das ich immer gleichen eingangspegel am Eingang des arduinos hab? Bzw ein arduino Programm das die Frequenz liest und immer bei einem Signal von sagen wir mal 150 Hz die stripes schaltet.

Doch, sowas gibt es. Es gibt sogenannte Analoge Schalter in CMOS-Technik. Oder aber auch Analog-Digitalwandler (aber den benutzt Du im Arduino ja bereits). Es funktioniert bei Dir ja nur deshalb nicht, weil Dein analoges Signal schwächer wird und somit der Wert von analogRead() entsprechend niedriger wird.

Hmmm... So etwas wie ein selbst-regelnder Verstärker wäre cool... Egal, wie schwach (oder stark) das Eingangssignal ist, es wird immer auf das gleiche Level gehoben bzw gesenkt.... Da muss ich jetzt erstmal kurz überlegen.

Gruß
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
hansebaenger
Junior Member
**

Beiträge: 8
Registriert seit: Mar 2016
Bewertung: 0
#7
27.03.2016, 21:06

Ja Uni genau soetwas meine ich. Ein bekannter Elektroniker meinte in einem Gespräch mal das es etwas geben würde das sich kompressor nennt. Weiß nicht ob du damit was anfangen kannst.

Gesendet von meinem SM-N915FY mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 728
Registriert seit: Apr 2014
Bewertung: 5
#8
27.03.2016, 22:23

Ja das kenne ich. Der Baustein NE575 könnte das leisten. Der braucht allerdings eine recht umfangreiche externe Beschaltung und ist außerdem heute recht schwer zu beschaffen.

Aber ich hätte da eine andere Idee: Wie wäre es, wenn Du das analoge Signal abfragst und dabei feststellst, wie hoch die höchste Spannung ist das Ergebnis teilst Du durch 3. Und das Ergebnis dieser Rechnung ist dann die Schaltschwelle für die LED's.

Also zum Beispiel:

Das analoge Signal wird umgewandelt und der digitale Wert wäre 99. Die 99 teilst Du durch 3 und erhälst 33. 33 wäre die erste Schwelle, also zum Beispiel für die blaue Farbe. Die zweite Schwelle wäre dann 66 und für grün zuständig. Die dritte Schwelle dann 99 und für rot.

Bei der nächsten Messung sei der gemessene Wert 300. Du teilst wieder durch 3. Erster Bereich geht bis 100, zweiter Wert dann bis 200, dritter Wert dann bis 300. In jedem Programmdurchlauf stellst Du den Wert fest und teilst durch 3.

Soweit verstanden? Wenn ja, dann hast Du jetzt eine Lösung, die keine zusätzlichen Bauteile benötigt.

Grüße,
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
hansebaenger
Junior Member
**

Beiträge: 8
Registriert seit: Mar 2016
Bewertung: 0
#9
27.03.2016, 22:30

Ja aber ich denke so ist das doch Eigenschaften schon. Dann bleibt aber immer noch das Lautstärke Problem oder ich habe es falsch verstanden.

Gesendet von meinem SM-N915FY mit Tapatalk
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 728
Registriert seit: Apr 2014
Bewertung: 5
#10
27.03.2016, 22:52

Ich kenne dein Programm ja nicht. Aber ich glaube, dass du im Moment feste Werte abfragst.

Wenn du also stattdessen mit analogRead() einen Wert einliest, bekommst du einen Wert geliefert. Wenn du den nun durch 3 teilst (300 / 3). Dann hast du drei Schwellen.

0 bis 100 = blau
101 bis 200 = grün
201 bis 300 = rot

Neuer wert kommt: 180

0 bis 60 = blau
61 bis 120 = grün
121 bis 180 = rot

Ich gehe aktuell davon aus, dass du du innerhalb der Abfragen die LEDs an steuerst. Digital oder analog.

Daher sollte meine Idee klappen.

Vielleicht habe ich aber deine Vorgehensweise falsch verstanden. Dann wäre dein Quellcode hilfreich, damit ich verstehe, wie du das im Programm umgesetzt hast.

Gruß,
Uni

Gesendet von meinem SM-N910F mit Tapatalk
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste