Hallo Cassio,
Ich hoffe, du bist auch gut ins neue Jahr gekommen!
Sorry das ich nicht gleich Antworte auf deine Posting,
musste leider mal wieder Auswärts arbeiten.
So nun zum Thema
"Auflösung".
Hatte leide nicht viel machen können, aber
das was ich versucht hatte ist schon Faszinierend, (für mich zumindest)
Hier die BASCOM Code:
CodeBox BascomAVR
$regfile = "m2560def.dat"
$crystal = 16000000
$hwstack = 60
$swstack = 60
$framesize = 90
$lib "i2c.lib" ' we do not use software emulated I2C but the TWI
Config Scl = PortD.0 ' we need to provide the SCL pin name
Config Sda = PortD.1 ' we need to provide the SDA pin name
Config Twi = 400000
I2cinit
Const ISSI = &HE8 'Chip-Adresse
Const CR = &HFD 'Command-Register
Const FR = &H0B 'Function-Register
Const Frame1 = &H00 'Frame 1
Dim Sb(148) as byte 'SendByte-Array (18x3=54 + 3 = 57) + Einzelne PWM Register
Dim I as byte 'Indexzähler
Dim PWM as byte
Dim b as bit
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Gosub Matrix_Init
Gosub Loeschen
wait 1
PWM = &HFF
Gosub Pwm_
'set b
Do
' if b = 1 then
' PWM = PWM + 5
' if pwm = 255 then toggle b
' Gosub Pwm_
' end if
' if b = 0 then
' PWM = PWM - 5
' if pwm = 5 then toggle b
' Gosub Pwm_
' end if
Gosub Bild1
Waitms 100
Gosub Bild2
Waitms 100
Gosub Bild3
Waitms 100
Gosub Bild4
Waitms 100
Loop
End
'************************** Ship Init.****************************
Matrix_Init:
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0A 'Shutdown-Register
Sb(2) = &H00 'Shutdown Mode
I2csend ISSI , SB , 2
waitms 10
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0A 'Shutdown-Register
Sb(2) = &H01 'Normal Operation
I2csend ISSI , SB , 2
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H01 'Picture Display Register
Sb(2) = &H00 'Picture Frame 1 selected
I2csend ISSI , SB , 2
'**************************************************************
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H06 'Audio Synch.-Register
Sb(2) = &H01
I2csend ISSI , SB , 2
'Disabel &H00 reine Bild Modus oder Enabel &H01 um Audio Eingang (Audio Pin.) mit zu nutzen. (*)
' (*) Hatte man zuvor ein Muster in einen von 8 Ausgewählten wie hier ( Frame 1 Register ) übertragen,
' so wird es für die Audio-Visualisierung genutzt.
'**************************************************************
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H00 'Configuration-Register
Sb(2) = &B000_00_000
I2csend ISSI , SB , 2
'Die Konfiguration Registr setzt Betriebszustäne des IS31FL3731
'Sb(2) = &B000_00_000
' |,| |,|,|___> Picture Modus & Start: mit Auswahl von Frame 1 =000 bis Frame 8 =111
' |,|_______> Automatische Einzelbildwiedergabe Modus, Enabel (1) / Disabel ( 0 )
' |________> Audio -Wiedergabe-Modus, Enabel (1) / Disabel ( 0 )
'**************************************************************
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0B 'AGC Control Register
Sb(2) = &B000_01_010
I2csend ISSI , SB , 4
' Sb(2) =&B000_00_000
' |,| |,|,|__ > Audio-Signalverstärkung ( AGC ) einstellbar von 0dB ( 000 ) bis 21dB ( 111 )
' |,|_______> Audio-Signalverstärkung ( AGC ) Enabel (1) / Disabel ( 0 )
' |________ > Audio- Modus (AGCM) Fast Modus (1) / Slow Modus( 0 )
'**************************************************************
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0C 'Audio-ADC Rate Register
Sb(2) = &B1111_1111 'Das Audio-ADC Abtastrate des Eingangssignals
I2csend ISSI , SB , 2 'in Audio Frame-Play-Modus
Return
PWM_:
'********** PWM Einstellung für einzelne LED's 24h bis B3h*************
Sb(1) = CR
Sb(2) = Frame1
I2csend ISSI , SB , 2
for i = 1 to 146
if i = 1 Then
Sb(i) = &H24 'PWM Register Matrix A
else
Sb(i) = PWM
end if
next i
I2csend ISSI , SB , i
return
'********************* LED-Register Frame 1 *********************
Bild1:
Sb(1) = CR
Sb(2) = Frame1
I2csend ISSI , SB , 2
Sb(1) = &H00 'LED-Register
Sb(2) = &H00 'DATA C1-1 bis C1-8
Sb(3) = &H00 'DATA C1-9 bis C1-16
Sb(4) = &H80 'DATA C2-1 bis C2-8
Sb(5) = &H00 'DATA C2-9 bis C2-16
Sb(6) = &H83 'DATA C3-1 bis C3-8
Sb(7) = &H41 'DATA C3-9 bis C3-16
Sb(8) = &H8F 'DATA C4-1 bis C4-8
Sb(9) = &HC3 'DATA C4-9 bis C4-16
Sb(10) = &HCF 'DATA C5-1 bis C5-8
Sb(11) = &HE7 'DATA C5-9 bis C5-16
Sb(12) = &HDF 'DATA C6-1 bis C6-8
Sb(13) = &HF7 'DATA C6-9 bis C6-16
Sb(14) = &HFF 'DATA C7-1 bis C7-8
Sb(15) = &HFF 'DATA C7-9 bis C7-16
Sb(16) = &HFF 'DATA C8-1 bis C8-8
Sb(17) = &HFF 'DATA C8-9 bis C8-16
Sb(18) = &HFF 'DATA C9-1 bis C9-8
Sb(19) = &HFF 'DATA C9-9 bis C9-16
I2csend ISSI , SB , 19
Return
Bild2:
Sb(1) = CR
Sb(2) = Frame1 'LED-Register
I2csend ISSI , SB , 2
Sb(1) = &H00
Sb(2) = &H00 'DATA C1-1 bis C1-8
Sb(3) = &H00 'DATA C1-9 bis C1-16
Sb(4) = &H40 'DATA C2-1 bis C2-8
Sb(5) = &H04 'DATA C2-9 bis C2-16
Sb(6) = &H40 'DATA C3-1 bis C3-8
Sb(7) = &H45 'DATA C3-9 bis C3-16
Sb(8) = &HE2 'DATA C4-1 bis C4-8
Sb(9) = &HCF 'DATA C4-9 bis C4-16
Sb(10) = &HE3 'DATA C5-1 bis C5-8
Sb(11) = &HEF 'DATA C5-9 bis C5-16
Sb(12) = &HF7 'DATA C6-1 bis C6-8
Sb(13) = &HFF 'DATA C6-9 bis C6-16
Sb(14) = &HF7 'DATA C7-1 bis C7-8
Sb(15) = &HFF 'DATA C7-9 bis C7-16
Sb(16) = &HFF 'DATA C8-1 bis C8-8
Sb(17) = &HFF 'DATA C8-9 bis C8-16
Sb(18) = &HFF 'DATA C9-1 bis C9-8
Sb(19) = &HFF 'DATA C9-9 bis C9-16
I2csend ISSI , SB , 19
Return
Bild3:
Sb(1) = CR
Sb(2) = Frame1 'LED-Register
I2csend ISSI , SB , 2
Sb(1) = &H00
Sb(2) = &H00 'DATA C1-1 bis C1-8
Sb(3) = &H00 'DATA C1-9 bis C1-16
Sb(4) = &H80 'DATA C2-1 bis C2-8
Sb(5) = &H00 'DATA C2-9 bis C2-16
Sb(6) = &H81 'DATA C3-1 bis C3-8
Sb(7) = &H00 'DATA C3-9 bis C3-16
Sb(8) = &HCB 'DATA C4-1 bis C4-8
Sb(9) = &H9A 'DATA C4-9 bis C4-16
Sb(10) = &HEF 'DATA C5-1 bis C5-8
Sb(11) = &HFA 'DATA C5-9 bis C5-16
Sb(12) = &HFF 'DATA C6-1 bis C6-8
Sb(13) = &HFE 'DATA C6-9 bis C6-16
Sb(14) = &HFF 'DATA C7-1 bis C7-8
Sb(15) = &HFE 'DATA C7-9 bis C7-16
Sb(16) = &HFF 'DATA C8-1 bis C8-8
Sb(17) = &HFF 'DATA C8-9 bis C8-16
Sb(18) = &HFF 'DATA C9-1 bis C9-8
Sb(19) = &HFF 'DATA C9-9 bis C9-16
I2csend ISSI , SB , 19
Return
Bild4:
Sb(1) = CR
Sb(2) = Frame1 'LED-Register
I2csend ISSI , SB , 2
Sb(1) = &H00
Sb(2) = &H00 'DATA C1-1 bis C1-8
Sb(3) = &H00 'DATA C1-9 bis C1-16
Sb(4) = &H00 'DATA C2-1 bis C2-8
Sb(5) = &H00 'DATA C2-9 bis C2-16
Sb(6) = &H00 'DATA C3-1 bis C3-8
Sb(7) = &H20 'DATA C3-9 bis C3-16
Sb(8) = &H40 'DATA C4-1 bis C4-8
Sb(9) = &H39 'DATA C4-9 bis C4-16
Sb(10) = &H64 'DATA C5-1 bis C5-8
Sb(11) = &H79 'DATA C5-9 bis C5-16
Sb(12) = &H7E 'DATA C6-1 bis C6-8
Sb(13) = &HFF 'DATA C6-9 bis C6-16
Sb(14) = &HFF 'DATA C7-1 bis C7-8
Sb(15) = &HFF 'DATA C7-9 bis C7-16
Sb(16) = &HFF 'DATA C8-1 bis C8-8
Sb(17) = &HFF 'DATA C8-9 bis C8-16
Sb(18) = &HFF 'DATA C9-1 bis C9-8
Sb(19) = &HFF 'DATA C9-9 bis C9-16
I2csend ISSI , SB , 19
Return
Loeschen:
Sb(1) = CR
Sb(2) = Frame1
I2csend ISSI , SB , 2
Sb(1) = &H00 'LED-Register
Sb(2) = &H00 'DATA C1-1 bis C1-8
Sb(3) = &H00 'DATA C1-9 bis C1-16
Sb(4) = &H00 'DATA C2-1 bis C2-8
Sb(5) = &H00 'DATA C2-9 bis C2-16
Sb(6) = &H00 'DATA C3-1 bis C3-8
Sb(7) = &H00 'DATA C3-9 bis C3-16
Sb(8) = &H00 'DATA C4-1 bis C4-8
Sb(9) = &H00 'DATA C4-9 bis C4-16
Sb(10) = &H00 'DATA C5-1 bis C5-8
Sb(11) = &H00 'DATA C5-9 bis C5-16
Sb(12) = &H00 'DATA C6-1 bis C6-8
Sb(13) = &H00 'DATA C6-9 bis C6-16
Sb(14) = &H00 'DATA C7-1 bis C7-8
Sb(15) = &H00 'DATA C7-9 bis C7-16
Sb(16) = &H00 'DATA C8-1 bis C8-8
Sb(17) = &H00 'DATA C8-9 bis C8-16
Sb(18) = &H00 'DATA C9-1 bis C9-8
Sb(19) = &H00 'DATA C9-9 bis C9-16
I2csend ISSI , SB , 19
Return
Das beschreiben vom IS31Fl3731:
CodeBox BascomAVR
'#########################################
Matrix_Init:
Sb(1) = CR
Sb(2) = FR
Sb(3) = &H0A 'Shutdown-Register
Sb(4) = &H00 'Soft-Shutdown
I2csend ISSI , SB , 4
Wenn ich so zu Initialisieren versuchte, hatte ich keine Reaktion.
Also schaute ich mir das, was der Dirk vorgeschlagen hatte.
So geht es:
CodeBox BascomAVR
Matrix_Init:
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0A 'Shutdown-Register
Sb(2) = &H00 'Shutdown Mode
I2csend ISSI , SB , 2
waitms 10
Sb(1) = CR
Sb(2) = FR
I2csend ISSI , SB , 2
Sb(1) = &H0A 'Shutdown-Register
Sb(2) = &H01 'Normal Operation
I2csend ISSI , SB , 2
Da du ja so scharf bist was Audio betrifft, habe ich
so ein kleine Demonstration als Video
Ich habe so zusagen, Spektrum Analyzer mit festen vier Bildern nachgebildet.
In der Do....Loop schleife werden einzelne Bilder in das Frame1 übertrage.
Dazu muss Audio Modus Aktivieren werden im Register H06.
Und so sieht es aus.
Ich habe die Bilder mit Hilfe meinen Excel Sheet erstellt.
Habe mir das bischen VBA Kenntnisse zunutze gemacht,
um Bilder, Buchstaben z.b Data: zu füllen
.
Falls jemand Interesse hat, unten die Datei.
Im großen und ganzen war das schon.
Mit einzelnen Register muss jeder selber Ausprobieren.
Gruß
RoTo