Guten Tag zusammen Ich wollte nachfragen, ob es etwas demux equivaltentes gibt welches anstelle der Adressleitungen eine Taktleitung besitzt um die Ausgänge umzuschalten. Denn ich habe ein Signal,welches ich in einem Gewissen Takt an andere Ausgänge weiterleiten möchte.(Ausgang eines MSGEQ7). Mein Problem ist das ich gerne die Verschiedenen Frequenzen an 7 Anzeigen weiter geben würde und dafür mit einem 1khz takt die Frequenz+ die Ausgänge umswitchen. Oder kennt ihr evtl einen IC welcher die gleiche Funktion besitzt jedoch am Ausgang keinen mux hat sondern die 7 Frequenzen einzeln rausführt?
Beitrag #4997286 wurde von einem Moderator gelöscht.
Habe ich mir auch schon gedacht einen Zähler zu nehmen doch der Aufwand mit all diesen IC's wäre so gross das ein ATTiny wieder näherrückt
Dominic K. schrieb: > Habe ich mir auch schon gedacht einen Zähler zu nehmen doch der Aufwand > mit all diesen IC's wäre so gross das ein ATTiny wieder näherrückt Das ist das Dilemma an der Sache. Allerdings brauchst du den Mux ja eh', wenn du analoge Signale durchschalten willst.
hingegen würde der Taktgeber durch den uC wegfallen. Denn sauber muss der Takt ja nicht sein den wenn ich mit 1khz umschalte dan sieht man das nicht denke ich oder ich könnte es natürlich auch höher ansetzen weiss jedoch nicht wie lange die IC's dies mitmachen. Nur weiss ich nicht wie man einen ATTIny beschaltet, also wie man ihn programmiert. einen stecker werde ich nicht montieren aus platz gründen also tendiere ich dazu mit prüfspitzen zu programmieren aber Jtag beherscht der ATTiny 9 zb nicht oder? Habe bisher immer mit den ATMEGA's gearbeitet.
Wie wäre es mit etwas mehr "Digitalität"? Den Ausgang des MSGEQ7 in den ADC eines Mikrocontrollers füttern. Der Mikrocontroller taktet den MSGEQ7, misst mit seinem ADC die Peaks und steuert sieben digitale Anzeigen. Ein IC für drei Funktionen, statt ein IC-Grab. Für den Fall, dass die Anzeigen analog angesteuert werden sollen (was für Anzeigen sind das?), könnte man sich einen Mikrocontroller suchen, der 7 PWM-Ausgänge hat oder macht entsprechend Software-PWM.
Es handelt sich um eine 8 LED anzeige welche bei den Werten zwischen 0 und 5v immer mehr LED's leuchten. Also müsste ich sowie frequenz wie auch Spannung wieder rekonstruiren was eher schwer ist, habe auch schon über den ADC nachgedacht aber ja analogtechnik zieht einem oft einen strich durch die Rechnung
:
Bearbeitet durch User
Die SChaltung ist ein Grundschema ohne die Funktion fürs umschalten, denn ich möchte diese noch aufbauen um sie zu testen.
Dominic K. schrieb: > Es handelt sich um eine 8 LED anzeige welche bei den Werten > zwischen 0 > und 5v immer mehr LED's leuchten. Also müsste ich sowie frequenz wie > auch Spannung wieder rekonstruiren Wieso das denn? Die Frequenz hast du, die ergibt sich aus dem Schritt bei dem du bist. Bei nur 8 LEDs kannst du 8 Mikrocontroller Ausgänge nehmen. An jedem Ausgang hängt eine LED. Jeder Ausgang bekommt in Software einen Schwellwert. Übersteigt der für den aktuellen Takt ADC-Wert den Schwellwert wird die LED eingeschaltet. Das Ganze klingt übrigens so, als ob eine 7x8 LED-Matrix sinnvoller wäre. 7 Spalten, jede Spalte repräsentiert eine Frequenz. 8 (oder 7) Zeilen pro Frequenz um den Peak darzustellen. Die LED-Matrix würde ich mit dem gleichen Takt wie für den MSGEQ7 multiplexen.
eine 7x8 matrix ist geplant daher der DEMUX dieser soll zwischen den 7 spalten wechseln. und bei 7*8 leds wären wir bei 56 ausgängen also müsste ich fast einen atmega2560 nehmen und naja wenns kleiner geht dan lieber so. Habe zuerst einfach nur 1 gezeichnet um es so aufbauen zu können. Denn die taster werden auch ersetzt.
Wie sieht das eigentlich aus mit den ATTinies. Alle attiny 4-10 gilten als end of life. Was sind den die neuen alternativen? Und kann ich überhaupt einen davon mit meinem DEBUGER programmieren? Ich besitze den folgenden:http://ch.farnell.com/atmel/atatmel-ice-basic/debugger-atmel-arm-avr-basic-kit/dp/2407172?mckv=LsZ9k1pm_dc|pcrid|90940810960|&gross_price=true&CATCI=pla-18283950120&CAAGID=18061213600&CMP=KNC-GCH-GEN-SHOPPING-German&CAGPSPN=pla&gclid=CPar-avf09MCFQbjGwodTHYMQg&DM_PersistentCookieCreated=true&CAWELAID=120185710000069013
Dominic K. schrieb: > und bei 7*8 leds wären wir bei 56 ausgängen 7+8 = 15 Ausgänge. Die ganze Funktion schreit doch nach einer LED-Matrix. Ich habe gerade keine Lust mir die Details für einen Atmega rauszusuchen, daher Pseudocode für das komplette Programm. Am Timing wird man arbeiten müssen, sonst könnte es flackern.
1 | while(true) { |
2 | reset_pin(high); |
3 | strobe_pin(high); |
4 | wait(100ns); |
5 | reset_pin(low); |
6 | |
7 | for(freq_column = 0; freq_column < 7; freq_column++) { |
8 | strobe_pin(low); |
9 | start_time = current_time(); |
10 | wait(38us); |
11 | peak = read_adc(); |
12 | strobe_pin(high); |
13 | |
14 | // select the column of the LED matrix per the current frequency |
15 | column_pinmask = 1 << freq_column; |
16 | column_port(column_pinmask); |
17 | |
18 | // Determine if LED should be on according to peak value |
19 | // and multiplex LEDs |
20 | while(current_time() < (start_time + 72us + X)) { |
21 | // 72us is not enough, |
22 | // matrix will likely be dark |
23 | // it is just the DS min |
24 | // time between strobes |
25 | static thresholds[0] = TODO - determine thresholds |
26 | for(row = 0; row < 8; row++) { |
27 | led_pinmask = (peak > thresholds[row]) << row; |
28 | row_port(led_pinmask); |
29 | wait(tbd); |
30 | } |
31 | } |
32 | row_port(0); |
33 | } |
34 | } |
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.