Treppenblink

Aus LaborWiki
Wechseln zu: Navigation, Suche
           
Treppenblink

Release status: stable [box doku]

Treppenblink.jpg
Description
Author(s)  asklepios, Pl4nkton, Mati
Last Version  1.0
Platform  AVR (ATmega8)
License  Source: GPL
Download  SVN, Trac




Das Treppenblink erleuchtet den Weg in den Keller in allen möglichen (RGB) Farben. Die verschiedenen Animationen lassen sich entweder per Schalter direkt am Treppenaufgang durchschalten oder per Weblabctrl2 klicken. Die LED Module sind in einem offenen Kabelkanal direkt an der Decke angebracht. Sie lassen sich per SPI ansteuern, sodass man jede LED einzeln auf eine bestimmte Farbe setzen kann.

Dieses Projekt nutzt als erstes Femtoos - ein sehr kleines multithreading Betriebssystem für AVR Microcontroller.

Weil noch ein paar Pinne frei waren und weil's geht™, hat das Ding auch gleich einen Temperatursensor verpasst bekommen. Die Temperatur kann via Canbus abgefragt werden. Eigentlich soll dann doch nur die Raumtemperatur für die Steuerung der Heizung erfasst werden.

Technische Dokumentation

CAN Adresse: 0x25

Pinbelegung am ATMega8

  • PB0 - Taster1
  • PB1 - Taster2
  • PD6 - DATA LED String
  • PD7 - CLK LED String
  • PC1 - ADC Bewegungssensor
  • PC2 - ADC Bewegungssensor
  • PD1 - R LED Taster
  • PD3 - G LED Taster
  • PD4 - B LED Taster
  • PC6 - Reset
  • PB2 - CS
  • PB3 - MOSI
  • PB4 - MISO
  • PB5 - SCK
  • PC5 - SCL DS1631 temp sensor - need pullup 4,7k - addr 0x9e
  • PC4 - SDA DS1631 temp sensor - need pullup

Bauteile

  • mcp2515
  • mcp2551
  • atmega8
  • C 100n, 470µ, 22p
  • R 33k (mcp2551), 10k (cs pullup), 2 * 4,7k pullup i2c
  • 5V 5A Schaltnetzteil
  • RGB LED
  • Taster
  • ds 1631

TODO

  • Bewegungsmelder
  • Andere Taster + leds

Alternatives Layout

Da das Layout und Board nicht frei verfügbar ist, habe ich hier selber ein kleines Layout entworfen. Die Spannung wird durchgeschliffen, OUTPUT und INPUT (der nächsten Platine) sind miteinander verbunden. Die einzelnen Boards bilden eine Kette. Kommuniziert wird über einen seriellen Bus (USART/SPI). (Die Daten werden empfangen, verändert und an das nächste Board weitergeschickt.) Die Kommunikation verläuft in nur eine Richtung.

Treppenblink sch.png
Logischer Aufbau des Projektes:

Treppenblink logic.png
f(x) ist eine Funktion, welche die empfangenen Werte verändert, um z.B. eine Sinusförmige Welle anzuzeigen.

Firmware des AtTiny
Um nicht jeden AtTiny mit einer anderen Firmware flashen zu müssen werden 5 I/O Pins auf Eingang mit PullUps geschaltet und als binärer Kodierer verwendet. Mit Hilfe von 0 Ohm SMD Widerständen wird jedes Board mit einer anderen Nummer kodiert. Der AtTiny liesst beim starten den Port aus und weiß, welche Nummer er hat.

Mögliche AtTiny
ATTINY 2313-20 1,55€ [Internal 8Mhz RC,4 PWM channels, USI, USART, SOIC-20]

Bauteile
[ 1x High Power, 3 Color LED
3x BSS123 (N-channel FET)
3x Resistor
,
3x Resistor
3x SMD LED LRTB G6TG :: OSRAM 6-lead MultiLED, rot, true green, blau ]

ATTINY-2313-SO
100n C0805
10u C1206
Pinheader
Flachbandkabel
5x SMD 0Ohm R0805