Stmívač

From Tučňák Wiki
Jump to: navigation, search

V poslední době jsem si oblíbil mikrokontrolér ATTINY13A. Má 5xGPIO, ISP programování, ADC, interní oscilátor, minimální spotřebu a rozumnou cenu. Programové paměti není nadbytek, ale na malé konstrukce typu jeden vstup, jeden výstup a sofwarový sériový port pro ladění to stačí.

Jedna z mých prvních aplikací je PWM stmívač pro 12V LED pásky. Protože je probém sehnat rozumně vypadající krabičku, rozhodl jsem se řešit ovládání bezdrátově. Konkrétně přes dálkové ovládání k RGB LEDkám a IR čidlo VS1838. Proč si ale nekoupím hotové řešení? Protože idea je mít časem více nezávislých LED pásků a ovládat je jedním ovladačem.

Schéma zapojení

Schéma je stejné jako pro Větrák, hardware je navržen jako univerzální. Pro stmívač je potřeba udělat několik změn:

  • Není potřeba osazovat T2
  • T1 je nutné osadit vhodným typem podle výstupního proudu, viz Větrák
  • Neosazuje se DS18B20
Schéma stmívače

PCB

Dálkový ovladač

Použil jsem dálkové ovládání k RGB LEDkám s 24 tlačítky.

Error creating thumbnail: File missing

IR protokol

Čidlo VS1838 demoduluje IR signál, výstupem jsou obdélníky dlouhé cca 1ms. Logická nula znamená IR signál přítomen. Používá se kódování šířkou pulzů v log.1. Pro dekódování stačí měřit čas mezi sestupnými hranami.

Protokol dálkového ovladače

Rámec začíná start dlouhým start bitem pro nastavení AGC přijímače. Následuje pauza, pak čtveřice bytů. První je 0, druhý 0xff (255), třetí obsahuje kód klávesy a čtvrtý je XOR všech předchozích.

Není těžké dekódovat rámec z obrázku. Přeskočte start bit, pauzu po něm a sledujte dobu trvání log.1. Krátká=0, dlouhá=1, LSB vlevo:

00000000 = první byte 0
11111111 = druhý byte 0xff
10100000 = kód klávesy 0x05
01011111 = 0 XOR 0xff XOR 0x05 = 0xFA

Autorepeat není řešen opakovaným odesláním stejného kódu, ale pauza po start bitu je kratší a následuje nulový bit.

Kódy kláves

Pozice v tabulce odpovídá fotografii ovladače:

(šestnáctkově)
05 04 06 07
09 08 0A 0B
0D 0C 0E 0F
15 14 16 17
19 18 1A 1B
11 10 12 13

Ovládání

Jeden modul se ovládá vždy čtveřicí tlačítek v jedné řádce. Význam je vždy stejný jako v horní řádce:

  • Zesílit
  • Ztlumit
  • Vypnout
  • Zapnout

Všechny přechody jsou plynulé. Pro zesílení a ztlumení světla funguje autorepeat. Nastavená intenzita světla se pamatuje, tlačítke "zapnout" nabíhá intenzita do posledně nastavené. Po vypnutí se intenzita pamatuje v EEPROM.