Forum: Mikrocontroller und Digitale Elektronik LED Panel mit 9 RGB-LEDs ansteuern


von J. P. (jeypee)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich möchte gerne 4 Panels mit je 9 RGB-LEDs ansteuern.

Schaltplan siehe Anhang.

Das ganze ist soweit auch fertig gelötet und nu gehts ans programmieren 
des ATMEGA32.

Da ich sowas noch nie gemacht haben würde ich mich hier gerne etwas 
rantasten.
Das Tutorial hab ich schon mal etwas durchgelesen, aber benötige wohl 
für den anfang was anderes.

Und zwar möchte ich als erstes das ganze einfach mal zum leuchten 
bringen.
Sprich einfach z.B. PIN 26, 33 oder 37 mit Strom versorgen damit es rot 
grün oder blau leuchtet.

Evlt. gibts ja schon ein kleines Programm nach dem ich mich richten kann 
- aber eure codeschnipsel sind gleich immer so gross ;)

Habe als Programme AVR Studio 4.17 und AVR Studio 2. irgendwas daheim - 
von der "Programmer" Seite runter geladen... sind scheinbar irgendwie 
verwandt (Der Marienkäfer beim  starten).

Würde mich freuen wenn Ihr mich bei meinem Projekt unterstützt und 
begleiten könntet.

Momentan siehts so hier aus:
http://s12.directupload.net/file/d/1920/9p3835p4_jpg.htm

Danke.

Gruß Jeypee

von Klaus2 (Gast)


Lesenswert?

Willst du uns veräppeln? Du hast noch nix programmiert, willst aber mit 
einem AM32 gleich 32 RGB LEDs gescheit ansteuern können? Pffff...

Wie wäre es denn, wenn du mal zunächst die PWM des ATMEGA anschmeist, 
dann mal Multiplexing mit ein paar LEDs lernst, dann Soft PWM und dann 
langsam mal rüber zu den RGBs? Zumal ich nicht sicher bin, ob man mit 
dem Aufbau "gescheit" 36 RGB LEDs ansteuern kann - denn das sind 
immerhin 36x3 PWM Werte.

Klaus.

von Klaus2 (Gast)


Lesenswert?

...ok, nach langem kabelverfolgen auf dem foto sind alle 9 LEDs komplett 
parallel? Ohne Widerstände? :) Oh oh...macht es aber natürlich 
einfacher, 12 PWM Kanäle bekommt man in SW locker hin.

Klaus.

von J. P. (jeypee)


Lesenswert?

Also veräppeln will ich euch definitiv nicht.

Also C bzw. C++ hab ich schonmal früher was mit gemacht.
Außerdem kann ich mit javascript, html, PHP und Perl relativ gut 
umgehen.


Bin lernfähig !
plz input !

Außerdem möchte ich ja zunächst nur jeweils ein Panel ansteuern - also 
nur PIN soundso AN und wieder aus. Ist das so schwer ?

Es gibt pro Panel nur einen PIN für R,G und B (3 Leitungen/PINS) wo es 
am ATMEGA angeschlossen ist. Also meiner Rechnung nach nur 4 x 3 Werte !

-----------------^^kam zwischenzeitlich noch ein Beitrag ggf. 
ignorieren^^---------

Tatsächlich sind die teile ohne Widerstände, die befinden sich auf der 
Platine.
Auf dem Foto findet sich auch "nur" eine vorläufige Teststellung.
Sofern alles klappt wird später natürlich jede LED einzeln gesteuert, 
hierfür fehlt mir aber die Grundlage mit der ich eben jetzt beginnen 
möchte.
Ich möchte mich hier einfach langsam rantasten.

von Phil S. (zippi)


Lesenswert?

J. P. schrieb:

> Habe als Programme AVR Studio 4.17 und AVR Studio 2. irgendwas daheim -
> von der "Programmer" Seite runter geladen... sind scheinbar irgendwie
> verwandt (Der Marienkäfer beim  starten).

AVR Studio2. ???
Du meinst bestimmt AVR32 Stduio 2.0...2.2

Wenn ja, dann kannst du das wieder löschen ist für die 32bit avrs.

Aber du solltest dir noch Winavr installieren.

Zum Programmieren, hast du schon ein ISP programmer?

gruß

von J. P. (jeypee)


Lesenswert?

Phil S. schrieb:
> Du meinst bestimmt AVR32 Stduio 2.0...2.2

Ja genau - war vorhin noch auf Arbeit wo ich das andere habe.

> Wenn ja, dann kannst du das wieder löschen ist für die 32bit avrs.

Soweit mir bekannt hab ich einen "ATmega32"
Würde mich hier gerne vorerst auf ein Programm beschränken.

> Aber du solltest dir noch Winavr installieren.

Hab ich sogar schon runter geladen  - nur noch nicht installiert.

> Zum Programmieren, hast du schon ein ISP programmer?

Das müsste dann das kleine blaue Kästchen sein welches Du auf dem 
verlinkten Foto links oben noch so halb siehst - JA

-----

Welches Programm soll ich dann von den dreien am besten nehmen ?

