- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 31

Thema: RGB-LEDs lassen sich nicht gezielt an- oder ausschalten

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.12.2005
    Ort
    Weimar
    Alter
    45
    Beiträge
    16

    RGB-LEDs lassen sich nicht gezielt an- oder ausschalten

    Hallo zusammen,

    das gehört zwar nicht so ganz in die Rubrik Roboter, aber auch hier kommen ein Mikrocontroller, viele bunte LEDs, ein Motor und mehr vor.

    Mein Problem ist, daß ich mit meinem Atmega8535 und zwischengeschalteten ULN2804A insgesamt neun Gruppen von jeweils 3x3 (parallelgeschalteten) RGB-LEDs und einen Gleichstrommotor steuern möchte, was aber nicht so recht klappt. Egal, ob ich den Taster drücke oder nicht, die LEDs leuchten immer, und der Motor läuft ebenfalls kontinuierlich.
    Das war von mir natürlich nicht vorgesehen.

    Der Atmel sitzt auf dem Evaluationsboard von Pollin (siehe Datenblatt unter http://www.pollin.de/shop/downloads/D810022B.PDF), das unser kompletter Elektronikkurs für dieses Semester bestellt hat.
    Urpsrünglich hatte ich ein eigenes Board zusammengelötet, nachdem dies aber nicht richtig funktionierte, habe ich das Pollin-Board ein wenig umgebaut. Auf Seite 8 des PDF-Dokuments ist der Schaltplan zu sehen.
    Außerdem habe ich diesem Beitrag einen vereinfachten Schaltplan meiner Anwendung angehängt. Kondensatoren, Widerstände u.a., die bereits in dem PDF aufgeführt sind, habe ich nicht noch einmal explizit angegeben.

    Entschuldigt bitte, daß die Verbindungen so kreuz und quer verlaufen, aber durch die Anschlüsse der Wannenstecker zu den jeweiligen Flachbandkabeln war das die beste Lösung.

    Hier ist der Bascom-Code:

    Code:
    $regfile = "m8535.dat"
    $crystal = 1000000
    $baud = 4800
    
    Config Porta.0 = Output
    Config Porta.1 = Output
    Config Porta.2 = Output
    Config Porta.3 = Output
    Config Porta.4 = Output
    Config Porta.5 = Output
    Config Porta.6 = Output
    Config Porta.7 = Output
    
    Config Portb.0 = Input
    Config Portb.1 = Output
    Config Portb.2 = Output
    Config Portb.3 = Output
    Config Portb.4 = Output
    Config Portb.5 = Output
    Config Portb.6 = Output
    Config Portb.7 = Output
    
    Config Portc.0 = Input
    Config Portc.1 = Output
    Config Portc.2 = Output
    Config Portc.3 = Output
    Config Portc.4 = Output
    Config Portc.5 = Output
    Config Portc.6 = Output
    Config Portc.7 = Output
    
    Config Portd.0 = Input
    Config Portd.1 = Input
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portd.4 = Output
    Config Portd.5 = Output
    Config Portd.6 = Output
    Config Portd.7 = Output
    
    Led1_r Alias Portb.3
    Led1_g Alias Portb.5
    Led1_b Alias Portb.4
    
    Led2_r Alias Portb.1
    Led2_g Alias Portb.2
    Led2_b Alias Porta.7
    
    Led3_r Alias Portc.7
    Led3_g Alias Porta.6
    Led3_b Alias Porta.5
    
    Led4_r Alias Porta.3
    Led4_g Alias Porta.4
    Led4_b Alias Portc.6
    
    Led5_r Alias Portc.4
    Led5_g Alias Portc.5
    Led5_b Alias Porta.2
    
    Led6_r Alias Porta.6
    Led6_g Alias Porta.1
    Led6_b Alias Portc.3
    
    Led7_r Alias Portc.2
    Led7_g Alias Portc.1
    Led7_b Alias Portb.7
    
    Led8_r Alias Portb.6
    Led8_g Alias Portd.6
    Led8_b Alias Portd.7
    
    Led9_r Alias Portd.5
    Led9_g Alias Portd.3
    Led9_b Alias Portd.4
    
    Motor Alias Portd.2
    
    Taster Alias Pind.0
    
    Frequenz Alias Pinb.0
    
    Amplitude Alias Pinc.0
    
    Do
    
      If Taster = 1 Then
    
        Led1_r = 1
        Led1_g = 1
        Led1_b = 1
    
        Led2_r = 1
        Led2_g = 1
        Led2_b = 1
    
        Led3_r = 1
        Led3_g = 1
        Led3_b = 1
    
        Led4_r = 1
        Led4_g = 1
        Led4_b = 1
    
        Led5_r = 1
        Led5_g = 1
        Led5_b = 1
    
        Led6_r = 1
        Led6_g = 1
        Led6_b = 1
    
        Led7_r = 1
        Led7_g = 1
        Led7_b = 1
    
        Led8_r = 1
        Led8_g = 1
        Led8_b = 1
    
        Led9_r = 1
        Led9_g = 1
        Led9_b = 1
    
        Motor = 1
    
      Else
    
        Led1_r = 0
        Led1_g = 0
        Led1_b = 0
    
        Led2_r = 0
        Led2_g = 0
        Led2_b = 0
    
        Led3_r = 0
        Led3_g = 0
        Led3_b = 0
    
        Led4_r = 0
        Led4_g = 0
        Led4_b = 0
    
        Led5_r = 0
        Led5_g = 0
        Led5_b = 0
    
        Led6_r = 0
        Led6_g = 0
        Led6_b = 0
    
        Led7_r = 0
        Led7_g = 0
        Led7_b = 0
    
        Led8_r = 0
        Led8_g = 0
        Led8_b = 0
    
        Led9_r = 0
        Led9_g = 0
        Led9_b = 0
    
        Motor = 0
    
      End If
    
    Loop
    
    End
    Die Funktionen "Frequenz" und "Amplitude" werden später für den Audioeingang (mit Mikrofon, Vorverstärker, Verstärkerschaltung mit Operationsverstärker und Schmitt-Trigger) verwendet. Damit sollen Muster und Farben der LEDs wie auch die Geschwindigkeit des Motors geregelt werden.
    Der Vandalismustaster wird dann zwischen verschiedenen Subprogrammen umschalten, so daß sich unterschiedliche Reaktionen auf Umgebungsgeräusche wählen lassen.

    Ich bin in Sachen Elektronik noch ein Anfänger, weswegen ich nicht weiß, wo der Fehler liegen könnte. Wer kann mir eventuell sagen, wo ich etwas falschgemacht habe? Jede Hilfe ist willkommen.

    Bis dann, tschüß,

    Nico
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken schaltplan_vereinfacht.jpg  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test