Stmívač

From Tučňák Wiki
Revision as of 21:02, 21 February 2017 by Ok1zia (talk | contribs) (→‎IR protokol)
Jump to navigation Jump to 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.

Použité dálkové ovládání
Použité dálkové ovládání

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
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. 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