von Phil S. (zippi)


Lesenswert?

J. P. schrieb:
> Phil S. schrieb:
>> Du meinst bestimmt AVR32 Stduio 2.0...2.2
>
> Ja genau - war vorhin noch auf Arbeit wo ich das andere habe.
>
>> Wenn ja, dann kannst du das wieder löschen ist für die 32bit avrs.
>
> Soweit mir bekannt hab ich einen "ATmega32"
> Würde mich hier gerne vorerst auf ein Programm beschränken.

ATmega32 ist ein 8bit Prozessor. Die 32 stehen für den flash: 32kbyte.
Deswegen kannst du mit AVR32 Studio nichts anfangen.

>> Aber du solltest dir noch Winavr installieren.
>
> Hab ich sogar schon runter geladen  - nur noch nicht installiert.

Das brauchst du für AVR Studio 4.17.

>> Zum Programmieren, hast du schon ein ISP programmer?
>
> Das müsste dann das kleine blaue Kästchen sein welches Du auf dem
> verlinkten Foto links oben noch so halb siehst - JA

OK

> Welches Programm soll ich dann von den dreien am besten nehmen ?

Einfach nur AVR Studio 4.17 starten wenn du (es+winavr) installiert 
hast.

Dann kannst du neues Projekt machen.

von J. P. (jeypee)


Lesenswert?

So, habe nun beides installiert.

AVR gestartet und Projekt mit Simulator für AtMega32 angelegt.

Die ersten Zeilen habe ich mal aus dem Tutorial übernommen:
1
.include "m32def.inc"         ; Definitionsdatei für den Prozessortyp einbinden
2
 
3
         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der Konstanten 0xFF
4
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB ausgeben
5
 
6
         ldi r16, 0b11111100 ; 0b11111100 in r16 laden
7
         out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben
8
 
9
ende:    rjmp ende

von J. P. (jeypee)


Lesenswert?

Wie mach ich nu weiter ?

von J. P. (jeypee)


Lesenswert?

Also ich hab wie oben schon erwähnt AVR Studio 4.17 installiert und auch 
das erste Programm geschrieben.

Leider wird nirgendwo beschrieben wie man es nun von hier in den 
ATmega32 bekommt.

Ich habs mal mit "Display the Connect Dialog probiert und dort meinen 
"AVRISP mkII" eingegeben. Aber nach kurzer Zeit kommt der Dialog wieder.

In der obersten Leiste steht dann "Connect failed - select AVR 
Programmer".

Ich habe aber den "AVRISP mkII" wie angegeben und wenn ich meiner 
Teststellung 5V anlege leuchtet der auch grün. Ohne 5V leuchtet er rot.

Was mache ich falsch ?

Programm schaut mom. so aus:
1
/* Alle Zeichen zwischen Schrägstrich-Stern 
2
   und Stern-Schrägstrich sind lediglich Kommentare */
3
 
4
// Zeilenkommentare sind ebenfalls möglich
5
// alle auf die beiden Schrägstriche folgenden
6
// Zeichen einer Zeile sind Kommentar
7
 
8
#include <avr/io.h>          // (1)
9
#include <stdint.h>
10
11
int main (void) {            // (2)
12
 
13
   DDRA  = 0xff; 
14
   DDRB  = 0xff;
15
   
16
   //PORTA = 0x03;             // (4)
17
18
   PORTA = 0b00000100;    // Sollte PA3 Einschalten
19
  //   PORTC = 0b1110000
20
21
   while(1) {                // (5a)
22
     /* "leere" Schleife*/  // (5b)
23
   }                         // (5c)
24
 
25
   /* wird nie erreicht */
26
   return 0;                 // (6)
27
}

Programm läuft mit "Build & run" auch ohne fehler durch !

von J. P. (jeypee)


Lesenswert?

Wieso kann man eigentlich seinen Beitrag nicht mehr ändern ???

Also habe mal gegoogelt - es könnte evtl. am Windows 7 x64 liegen.
Scheinbar hat auch der Kollege im Tread unter mir das selbe Problem.

Beitrag "USBProg unter Windows 7"
Beitrag "Programmiergerät und AVR Studio"

Gibt es hier schon eine andere Lösung als ein VPC ?

von J. P. (jeypee)


Lesenswert?

So, habe jetzt AVR Studio auf nem XP - Rechner installiert und bekomme 
auch die Verbindung hin.

Leider kann ich mein Programm aber nicht in den Flash spielen.

Bei "Verify" bekomme ich die Fehlermeldung:

WARNING: FLASH byte address 0x0000 is 0x00 (should be 0x0C).. FAILED!

Habe die ISP Frequency wie empfohlen auf 1/4 (1 Mhz) eingestellt.
The ISP frequency must be less than 1/4 of the target.

Ansonsten kann ich super alles auslesen und verifizieren, nur eben bei 
Prgram und Verify unter Flash geht leider nix.

Bin auch nicht im Debug-Mode, also der > Pfeil ist grün Stopptaste 
gedrückt.

Woran kanns liegen ?

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
Noch kein Account? Hier anmelden.